HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SOP_UVUnwrap.proto.h
Go to the documentation of this file.
1 /* Automagically Generated by generate_proto.py
2  * Do not Edit
3  */
4 #pragma once
5 
6 #include <SOP/SOP_NodeVerb.h>
7 #include <SOP/SOP_GraphProxy.h>
8 
9 #include <OP/OP_Utils.h>
10 #include <PRM/PRM_Parm.h>
11 #include <UT/UT_IStream.h>
12 #include <UT/UT_NTStreamUtil.h>
13 #include <UT/UT_Ramp.h>
14 #include <UT/UT_SharedPtr.h>
15 #include <UT/UT_StringHolder.h>
16 #include <UT/UT_StringStream.h>
17 #include <UT/UT_VectorTypes.h>
18 #include <SYS/SYS_Types.h>
19 
20 using namespace UT::Literal;
21 
22 class DEP_MicroNode;
23 namespace SOP_UVUnwrapEnums
24 {
25  enum class Planes
26  {
27  PLANES4 = 0,
28  PLANES5,
29  PLANES6,
30  PLANES8
31  };
32  enum class LayoutType
33  {
34  STRIP = 0,
35  SQUARE
36  };
37  enum class ScaleType
38  {
39  NONE = 0,
40  UNIFORM,
41  STRETCH
42  };
43  enum class RotateOrder
44  {
45  XYZ = 0,
46  XZY,
47  YXZ,
48  YZX,
49  ZXY,
50  ZYX
51  };
52 }
53 
54 
56 {
57 public:
58  static int version() { return 1; }
59 
61  {
62  myUVAttrib = "uv"_sh;
63  myGroup = ""_sh;
64  myPlaneGroup = ""_sh;
65  myPlanes = 2;
66  myLayoutType = 1;
67  myScaleType = 1;
68  mySpacing = 2;
69  myRotateOrder = 0;
70  myRotate = UT_Vector3D(0,0,0);
71 
72  }
73 
74  explicit SOP_UVUnwrapParms(const SOP_UVUnwrapParms &) = default;
75 
76  ~SOP_UVUnwrapParms() override {}
77 
78  bool operator==(const SOP_UVUnwrapParms &src) const
79  {
80  if (myUVAttrib != src.myUVAttrib) return false;
81  if (myGroup != src.myGroup) return false;
82  if (myPlaneGroup != src.myPlaneGroup) return false;
83  if (myPlanes != src.myPlanes) return false;
84  if (myLayoutType != src.myLayoutType) return false;
85  if (myScaleType != src.myScaleType) return false;
86  if (mySpacing != src.mySpacing) return false;
87  if (myRotateOrder != src.myRotateOrder) return false;
88  if (myRotate != src.myRotate) return false;
89 
90  return true;
91  }
92  bool operator!=(const SOP_UVUnwrapParms &src) const
93  {
94  return !operator==(src);
95  }
100 
101 
102 
103  void buildFromOp(const SOP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
104  {
105  myUVAttrib = "uv"_sh;
106  if (true)
107  graph->evalOpParm(myUVAttrib, nodeidx, "uvattrib", time, 0);
108  myGroup = ""_sh;
109  if (true)
110  graph->evalOpParm(myGroup, nodeidx, "group", time, 0);
111  myPlaneGroup = ""_sh;
112  if (true && ( (!((((graph->getInput(nodeidx,1)>=0)==0)))) ) )
113  graph->evalOpParm(myPlaneGroup, nodeidx, "planegroup", time, 0);
114  myPlanes = 2;
115  if (true && ( (!((((graph->getInput(nodeidx,1)>=0)!=0)))) ) )
116  graph->evalOpParm(myPlanes, nodeidx, "nplanes", time, 0);
117  myLayoutType = 1;
118  if (true)
119  graph->evalOpParm(myLayoutType, nodeidx, "layout", time, 0);
120  myScaleType = 1;
121  if (true)
122  graph->evalOpParm(myScaleType, nodeidx, "scale", time, 0);
123  mySpacing = 2;
124  if (true)
125  graph->evalOpParm(mySpacing, nodeidx, "spacing", time, 0);
126  myRotateOrder = 0;
127  if (true)
128  graph->evalOpParm(myRotateOrder, nodeidx, "rOrd", time, 0);
129  myRotate = UT_Vector3D(0,0,0);
130  if (true)
131  graph->evalOpParm(myRotate, nodeidx, "r", time, 0);
132 
133  }
134 
135 
136  void loadFromOpSubclass(const LoadParms &loadparms) override
137  {
138  buildFromOp(loadparms.graph(), loadparms.nodeIdx(), loadparms.context().getTime(), loadparms.depnode());
139  }
140 
141 
142  void copyFrom(const SOP_NodeParms *src) override
143  {
144  *this = *((const SOP_UVUnwrapParms *)src);
145  }
146 
147  template <typename T>
148  void
149  doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
150  {
151  if (idx.size() < 1)
152  return;
153  UT_ASSERT(idx.size() == instance.size()+1);
154  if (idx.size() != instance.size()+1)
155  return;
156  switch (idx[0])
157  {
158  case 0:
159  coerceValue(value, myUVAttrib);
160  break;
161  case 1:
162  coerceValue(value, myGroup);
163  break;
164  case 2:
165  coerceValue(value, myPlaneGroup);
166  break;
167  case 3:
168  coerceValue(value, myPlanes);
169  break;
170  case 4:
171  coerceValue(value, myLayoutType);
172  break;
173  case 5:
174  coerceValue(value, myScaleType);
175  break;
176  case 6:
177  coerceValue(value, mySpacing);
178  break;
179  case 7:
180  coerceValue(value, myRotateOrder);
181  break;
182  case 8:
183  coerceValue(value, myRotate);
184  break;
185 
186  }
187  }
188 
189  void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
190  { doGetParmValue(idx, instance, value); }
191  void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
192  { doGetParmValue(idx, instance, value); }
193  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
194  { doGetParmValue(idx, instance, value); }
195  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
196  { doGetParmValue(idx, instance, value); }
197  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
198  { doGetParmValue(idx, instance, value); }
199  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
200  { doGetParmValue(idx, instance, value); }
201  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
202  { doGetParmValue(idx, instance, value); }
203  void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
204  { doGetParmValue(idx, instance, value); }
205  void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
206  { doGetParmValue(idx, instance, value); }
207  void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr<UT_Ramp> &value) const override
208  { doGetParmValue(idx, instance, value); }
209  void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
210  { doGetParmValue(idx, instance, value); }
211 
212  template <typename T>
213  void
214  doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
215  {
216  if (idx.size() < 1)
217  return;
218  UT_ASSERT(idx.size() == instance.size()+1);
219  if (idx.size() != instance.size()+1)
220  return;
221  switch (idx[0])
222  {
223  case 0:
224  coerceValue(myUVAttrib, value);
225  break;
226  case 1:
227  coerceValue(myGroup, value);
228  break;
229  case 2:
230  coerceValue(myPlaneGroup, value);
231  break;
232  case 3:
233  coerceValue(myPlanes, value);
234  break;
235  case 4:
236  coerceValue(myLayoutType, value);
237  break;
238  case 5:
239  coerceValue(myScaleType, value);
240  break;
241  case 6:
242  coerceValue(mySpacing, value);
243  break;
244  case 7:
245  coerceValue(myRotateOrder, value);
246  break;
247  case 8:
248  coerceValue(myRotate, value);
249  break;
250 
251  }
252  }
253 
254  void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
255  { doSetParmValue(idx, instance, value); }
256  void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
257  { doSetParmValue(idx, instance, value); }
258  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
259  { doSetParmValue(idx, instance, value); }
260  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
261  { doSetParmValue(idx, instance, value); }
262  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
263  { doSetParmValue(idx, instance, value); }
264  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
265  { doSetParmValue(idx, instance, value); }
266  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
267  { doSetParmValue(idx, instance, value); }
268  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
269  { doSetParmValue(idx, instance, value); }
270  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
271  { doSetParmValue(idx, instance, value); }
272  void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr<UT_Ramp> &value) override
273  { doSetParmValue(idx, instance, value); }
274  void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
275  { doSetParmValue(idx, instance, value); }
276 
277  exint getNestNumParms(TempIndex idx) const override
278  {
279  if (idx.size() == 0)
280  return 9;
281  switch (idx[0])
282  {
283 
284  }
285  // Invalid
286  return 0;
287  }
288 
289  const char *getNestParmName(TempIndex fieldnum) const override
290  {
291  if (fieldnum.size() < 1)
292  return 0;
293  switch (fieldnum[0])
294  {
295  case 0:
296  return "uvattrib";
297  case 1:
298  return "group";
299  case 2:
300  return "planegroup";
301  case 3:
302  return "nplanes";
303  case 4:
304  return "layout";
305  case 5:
306  return "scale";
307  case 6:
308  return "spacing";
309  case 7:
310  return "rOrd";
311  case 8:
312  return "r";
313 
314  }
315  return 0;
316  }
317 
318  ParmType getNestParmType(TempIndex fieldnum) const override
319  {
320  if (fieldnum.size() < 1)
321  return PARM_UNSUPPORTED;
322  switch (fieldnum[0])
323  {
324  case 0:
325  return PARM_STRING;
326  case 1:
327  return PARM_STRING;
328  case 2:
329  return PARM_STRING;
330  case 3:
331  return PARM_INTEGER;
332  case 4:
333  return PARM_INTEGER;
334  case 5:
335  return PARM_INTEGER;
336  case 6:
337  return PARM_FLOAT;
338  case 7:
339  return PARM_INTEGER;
340  case 8:
341  return PARM_VECTOR3;
342 
343  }
344  return PARM_UNSUPPORTED;
345  }
346 
347  // Boiler plate to load individual types.
348  static void loadData(UT_IStream &is, int64 &v)
349  { is.bread(&v, 1); }
350  static void loadData(UT_IStream &is, bool &v)
351  { int64 iv; is.bread(&iv, 1); v = iv; }
352  static void loadData(UT_IStream &is, fpreal64 &v)
353  { is.bread<fpreal64>(&v, 1); }
354  static void loadData(UT_IStream &is, UT_Vector2D &v)
355  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1); }
356  static void loadData(UT_IStream &is, UT_Vector3D &v)
357  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
358  is.bread<fpreal64>(&v.z(), 1); }
359  static void loadData(UT_IStream &is, UT_Vector4D &v)
360  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
361  is.bread<fpreal64>(&v.z(), 1); is.bread<fpreal64>(&v.w(), 1); }
362  static void loadData(UT_IStream &is, UT_Matrix2D &v)
363  { for (int r = 0; r < 2; r++) for (int c = 0; c < 2; c++) is.bread<fpreal64>(&v(r, c), 1); }
364  static void loadData(UT_IStream &is, UT_Matrix3D &v)
365  { for (int r = 0; r < 3; r++) for (int c = 0; c < 3; c++) is.bread<fpreal64>(&v(r, c), 1); }
366  static void loadData(UT_IStream &is, UT_Matrix4D &v)
367  { for (int r = 0; r < 4; r++) for (int c = 0; c < 4; c++) is.bread<fpreal64>(&v(r, c), 1); }
368  static void loadData(UT_IStream &is, UT_Vector2I &v)
369  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1); }
370  static void loadData(UT_IStream &is, UT_Vector3I &v)
371  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
372  is.bread<int64>(&v.z(), 1); }
373  static void loadData(UT_IStream &is, UT_Vector4I &v)
374  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
375  is.bread<int64>(&v.z(), 1); is.bread<int64>(&v.w(), 1); }
377  { is.bread(v); }
379  { UT_StringHolder rampdata;
380  loadData(is, rampdata);
381  if (rampdata.isstring())
382  {
383  v.reset(new UT_Ramp());
384  UT_IStream istr((const char *) rampdata, rampdata.length(), UT_ISTREAM_ASCII);
385  v->load(istr);
386  }
387  else v.reset();
388  }
391  loadData(is, data);
392  if (data.isstring())
393  {
394  // Find the data type.
395  const char *colon = UT_StringWrap(data).findChar(':');
396  if (colon)
397  {
398  int typelen = colon - data.buffer();
400  type.strncpy(data.buffer(), typelen);
401  UT_IStream istr(((const char *) data) + typelen + 1, data.length() - (typelen + 1), UT_ISTREAM_BINARY);
402 
403  v = PRM_DataFactory::parseBinary(type.buffer(), istr);
404  }
405  }
406  else v.reset();
407  }
408 
409  static void saveData(std::ostream &os, int64 v)
410  { UTwrite(os, &v); }
411  static void saveData(std::ostream &os, bool v)
412  { int64 iv = v; UTwrite(os, &iv); }
413  static void saveData(std::ostream &os, fpreal64 v)
414  { UTwrite<fpreal64>(os, &v); }
415  static void saveData(std::ostream &os, UT_Vector2D v)
416  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y()); }
417  static void saveData(std::ostream &os, UT_Vector3D v)
418  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
419  UTwrite<fpreal64>(os, &v.z()); }
420  static void saveData(std::ostream &os, UT_Vector4D v)
421  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
422  UTwrite<fpreal64>(os, &v.z()); UTwrite<fpreal64>(os, &v.w()); }
423  static void saveData(std::ostream &os, UT_Matrix2D v)
425  static void saveData(std::ostream &os, UT_Matrix3D v)
427  static void saveData(std::ostream &os, UT_Matrix4D v)
429  static void saveData(std::ostream &os, UT_StringHolder s)
430  { UT_StringWrap(s).saveBinary(os); }
431  static void saveData(std::ostream &os, UT_SharedPtr<UT_Ramp> s)
433  UT_OStringStream ostr;
434  if (s) s->save(ostr);
435  result = ostr.str();
436  saveData(os, result);
437  }
438  static void saveData(std::ostream &os, PRM_DataItemHandle s)
440  UT_OStringStream ostr;
441  if (s)
442  {
443  ostr << s->getDataTypeToken();
444  ostr << ":";
445  s->saveBinary(ostr);
446  }
447  result = ostr.str();
448  saveData(os, result);
449  }
450 
451 
452  void save(std::ostream &os) const
453  {
454  int32 v = version();
455  UTwrite(os, &v);
456  saveData(os, myUVAttrib);
457  saveData(os, myGroup);
458  saveData(os, myPlaneGroup);
459  saveData(os, myPlanes);
460  saveData(os, myLayoutType);
461  saveData(os, myScaleType);
462  saveData(os, mySpacing);
463  saveData(os, myRotateOrder);
464  saveData(os, myRotate);
465 
466  }
467 
468  bool load(UT_IStream &is)
469  {
470  int32 v;
471  is.bread(&v, 1);
472  if (version() != v)
473  {
474  // Fail incompatible versions
475  return false;
476  }
477  loadData(is, myUVAttrib);
478  loadData(is, myGroup);
479  loadData(is, myPlaneGroup);
480  loadData(is, myPlanes);
481  loadData(is, myLayoutType);
482  loadData(is, myScaleType);
483  loadData(is, mySpacing);
484  loadData(is, myRotateOrder);
485  loadData(is, myRotate);
486 
487  return true;
488  }
489 
490  const UT_StringHolder & getUVAttrib() const { return myUVAttrib; }
491  void setUVAttrib(const UT_StringHolder & val) { myUVAttrib = val; }
493  {
494  SOP_Node *thissop = cookparms.getNode();
495  if (!thissop) return getUVAttrib();
497  OP_Utils::evalOpParm(result, thissop, "uvattrib", cookparms.getCookTime(), 0);
498  return result;
499  }
500  const UT_StringHolder & getGroup() const { return myGroup; }
501  void setGroup(const UT_StringHolder & val) { myGroup = val; }
503  {
504  SOP_Node *thissop = cookparms.getNode();
505  if (!thissop) return getGroup();
507  OP_Utils::evalOpParm(result, thissop, "group", cookparms.getCookTime(), 0);
508  return result;
509  }
510  const UT_StringHolder & getPlaneGroup() const { return myPlaneGroup; }
511  void setPlaneGroup(const UT_StringHolder & val) { myPlaneGroup = val; }
513  {
514  SOP_Node *thissop = cookparms.getNode();
515  if (!thissop) return getPlaneGroup();
517  OP_Utils::evalOpParm(result, thissop, "planegroup", cookparms.getCookTime(), 0);
518  return result;
519  }
520  Planes getPlanes() const { return Planes(myPlanes); }
521  void setPlanes(Planes val) { myPlanes = int64(val); }
522  Planes opPlanes(const SOP_NodeVerb::CookParms &cookparms) const
523  {
524  SOP_Node *thissop = cookparms.getNode();
525  if (!thissop) return getPlanes();
526  int64 result;
527  OP_Utils::evalOpParm(result, thissop, "nplanes", cookparms.getCookTime(), 0);
528  return Planes(result);
529  }
530  LayoutType getLayoutType() const { return LayoutType(myLayoutType); }
531  void setLayoutType(LayoutType val) { myLayoutType = int64(val); }
533  {
534  SOP_Node *thissop = cookparms.getNode();
535  if (!thissop) return getLayoutType();
536  int64 result;
537  OP_Utils::evalOpParm(result, thissop, "layout", cookparms.getCookTime(), 0);
538  return LayoutType(result);
539  }
540  ScaleType getScaleType() const { return ScaleType(myScaleType); }
541  void setScaleType(ScaleType val) { myScaleType = int64(val); }
543  {
544  SOP_Node *thissop = cookparms.getNode();
545  if (!thissop) return getScaleType();
546  int64 result;
547  OP_Utils::evalOpParm(result, thissop, "scale", cookparms.getCookTime(), 0);
548  return ScaleType(result);
549  }
550  fpreal64 getSpacing() const { return mySpacing; }
551  void setSpacing(fpreal64 val) { mySpacing = val; }
553  {
554  SOP_Node *thissop = cookparms.getNode();
555  if (!thissop) return getSpacing();
557  OP_Utils::evalOpParm(result, thissop, "spacing", cookparms.getCookTime(), 0);
558  return result;
559  }
560  RotateOrder getRotateOrder() const { return RotateOrder(myRotateOrder); }
561  void setRotateOrder(RotateOrder val) { myRotateOrder = int64(val); }
563  {
564  SOP_Node *thissop = cookparms.getNode();
565  if (!thissop) return getRotateOrder();
566  int64 result;
567  OP_Utils::evalOpParm(result, thissop, "rOrd", cookparms.getCookTime(), 0);
568  return RotateOrder(result);
569  }
570  UT_Vector3D getRotate() const { return myRotate; }
571  void setRotate(UT_Vector3D val) { myRotate = val; }
573  {
574  SOP_Node *thissop = cookparms.getNode();
575  if (!thissop) return getRotate();
577  OP_Utils::evalOpParm(result, thissop, "r", cookparms.getCookTime(), 0);
578  return result;
579  }
580 
581 private:
582  UT_StringHolder myUVAttrib;
583  UT_StringHolder myGroup;
584  UT_StringHolder myPlaneGroup;
585  int64 myPlanes;
586  int64 myLayoutType;
587  int64 myScaleType;
588  fpreal64 mySpacing;
589  int64 myRotateOrder;
590  UT_Vector3D myRotate;
591 
592 };
GLdouble s
Definition: glew.h:1390
void getNestParmValue(TempIndex idx, TempIndex instance, UT_SharedPtr< UT_Ramp > &value) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix3D &value) override
void setRotate(UT_Vector3D val)
static void saveData(std::ostream &os, bool v)
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix4D &value) override
exint nodeIdx() const
Definition: SOP_NodeVerb.h:114
static void saveData(std::ostream &os, UT_Matrix4D v)
GLenum src
Definition: glew.h:2410
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
int int32
Definition: SYS_Types.h:39
SOP_Node * getNode() const
Definition: SOP_NodeVerb.h:640
void doGetParmValue(TempIndex idx, TempIndex instance, T &value) const
UT_StringHolder opPlaneGroup(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector3D &v)
virtual NodeIdx getInput(NodeIdx idx, int input, bool markused=false) const =0
static void loadData(UT_IStream &is, UT_Matrix4D &v)
static void loadData(UT_IStream &is, int64 &v)
UT_Vector3D getRotate() const
exint bread(int32 *buffer, exint asize=1)
GT_API const UT_StringHolder time
fpreal getTime() const
Definition: OP_Context.h:60
void setNestParmValue(TempIndex idx, TempIndex instance, const fpreal &value) override
void getNestParmValue(TempIndex idx, TempIndex instance, exint &value) const override
GLuint const GLfloat * val
Definition: glew.h:2794
void setPlaneGroup(const UT_StringHolder &val)
~SOP_UVUnwrapParms() override
static void loadData(UT_IStream &is, UT_Vector2I &v)
UT_Vector3D opRotate(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Vector3D v)
int64 exint
Definition: SYS_Types.h:125
SYS_FORCE_INLINE const char * buffer() const
const SOP_GraphProxy * graph() const
Definition: SOP_NodeVerb.h:113
ParmType getNestParmType(TempIndex fieldnum) const override
bool operator==(const SOP_UVUnwrapParms &src) const
void loadFromOpSubclass(const LoadParms &loadparms) override
const UT_StringHolder & getPlaneGroup() const
An output stream object that owns its own string buffer storage.
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector3D &value) const override
const GLdouble * v
Definition: glew.h:1391
static void loadData(UT_IStream &is, UT_Vector3I &v)
void save(std::ostream &os) const
static void loadData(UT_IStream &is, fpreal64 &v)
bool load(UT_IStream &is)
void setPlanes(Planes val)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix4D &value) const override
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector2D &value) const override
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
static void saveData(std::ostream &os, UT_Matrix2D v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix3D &value) const override
LayoutType opLayoutType(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, bool &v)
double fpreal64
Definition: SYS_Types.h:201
Planes getPlanes() const
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
Definition: Dimensions.h:137
RotateOrder getRotateOrder() const
static void saveData(std::ostream &os, fpreal64 v)
void getNestParmValue(TempIndex idx, TempIndex instance, fpreal &value) const override
SYS_FORCE_INLINE T & y()
Definition: UT_Vector3.h:513
UT_StringHolder opUVAttrib(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector4D &v)
const UT_StringHolder & getUVAttrib() const
exint length() const
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
Definition: UT_SharedPtr.h:28
GLint GLenum GLsizei GLint GLsizei const void * data
Definition: glew.h:1379
void setNestParmValue(TempIndex idx, TempIndex instance, const exint &value) override
void buildFromOp(const SOP_GraphProxy *graph, exint nodeidx, fpreal time, DEP_MicroNode *depnode)
SYS_FORCE_INLINE T & z()
Definition: UT_Vector3.h:515
UT_StringHolder opGroup(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_StringHolder &v)
static void loadData(UT_IStream &is, UT_Matrix2D &v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_StringHolder &value) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_SharedPtr< UT_Ramp > &value) override
const GLfloat * c
Definition: glew.h:16296
long long int64
Definition: SYS_Types.h:116
void setRotateOrder(RotateOrder val)
LayoutType getLayoutType() const
UT_Vector3T< fpreal64 > UT_Vector3D
const UT_StringHolder & getGroup() const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_StringHolder &value) override
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Vector4D &value) const override
void saveBinary(std::ostream &os) const
Save string to binary stream.
Definition: UT_String.h:294
exint getNestNumParms(TempIndex idx) const override
GT_API const UT_StringHolder version
DEP_MicroNode * depnode() const
Definition: SOP_NodeVerb.h:121
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector3D &value) override
void setSpacing(fpreal64 val)
bool operator!=(const SOP_UVUnwrapParms &src) const
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector2D &value) override
void setScaleType(ScaleType val)
ScaleType getScaleType() const
static void loadData(UT_IStream &is, UT_Vector4I &v)
static void loadData(UT_IStream &is, UT_Vector2D &v)
void getNestParmValue(TempIndex idx, TempIndex instance, PRM_DataItemHandle &value) const override
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Vector4D &value) override
fpreal64 fpreal
Definition: SYS_Types.h:277
Utility class for containing a color ramp.
Definition: UT_Ramp.h:84
fpreal64 getSpacing() const
fpreal64 opSpacing(const SOP_NodeVerb::CookParms &cookparms) const
GLdouble GLdouble GLdouble r
Definition: glew.h:1406
Planes opPlanes(const SOP_NodeVerb::CookParms &cookparms) const
static void saveData(std::ostream &os, UT_Matrix3D v)
#define SOP_API
Definition: SOP_API.h:10
static void saveData(std::ostream &os, UT_Vector4D v)
static void saveData(std::ostream &os, UT_Vector2D v)
virtual void evalOpParm(int64 &v, NodeIdx node, const char *parmname, fpreal time, DEP_MicroNode *depnode) const =0
SYS_FORCE_INLINE T & x()
Definition: UT_Vector3.h:511
void doSetParmValue(TempIndex idx, TempIndex instance, const T &value)
fpreal getCookTime() const
Definition: SOP_NodeVerb.h:654
void copyFrom(const SOP_NodeParms *src) override
GLuint64EXT * result
Definition: glew.h:14007
const char * findChar(int c) const
Definition: UT_String.h:1367
#define UT_ASSERT(ZZ)
Definition: UT_Assert.h:135
static void saveData(std::ostream &os, PRM_DataItemHandle s)
ScaleType opScaleType(const SOP_NodeVerb::CookParms &cookparms) const
void getNestParmValue(TempIndex idx, TempIndex instance, UT_Matrix2D &value) const override
void setUVAttrib(const UT_StringHolder &val)
RotateOrder opRotateOrder(const SOP_NodeVerb::CookParms &cookparms) const
void setGroup(const UT_StringHolder &val)
static void saveData(std::ostream &os, UT_StringHolder s)
const char * getNestParmName(TempIndex fieldnum) const override
GLsizei const GLfloat * value
Definition: glew.h:1849
void setNestParmValue(TempIndex idx, TempIndex instance, const UT_Matrix2D &value) override
void setNestParmValue(TempIndex idx, TempIndex instance, const PRM_DataItemHandle &value) override
const OP_Context & context() const
Definition: SOP_NodeVerb.h:119
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
Definition: PRM_Parm.h:89
void setLayoutType(LayoutType val)
static void saveData(std::ostream &os, int64 v)
static void loadData(UT_IStream &is, UT_Matrix3D &v)
SYS_FORCE_INLINE bool isstring() const
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
type
Definition: core.h:528