HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SOP_UVBrush.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: SOP Library (C++)
7  *
8  * COMMENTS: The UVBrush SOP, which works in conjunction with the
9  * UVBrush State and the GDT classes.
10  *
11  */
12 
13 #ifndef __SOP_UVBrush_h__
14 #define __SOP_UVBrush_h__
15 
16 #include "SOP_API.h"
17 #include <GU/GU_Brush.h>
18 
19 #include "SOP_GDT.h"
20 #include "SOP_BrushBase.h"
21 
22 class PRM_MenuEntry;
23 
24 enum {
25  // Group parameters
27 
29 
31 
32 #define SOP_UVBRUSH_NUM_DEFORM_PARMS (4)
39 
40 #define SOP_UVBRUSH_NUM_NIB_PARMS (18)
59 
60 #define SOP_UVBRUSH_NUM_SYM_PARMS (9)
70 
71 #define SOP_UVBRUSH_NUM_RAY_PARMS (11)
83 };
84 
86 {
87 public:
88  SOP_UVBrush(OP_Network *net, const char *name, OP_Operator *entry);
89  ~SOP_UVBrush() override;
90 
91  bool updateParmsFlags() override;
92 
93  static OP_Node *myConstructor(OP_Network *net,
94  const char *name,
95  OP_Operator *entry);
96 
97  static PRM_Template myTemplateList[];
98  static PRM_Template myObsoleteList[];
99 
100  void setAccumulateStencil(bool ) override
101  {
102  }
103  void setRayOrigin(const UT_Vector3 &orig, fpreal t) override
104  {
105  setFloat(SOP_UVBRUSH_RAY_HITPOS_IDX, 0, t, orig.x());
106  setFloat(SOP_UVBRUSH_RAY_HITPOS_IDX, 1, t, orig.y());
107  setFloat(SOP_UVBRUSH_RAY_HITPOS_IDX, 2, t, orig.z());
108  }
109  void setRayOrientation(const UT_Vector3 &orient, fpreal t) override
110  {
111  setFloat(SOP_UVBRUSH_RAY_ORIENT_IDX, 0, t, orient.x());
112  setFloat(SOP_UVBRUSH_RAY_ORIENT_IDX, 1, t, orient.y());
113  setFloat(SOP_UVBRUSH_RAY_ORIENT_IDX, 2, t, orient.z());
114  }
115  void setHitPrimitive(int primidx, fpreal t) override
116  {
117  setInt(SOP_UVBRUSH_RAY_HITPRIM_IDX, 0, t, primidx);
118  }
119  void setHitPoint(int pt, fpreal t) override
120  {
122  }
123  void setHitUVW(fpreal u, fpreal v, fpreal w, fpreal t) override
124  {
128  }
129  void setHitPressure(fpreal p, fpreal t) override
130  {
132  }
133  void setRadius(fpreal r, fpreal t) override
134  {
135  setFloat(SOP_UVBRUSH_RAD_IDX, 0, t, r);
136  }
137  void setUVRadius(fpreal r, fpreal t) override
138  {
140  }
142  {
143  setInt(SOP_UVBRUSH_RAY_EVENT_IDX, 0, 0, int(event));
144  }
145  void setBrushOp(SOP_BrushOp op) override
146  {
147  int iop;
148  switch (op)
149  {
150  case SOP_BRUSHOP_SCALETEXTURE: iop = 1; break;
151  case SOP_BRUSHOP_SMOOTHTEXTURE: iop = 2; break;
152  case SOP_BRUSHOP_ERASE: iop = 3; break;
154  default: iop = 0; break;
155  }
156  setInt(SOP_UVBRUSH_OP_IDX, 0, 0, iop);
157  }
158  void setBrushShape(SOP_BrushShape shape) override
159  {
160  setInt(SOP_UVBRUSH_SHAPE_IDX, 0, 0, int(shape));
161  }
162  void setProjectionType(int projtype) override
163  {
164  setInt(SOP_UVBRUSH_PROJTYPE_IDX, 0, 0, projtype);
165  }
166  void useForegroundColor() override
167  {
169  }
170  void useBackgroundColor() override
171  {
173  }
174 
175  void setCurrentColor(const UT_Vector3 &cd) override
176  {
177  int idx;
179  setFloat(idx, 0, 0, cd.x());
180  }
181  void setVisualization(bool state) override
182  {
183  // only trigger recooks if different!
184  if (myForceVisualize != state)
185  {
186  myForceVisualize = state;
187  forceRecook();
188  }
189  }
190 
191  void getDescriptiveParmName(UT_String &name) const override
192  {
193  name = "uvattrib";
194  }
195 
196 protected:
197  const char *inputLabel(unsigned idx) const override;
198 
199 protected:
200  void doErase() override;
201  void addEraseAttributes(GU_Brush &brush) override;
202 
203 public:
204  int altersGeometry() const override { return 0; }
205  int altersColor() const override { return 0; }
207  { return evalFloat(SOP_UVBRUSH_RAD_IDX, 0, t); }
209  { return evalFloat(SOP_UVBRUSH_UVRAD_IDX, 0, t); }
211  { return evalFloat(SOP_UVBRUSH_RADPRESSURE_IDX, 0, t); }
213  {return evalFloat(SOP_UVBRUSH_OPAC_IDX, 0, t) ; }
215  {return evalFloat(SOP_UVBRUSH_OPACPRESSURE_IDX, 0, t) ; }
216 
217  SOP_BrushOp OP() override
218  {
219  switch (evalInt(SOP_UVBRUSH_OP_IDX, 0, 0))
220  {
221  case 0: return SOP_BRUSHOP_DRAGTEXTURE;
222  case 1: return SOP_BRUSHOP_SCALETEXTURE;
223  case 2: return SOP_BRUSHOP_SMOOTHTEXTURE;
224  case 3: default: return SOP_BRUSHOP_ERASE;
225  }
226  }
227 
228  int ACCUMSTENCIL() override
229  { return 0;}
230  int PROJECTIONTYPE() override
231  { return evalInt(SOP_UVBRUSH_PROJTYPE_IDX, 0, 0); }
232  int REALTIME() override
233  { return evalInt(SOP_UVBRUSH_REALTIME_IDX, 0, 0); }
234  int SHAPE(fpreal t) override
235  { return evalInt(SOP_UVBRUSH_SHAPE_IDX, 0, t); }
236 
237 protected:
238  int MERGEMODE() override
239  { return 0; }
240  void SCRIPT(UT_String &, fpreal) override {}
241  int AXIS() override { return 0 ; }
242  fpreal USERX(fpreal) override { return 0.0; }
243  fpreal USERY(fpreal) override { return 0.0; }
244  fpreal USERZ(fpreal) override { return 0.0; }
245 
247  { return evalFloat(SOP_UVBRUSH_RAY_ORIENT_IDX,0,t); }
249  { return evalFloat(SOP_UVBRUSH_RAY_ORIENT_IDX,1,t); }
251  { return evalFloat(SOP_UVBRUSH_RAY_ORIENT_IDX,2,t); }
252  fpreal RAYHITX(fpreal t) override
253  { return evalFloat(SOP_UVBRUSH_RAY_HITPOS_IDX,0,t); }
254  fpreal RAYHITY(fpreal t) override
255  { return evalFloat(SOP_UVBRUSH_RAY_HITPOS_IDX,1,t); }
256  fpreal RAYHITZ(fpreal t) override
257  { return evalFloat(SOP_UVBRUSH_RAY_HITPOS_IDX,2,t); }
258  fpreal RAYHITU(fpreal t) override
259  { return evalFloat(SOP_UVBRUSH_RAY_HITUVW_IDX, 0,t); }
260  fpreal RAYHITV(fpreal t) override
261  { return evalFloat(SOP_UVBRUSH_RAY_HITUVW_IDX, 1,t); }
262  fpreal RAYHITW(fpreal t) override
263  { return evalFloat(SOP_UVBRUSH_RAY_HITUVW_IDX, 2,t); }
265  { return evalFloat(SOP_UVBRUSH_RAY_HITPRESSURE_IDX, 0, t); }
266  int PRIMHIT(fpreal t) override
267  { return evalInt(SOP_UVBRUSH_RAY_HITPRIM_IDX, 0,t); }
268  int PTHIT(fpreal t) override
269  { return evalInt(SOP_UVBRUSH_RAY_HITPT_IDX, 0, t); }
270  int EVENT() override
271  { return evalInt(SOP_UVBRUSH_RAY_EVENT_IDX, 0,0); }
272  bool USE_FOREGROUND() override
274  0, 0) == 0; }
275 
276  fpreal FGR(fpreal t) override
277  { return evalFloat(SOP_UVBRUSH_FS_IDX, 0, t); }
278  fpreal FGG(fpreal ) override
279  { return 0; }
280  fpreal FGB(fpreal ) override
281  { return 0; }
282  fpreal BGR(fpreal t) override
283  { return evalFloat(SOP_UVBRUSH_BS_IDX, 0, t); }
284  fpreal BGG(fpreal ) override
285  { return 0; }
286  fpreal BGB(fpreal ) override
287  { return 0; }
288 
290  { return evalFloat(SOP_UVBRUSH_SOFTEDGE_IDX, 0, t); }
291  void KERNEL(UT_String &str, fpreal t) override
292  { evalString(str, SOP_UVBRUSH_KERNEL_IDX, 0, t); }
293  int UPTYPE(fpreal t) override
294  { return evalInt(SOP_UVBRUSH_UPTYPE_IDX, 0, t); }
295  fpreal UPX(fpreal t) override
296  { return evalFloat(SOP_UVBRUSH_UPVECTOR_IDX, 0, t); }
297  fpreal UPY(fpreal t) override
298  { return evalFloat(SOP_UVBRUSH_UPVECTOR_IDX, 1, t); }
299  fpreal UPZ(fpreal t) override
300  { return evalFloat(SOP_UVBRUSH_UPVECTOR_IDX, 2, t); }
301 
303  { return evalFloat(SOP_UVBRUSH_PAPER_IDX, 0, t); }
305  { return evalFloat(SOP_UVBRUSH_SPLATTER_IDX, 0, t); }
306  void BITMAP(UT_String &str, fpreal t) override
307  { evalString(str, SOP_UVBRUSH_BITMAP_IDX, 0, t); }
308  int BITMAPCHAN(fpreal t) override
309  { return evalInt(SOP_UVBRUSH_BITMAPCHAN_IDX, 0, t); }
310  fpreal ANGLE(fpreal t) override
311  { return evalFloat(SOP_UVBRUSH_ANGLE_IDX, 0, t); }
312  fpreal SQUASH(fpreal t) override
313  { return evalFloat(SOP_UVBRUSH_SQUASH_IDX, 0, t); }
314  int DOSTAMPING() override { return 0; }
315  int WRITEALPHA() override { return 0; }
316 
317  int OVERRIDECD() override { return 0; }
318  void CDNAME(UT_String &, fpreal ) override { }
319  int OVERRIDEALPHA() override { return 0; }
320  void ALPHANAME(UT_String &, fpreal ) override { }
321  int OVERRIDENML() override { return 0; }
322  void NMLNAME(UT_String & /*str*/, fpreal /*t*/) override {}
323 
325  { return evalFloat(SOP_UVBRUSH_SYMAXIS_IDX, 0, t); }
327  { return evalFloat(SOP_UVBRUSH_SYMAXIS_IDX, 1, t); }
329  { return evalFloat(SOP_UVBRUSH_SYMAXIS_IDX, 2, t); }
331  { return evalFloat(SOP_UVBRUSH_SYMORIG_IDX, 0, t); }
333  { return evalFloat(SOP_UVBRUSH_SYMORIG_IDX, 1, t); }
335  { return evalFloat(SOP_UVBRUSH_SYMORIG_IDX, 2, t); }
336  int DOREFLECTION() override
337  { return evalInt(SOP_UVBRUSH_DOREFLECT_IDX,0, 0); }
338  int DOROTATION() override
339  { return evalInt(SOP_UVBRUSH_DOROTATION_IDX,0, 0); }
340  int SYMMETRYROT(fpreal t) override
341  { return evalInt(SOP_UVBRUSH_SYMROT_IDX,0, t); }
343  { return evalFloat(SOP_UVBRUSH_SYMDIST_IDX,0, t); }
344 
345  int DOUVREFLECTION() override
346  { return evalInt(SOP_UVBRUSH_DOUVREFLECT_IDX, 0, 0); }
348  { return evalFloat(SOP_UVBRUSH_SYMUVORIG_IDX, 0, t); }
350  { return evalFloat(SOP_UVBRUSH_SYMUVORIG_IDX, 1, t); }
352  { return evalFloat(SOP_UVBRUSH_SYMUVANGLE_IDX, 0, t);}
353 
354  int ADDATTRIB() override { return 0; }
355  void UVATTRIB(UT_String &uvattribname, fpreal t) override
356  { evalString(uvattribname, "uvattrib", 0, t); }
357  int VISUALIZE() override { return 0; }
358  fpreal VISLOW(fpreal) override { return 0; }
359  fpreal VISHIGH(fpreal) override { return 1; }
360  int VISMODE() override { return 0; }
361 
362  int USECONNECTIVITY() override
363  { return evalInt(SOP_UVBRUSH_USECONNECTIVITY_IDX, 0, 0); }
364  int USENORMALS() override
365  { return evalInt(SOP_UVBRUSH_USENORMALS_IDX, 0, 0); }
366  int USEDEPTH() override
367  { return evalInt(SOP_UVBRUSH_USEDEPTH_IDX, 0, 0); }
368  fpreal DEPTH(fpreal t) override
369  { return evalFloat(SOP_UVBRUSH_DEPTH_IDX, 0, t); }
370  fpreal HEIGHT(fpreal t) override
371  { return evalFloat(SOP_UVBRUSH_DEPTH_IDX, 1, t); }
372 
373 
374  // Find out if the brush has moved or done anything to cause us to add its
375  // effect to the current gdp.
376  bool hasStrokeChanged(fpreal t) override;
377  bool hasStyleChanged(fpreal t) override;
378 
379  // Find if the nib file has changed:
380  bool hasNibFileChanged(fpreal t) override;
381  bool hasAccumStencilChanged(fpreal t) override;
382  bool hasNibLookChanged(fpreal t) override;
383 
384  bool hasVisrangeChanged(fpreal t) override;
385 };
386 
387 #endif
void setUVRadius(fpreal r, fpreal t) override
Definition: SOP_UVBrush.h:137
int BITMAPCHAN(fpreal t) override
Definition: SOP_UVBrush.h:308
virtual bool updateParmsFlags()
int VISMODE() override
Definition: SOP_UVBrush.h:360
fpreal RAYORIENTX(fpreal t) override
Definition: SOP_UVBrush.h:246
fpreal RAYHITPRESSURE(fpreal t) override
Definition: SOP_UVBrush.h:264
virtual bool hasAccumStencilChanged(fpreal t)=0
fpreal UPZ(fpreal t) override
Definition: SOP_UVBrush.h:299
int DOROTATION() override
Definition: SOP_UVBrush.h:338
fpreal RAYORIENTY(fpreal t) override
Definition: SOP_UVBrush.h:248
fpreal RAWOPACITY(fpreal t) override
Definition: SOP_UVBrush.h:212
const GLdouble * v
Definition: glcorearb.h:837
fpreal RAWRADIUS(fpreal t) override
Definition: SOP_UVBrush.h:206
int PTHIT(fpreal t) override
Definition: SOP_UVBrush.h:268
const char * inputLabel(unsigned idx) const override
fpreal RADIUSPRESSURE(fpreal t) override
Definition: SOP_UVBrush.h:210
int EVENT() override
Definition: SOP_UVBrush.h:270
fpreal BGR(fpreal t) override
Definition: SOP_UVBrush.h:282
virtual bool hasStyleChanged(fpreal t)=0
constexpr SYS_FORCE_INLINE T & z() noexcept
Definition: UT_Vector3.h:667
virtual void forceRecook(bool evensmartcache=true)
int REALTIME() override
Definition: SOP_UVBrush.h:232
fpreal SYMMETRYUVORIGU(fpreal t) override
Definition: SOP_UVBrush.h:347
fpreal evalFloat(int pi, int vi, fpreal t) const
fpreal VISHIGH(fpreal) override
Definition: SOP_UVBrush.h:359
fpreal RAYHITU(fpreal t) override
Definition: SOP_UVBrush.h:258
fpreal RAYHITW(fpreal t) override
Definition: SOP_UVBrush.h:262
int WRITEALPHA() override
Definition: SOP_UVBrush.h:315
fpreal BGG(fpreal) override
Definition: SOP_UVBrush.h:284
fpreal FGR(fpreal t) override
Definition: SOP_UVBrush.h:276
fpreal UPX(fpreal t) override
Definition: SOP_UVBrush.h:295
void setProjectionType(int projtype) override
Definition: SOP_UVBrush.h:162
void setCurrentColor(const UT_Vector3 &cd) override
Definition: SOP_UVBrush.h:175
fpreal SYMMETRYORIGY(fpreal t) override
Definition: SOP_UVBrush.h:332
int altersGeometry() const override
Definition: SOP_UVBrush.h:204
struct _cl_event * event
Definition: glcorearb.h:2961
void KERNEL(UT_String &str, fpreal t) override
Definition: SOP_UVBrush.h:291
virtual bool hasNibFileChanged(fpreal t)=0
fpreal SYMMETRYDIRX(fpreal t) override
Definition: SOP_UVBrush.h:324
void setHitPoint(int pt, fpreal t) override
Definition: SOP_UVBrush.h:119
fpreal SYMMETRYDIST(fpreal t) override
Definition: SOP_UVBrush.h:342
void SCRIPT(UT_String &, fpreal) override
Definition: SOP_UVBrush.h:240
int DOUVREFLECTION() override
Definition: SOP_UVBrush.h:345
fpreal OPACITYPRESSURE(fpreal t) override
Definition: SOP_UVBrush.h:214
int VISUALIZE() override
Definition: SOP_UVBrush.h:357
void setHitPressure(fpreal p, fpreal t) override
Definition: SOP_UVBrush.h:129
virtual void addEraseAttributes(GU_Brush &brush)
int PROJECTIONTYPE() override
Definition: SOP_UVBrush.h:230
int AXIS() override
Definition: SOP_UVBrush.h:241
fpreal USERX(fpreal) override
Definition: SOP_UVBrush.h:242
int USENORMALS() override
Definition: SOP_UVBrush.h:364
virtual bool USE_FOREGROUND()=0
int PRIMHIT(fpreal t) override
Definition: SOP_UVBrush.h:266
void useForegroundColor() override
Definition: SOP_UVBrush.h:166
void CDNAME(UT_String &, fpreal) override
Definition: SOP_UVBrush.h:318
int OVERRIDEALPHA() override
Definition: SOP_UVBrush.h:319
void evalString(UT_String &val, int pi, int vi, fpreal t) const
int MERGEMODE() override
Definition: SOP_UVBrush.h:238
fpreal SYMMETRYORIGZ(fpreal t) override
Definition: SOP_UVBrush.h:334
int OVERRIDECD() override
Definition: SOP_UVBrush.h:317
fpreal RAYHITY(fpreal t) override
Definition: SOP_UVBrush.h:254
void NMLNAME(UT_String &, fpreal) override
Definition: SOP_UVBrush.h:322
SOP_BrushOp
Definition: SOP_BrushBase.h:39
void setBrushEvent(SOP_BrushEvent event) override
Definition: SOP_UVBrush.h:141
virtual void doErase()=0
void UVATTRIB(UT_String &uvattribname, fpreal t) override
Definition: SOP_UVBrush.h:355
void setHitUVW(fpreal u, fpreal v, fpreal w, fpreal t) override
Definition: SOP_UVBrush.h:123
int USEDEPTH() override
Definition: SOP_UVBrush.h:366
GLuint const GLchar * name
Definition: glcorearb.h:786
fpreal ANGLE(fpreal t) override
Definition: SOP_UVBrush.h:310
fpreal HEIGHT(fpreal t) override
Definition: SOP_UVBrush.h:370
int altersColor() const override
Definition: SOP_UVBrush.h:205
int SYMMETRYROT(fpreal t) override
Definition: SOP_UVBrush.h:340
fpreal FGG(fpreal) override
Definition: SOP_UVBrush.h:278
GA_API const UT_StringHolder orient
fpreal RAYHITX(fpreal t) override
Definition: SOP_UVBrush.h:252
int UPTYPE(fpreal t) override
Definition: SOP_UVBrush.h:293
int USECONNECTIVITY() override
Definition: SOP_UVBrush.h:362
GLdouble t
Definition: glad.h:2397
bool USE_FOREGROUND() override
Definition: SOP_UVBrush.h:272
#define SOP_GDT_GRP_IDX
Definition: SOP_GDT.h:22
void setVisualization(bool state) override
Definition: SOP_UVBrush.h:181
virtual bool hasVisrangeChanged(fpreal)
void ALPHANAME(UT_String &, fpreal) override
Definition: SOP_UVBrush.h:320
int SHAPE(fpreal t) override
Definition: SOP_UVBrush.h:234
virtual bool hasStrokeChanged(fpreal t)=0
int ACCUMSTENCIL() override
Definition: SOP_UVBrush.h:228
fpreal SYMMETRYUVANGLE(fpreal t) override
Definition: SOP_UVBrush.h:351
fpreal SYMMETRYUVORIGV(fpreal t) override
Definition: SOP_UVBrush.h:349
fpreal SQUASH(fpreal t) override
Definition: SOP_UVBrush.h:312
fpreal PAPERNOISE(fpreal t) override
Definition: SOP_UVBrush.h:302
fpreal VISLOW(fpreal) override
Definition: SOP_UVBrush.h:358
void setFloat(int parmi, int vectori, fpreal t, fpreal value, PRM_AddKeyType add_key=PRM_AK_MARK_PENDING)
fpreal BGB(fpreal) override
Definition: SOP_UVBrush.h:286
fpreal64 fpreal
Definition: SYS_Types.h:277
void setInt(int parmi, int vectori, fpreal t, exint value)
fpreal SYMMETRYORIGX(fpreal t) override
Definition: SOP_UVBrush.h:330
int DOSTAMPING() override
Definition: SOP_UVBrush.h:314
fpreal SPLATTER(fpreal t) override
Definition: SOP_UVBrush.h:304
int OVERRIDENML() override
Definition: SOP_UVBrush.h:321
int DOREFLECTION() override
Definition: SOP_UVBrush.h:336
#define SOP_API
Definition: SOP_API.h:10
void BITMAP(UT_String &str, fpreal t) override
Definition: SOP_UVBrush.h:306
void setAccumulateStencil(bool) override
Definition: SOP_UVBrush.h:100
void getDescriptiveParmName(UT_String &name) const override
Definition: SOP_UVBrush.h:191
void setRayOrigin(const UT_Vector3 &orig, fpreal t) override
Definition: SOP_UVBrush.h:103
fpreal RAYHITV(fpreal t) override
Definition: SOP_UVBrush.h:260
GLubyte GLubyte GLubyte GLubyte w
Definition: glcorearb.h:857
virtual bool hasNibLookChanged(fpreal t)=0
void useBackgroundColor() override
Definition: SOP_UVBrush.h:170
fpreal USERZ(fpreal) override
Definition: SOP_UVBrush.h:244
void setBrushShape(SOP_BrushShape shape) override
Definition: SOP_UVBrush.h:158
exint evalInt(int pi, int vi, fpreal t) const
SOP_BrushEvent
Definition: SOP_BrushBase.h:31
GLboolean r
Definition: glcorearb.h:1222
fpreal DEPTH(fpreal t) override
Definition: SOP_UVBrush.h:368
int ADDATTRIB() override
Definition: SOP_UVBrush.h:354
fpreal RAYHITZ(fpreal t) override
Definition: SOP_UVBrush.h:256
fpreal SYMMETRYDIRZ(fpreal t) override
Definition: SOP_UVBrush.h:328
fpreal SOFTEDGE(fpreal t) override
Definition: SOP_UVBrush.h:289
void setRadius(fpreal r, fpreal t) override
Definition: SOP_UVBrush.h:133
SOP_BrushShape
Definition: SOP_BrushBase.h:65
constexpr SYS_FORCE_INLINE T & y() noexcept
Definition: UT_Vector3.h:665
SOP_BrushOp OP() override
Definition: SOP_UVBrush.h:217
void setRayOrientation(const UT_Vector3 &orient, fpreal t) override
Definition: SOP_UVBrush.h:109
fpreal UPY(fpreal t) override
Definition: SOP_UVBrush.h:297
fpreal SYMMETRYDIRY(fpreal t) override
Definition: SOP_UVBrush.h:326
void setBrushOp(SOP_BrushOp op) override
Definition: SOP_UVBrush.h:145
fpreal RAWUVRADIUS(fpreal t) override
Definition: SOP_UVBrush.h:208
fpreal USERY(fpreal) override
Definition: SOP_UVBrush.h:243
fpreal FGB(fpreal) override
Definition: SOP_UVBrush.h:280
fpreal RAYORIENTZ(fpreal t) override
Definition: SOP_UVBrush.h:250
void setHitPrimitive(int primidx, fpreal t) override
Definition: SOP_UVBrush.h:115
constexpr SYS_FORCE_INLINE T & x() noexcept
Definition: UT_Vector3.h:663