HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SOP_BoneCaptureLines.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 <OP/OP_Utils.h>
8 #include <PRM/PRM_Parm.h>
9 #include <UT/UT_IStream.h>
10 #include <UT/UT_NTStreamUtil.h>
11 #include <UT/UT_Ramp.h>
12 #include <UT/UT_SharedPtr.h>
13 #include <UT/UT_StringHolder.h>
14 #include <UT/UT_StringStream.h>
15 #include <UT/UT_VectorTypes.h>
16 #include <SYS/SYS_Types.h>
17 
18 using namespace UT::Literal;
19 
20 class DEP_MicroNode;
21 namespace SOP_BoneCaptureLinesEnums
22 {
23  enum class Resample
24  {
25  OFF = 0,
26  MAXAXIS,
27  MAXLENGTH
28  };
29  enum class Cookat
30  {
31  CAPTUREFRAME = 0,
33  };
34  enum class Captureregionsop
35  {
36  DISPLAY = 0,
37  RENDER,
38  CAPTURE
39  };
40 }
41 
42 
44 {
45 public:
46  static int version() { return 1; }
47 
49  {
50  myRootpath = ""_sh;
51  myExtraregions = ""_sh;
52  myResample = 1;
53  myMaxaxisfraction = 0.01;
54  myMaxlength = 0.1;
55  myExcludeshortbones = false;
56  myExcludethreshold = 0.001;
57  myFusethreshold = 0.001;
58  myUsebonelink = false;
59  myUsecaptpose = false;
60  myCookat = 0;
61  myCaptframe = 0;
62  myCaptureregionsop = 2;
63  myDosubnets = false;
64  myRelativeskel = false;
65 
66  }
67 
68  explicit SOP_BoneCaptureLinesParms(const SOP_BoneCaptureLinesParms &) = default;
69 
71 
73  {
74  if (myRootpath != src.myRootpath) return false;
75  if (myExtraregions != src.myExtraregions) return false;
76  if (myResample != src.myResample) return false;
77  if (myMaxaxisfraction != src.myMaxaxisfraction) return false;
78  if (myMaxlength != src.myMaxlength) return false;
79  if (myExcludeshortbones != src.myExcludeshortbones) return false;
80  if (myExcludethreshold != src.myExcludethreshold) return false;
81  if (myFusethreshold != src.myFusethreshold) return false;
82  if (myUsebonelink != src.myUsebonelink) return false;
83  if (myUsecaptpose != src.myUsecaptpose) return false;
84  if (myCookat != src.myCookat) return false;
85  if (myCaptframe != src.myCaptframe) return false;
86  if (myCaptureregionsop != src.myCaptureregionsop) return false;
87  if (myDosubnets != src.myDosubnets) return false;
88  if (myRelativeskel != src.myRelativeskel) return false;
89 
90  return true;
91  }
93  {
94  return !operator==(src);
95  }
99 
100 
101 
102  void buildFromOp(const OP_Node *node, fpreal time, DEP_MicroNode *depnode)
103  {
104  if (true)
105  OP_Utils::evalOpParm(myRootpath, node, "rootpath", time, 0);
106  else myRootpath = ""_sh;
107  if (true)
108  OP_Utils::evalOpParm(myExtraregions, node, "extraregions", time, 0);
109  else myExtraregions = ""_sh;
110  if (true)
111  OP_Utils::evalOpParm(myResample, node, "resample", time, 0);
112  else myResample = 1;
113  if (true && ( (!(((int64(getResample())!=1))||((int64(getResample())!=1)))) ) )
114  OP_Utils::evalOpParm(myMaxaxisfraction, node, "maxaxisfraction", time, 0);
115  else myMaxaxisfraction = 0.01;
116  if (true && ( (!(((int64(getResample())!=2))||((int64(getResample())!=2)))) ) )
117  OP_Utils::evalOpParm(myMaxlength, node, "maxlength", time, 0);
118  else myMaxlength = 0.1;
119  if (true)
120  OP_Utils::evalOpParm(myExcludeshortbones, node, "excludeshortbones", time, 0);
121  else myExcludeshortbones = false;
122  if (true && ( (!(((getExcludeshortbones()==0)))) ) )
123  OP_Utils::evalOpParm(myExcludethreshold, node, "excludethreshold", time, 0);
124  else myExcludethreshold = 0.001;
125  if (true)
126  OP_Utils::evalOpParm(myFusethreshold, node, "fusethreshold", time, 0);
127  else myFusethreshold = 0.001;
128  if (true)
129  OP_Utils::evalOpParm(myUsebonelink, node, "usebonelink", time, 0);
130  else myUsebonelink = false;
131  if (true)
132  OP_Utils::evalOpParm(myUsecaptpose, node, "usecaptpose", time, 0);
133  else myUsecaptpose = false;
134  if (true && ( (!(((getUsecaptpose()!=0)))) ) )
135  OP_Utils::evalOpParm(myCookat, node, "cookat", time, 0);
136  else myCookat = 0;
137  if (true && ( (!(((getUsecaptpose()!=0))||((int64(getCookat())==1)))) ) )
138  OP_Utils::evalOpParm(myCaptframe, node, "captframe", time, 0);
139  else myCaptframe = 0;
140  if (true)
141  OP_Utils::evalOpParm(myCaptureregionsop, node, "captureregionsop", time, 0);
142  else myCaptureregionsop = 2;
143  if (true)
144  OP_Utils::evalOpParm(myDosubnets, node, "dosubnets", time, 0);
145  else myDosubnets = false;
146  if (true)
147  OP_Utils::evalOpParm(myRelativeskel, node, "relativeskel", time, 0);
148  else myRelativeskel = false;
149 
150  }
151 
152 
153  virtual void loadFromOpSubclass(const LoadParms &loadparms)
154  {
155  buildFromOp(loadparms.node(), loadparms.context().getTime(), loadparms.depnode());
156  }
157 
158 
159  virtual void copyFrom(const SOP_NodeParms *src)
160  {
161  *this = *((const SOP_BoneCaptureLinesParms *)src);
162  }
163 
164  template <typename T>
165  void
166  doGetParmValue(exint idx, T &value) const
167  {
168  switch (idx)
169  {
170  case 0:
171  coerceValue(value, myRootpath);
172  break;
173  case 1:
174  coerceValue(value, myExtraregions);
175  break;
176  case 2:
177  coerceValue(value, myResample);
178  break;
179  case 3:
180  coerceValue(value, myMaxaxisfraction);
181  break;
182  case 4:
183  coerceValue(value, myMaxlength);
184  break;
185  case 5:
186  coerceValue(value, myExcludeshortbones);
187  break;
188  case 6:
189  coerceValue(value, myExcludethreshold);
190  break;
191  case 7:
192  coerceValue(value, myFusethreshold);
193  break;
194  case 8:
195  coerceValue(value, myUsebonelink);
196  break;
197  case 9:
198  coerceValue(value, myUsecaptpose);
199  break;
200  case 10:
201  coerceValue(value, myCookat);
202  break;
203  case 11:
204  coerceValue(value, myCaptframe);
205  break;
206  case 12:
207  coerceValue(value, myCaptureregionsop);
208  break;
209  case 13:
210  coerceValue(value, myDosubnets);
211  break;
212  case 14:
213  coerceValue(value, myRelativeskel);
214  break;
215 
216  }
217  }
218 
219  void getParmValue(exint idx, exint &value) const
220  { doGetParmValue(idx, value); }
221  void getParmValue(exint idx, fpreal &value) const
222  { doGetParmValue(idx, value); }
224  { doGetParmValue(idx, value); }
226  { doGetParmValue(idx, value); }
228  { doGetParmValue(idx, value); }
230  { doGetParmValue(idx, value); }
232  { doGetParmValue(idx, value); }
234  { doGetParmValue(idx, value); }
236  { doGetParmValue(idx, value); }
238  { doGetParmValue(idx, value); }
240  { doGetParmValue(idx, value); }
241 
242  template <typename T>
243  void
244  doSetParmValue(exint idx, const T &value)
245  {
246  switch (idx)
247  {
248  case 0:
249  coerceValue(myRootpath, value);
250  break;
251  case 1:
252  coerceValue(myExtraregions, value);
253  break;
254  case 2:
255  coerceValue(myResample, value);
256  break;
257  case 3:
258  coerceValue(myMaxaxisfraction, value);
259  break;
260  case 4:
261  coerceValue(myMaxlength, value);
262  break;
263  case 5:
264  coerceValue(myExcludeshortbones, value);
265  break;
266  case 6:
267  coerceValue(myExcludethreshold, value);
268  break;
269  case 7:
270  coerceValue(myFusethreshold, value);
271  break;
272  case 8:
273  coerceValue(myUsebonelink, value);
274  break;
275  case 9:
276  coerceValue(myUsecaptpose, value);
277  break;
278  case 10:
279  coerceValue(myCookat, value);
280  break;
281  case 11:
282  coerceValue(myCaptframe, value);
283  break;
284  case 12:
285  coerceValue(myCaptureregionsop, value);
286  break;
287  case 13:
288  coerceValue(myDosubnets, value);
289  break;
290  case 14:
291  coerceValue(myRelativeskel, value);
292  break;
293 
294  }
295  }
296 
297  void setParmValue(exint idx, const exint &value)
298  { doSetParmValue(idx, value); }
299  void setParmValue(exint idx, const fpreal &value)
300  { doSetParmValue(idx, value); }
301  void setParmValue(exint idx, const UT_Vector2D &value)
302  { doSetParmValue(idx, value); }
303  void setParmValue(exint idx, const UT_Vector3D &value)
304  { doSetParmValue(idx, value); }
305  void setParmValue(exint idx, const UT_Vector4D &value)
306  { doSetParmValue(idx, value); }
307  void setParmValue(exint idx, const UT_Matrix2D &value)
308  { doSetParmValue(idx, value); }
309  void setParmValue(exint idx, const UT_Matrix3D &value)
310  { doSetParmValue(idx, value); }
311  void setParmValue(exint idx, const UT_Matrix4D &value)
312  { doSetParmValue(idx, value); }
314  { doSetParmValue(idx, value); }
316  { doSetParmValue(idx, value); }
318  { doSetParmValue(idx, value); }
319 
320  virtual exint getNumParms() const
321  {
322  return 15;
323  }
324 
325  virtual const char *getParmName(exint fieldnum) const
326  {
327  switch (fieldnum)
328  {
329  case 0:
330  return "rootpath";
331  case 1:
332  return "extraregions";
333  case 2:
334  return "resample";
335  case 3:
336  return "maxaxisfraction";
337  case 4:
338  return "maxlength";
339  case 5:
340  return "excludeshortbones";
341  case 6:
342  return "excludethreshold";
343  case 7:
344  return "fusethreshold";
345  case 8:
346  return "usebonelink";
347  case 9:
348  return "usecaptpose";
349  case 10:
350  return "cookat";
351  case 11:
352  return "captframe";
353  case 12:
354  return "captureregionsop";
355  case 13:
356  return "dosubnets";
357  case 14:
358  return "relativeskel";
359 
360  }
361  return 0;
362  }
363 
364  virtual ParmType getParmType(exint fieldnum) const
365  {
366  switch (fieldnum)
367  {
368  case 0:
369  return PARM_STRING;
370  case 1:
371  return PARM_STRING;
372  case 2:
373  return PARM_INTEGER;
374  case 3:
375  return PARM_FLOAT;
376  case 4:
377  return PARM_FLOAT;
378  case 5:
379  return PARM_INTEGER;
380  case 6:
381  return PARM_FLOAT;
382  case 7:
383  return PARM_FLOAT;
384  case 8:
385  return PARM_INTEGER;
386  case 9:
387  return PARM_INTEGER;
388  case 10:
389  return PARM_INTEGER;
390  case 11:
391  return PARM_FLOAT;
392  case 12:
393  return PARM_INTEGER;
394  case 13:
395  return PARM_INTEGER;
396  case 14:
397  return PARM_INTEGER;
398 
399  }
400  return PARM_UNSUPPORTED;
401  }
402 
403  // Boiler plate to load individual types.
404  static void loadData(UT_IStream &is, int64 &v)
405  { is.bread(&v, 1); }
406  static void loadData(UT_IStream &is, bool &v)
407  { int64 iv; is.bread(&iv, 1); v = iv; }
408  static void loadData(UT_IStream &is, fpreal64 &v)
409  { is.bread<fpreal64>(&v, 1); }
410  static void loadData(UT_IStream &is, UT_Vector2D &v)
411  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1); }
412  static void loadData(UT_IStream &is, UT_Vector3D &v)
413  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
414  is.bread<fpreal64>(&v.z(), 1); }
415  static void loadData(UT_IStream &is, UT_Vector4D &v)
416  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
417  is.bread<fpreal64>(&v.z(), 1); is.bread<fpreal64>(&v.w(), 1); }
418  static void loadData(UT_IStream &is, UT_Matrix2D &v)
419  { for (int r = 0; r < 2; r++) for (int c = 0; c < 2; c++) is.bread<fpreal64>(&v(r, c), 1); }
420  static void loadData(UT_IStream &is, UT_Matrix3D &v)
421  { for (int r = 0; r < 3; r++) for (int c = 0; c < 3; c++) is.bread<fpreal64>(&v(r, c), 1); }
422  static void loadData(UT_IStream &is, UT_Matrix4D &v)
423  { for (int r = 0; r < 4; r++) for (int c = 0; c < 4; c++) is.bread<fpreal64>(&v(r, c), 1); }
424  static void loadData(UT_IStream &is, UT_Vector2I &v)
425  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1); }
426  static void loadData(UT_IStream &is, UT_Vector3I &v)
427  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
428  is.bread<int64>(&v.z(), 1); }
429  static void loadData(UT_IStream &is, UT_Vector4I &v)
430  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
431  is.bread<int64>(&v.z(), 1); is.bread<int64>(&v.w(), 1); }
433  { is.bread(v); }
435  { UT_StringHolder rampdata;
436  loadData(is, rampdata);
437  if (rampdata.isstring())
438  {
439  v.reset(new UT_Ramp());
440  UT_IStream istr((const char *) rampdata, rampdata.length(), UT_ISTREAM_ASCII);
441  v->load(istr);
442  }
443  else v.reset();
444  }
447  loadData(is, data);
448  if (data.isstring())
449  {
450  // Find the data type.
451  char *colon = UT_StringWrap(data).findChar(':');
452  if (colon)
453  {
454  int typelen = colon - data.buffer();
456  type.strncpy(data.buffer(), typelen);
457  UT_IStream istr(((const char *) data) + typelen + 1, data.length() - (typelen + 1), UT_ISTREAM_BINARY);
458 
459  v = PRM_DataFactory::parseBinary(type.buffer(), istr);
460  }
461  }
462  else v.reset();
463  }
464 
465  static void saveData(std::ostream &os, int64 v)
466  { UTwrite(os, &v); }
467  static void saveData(std::ostream &os, bool v)
468  { int64 iv = v; UTwrite(os, &iv); }
469  static void saveData(std::ostream &os, fpreal64 v)
470  { UTwrite<fpreal64>(os, &v); }
471  static void saveData(std::ostream &os, UT_Vector2D v)
472  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y()); }
473  static void saveData(std::ostream &os, UT_Vector3D v)
474  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
475  UTwrite<fpreal64>(os, &v.z()); }
476  static void saveData(std::ostream &os, UT_Vector4D v)
477  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
478  UTwrite<fpreal64>(os, &v.z()); UTwrite<fpreal64>(os, &v.w()); }
479  static void saveData(std::ostream &os, UT_Matrix2D v)
481  static void saveData(std::ostream &os, UT_Matrix3D v)
483  static void saveData(std::ostream &os, UT_Matrix4D v)
485  static void saveData(std::ostream &os, UT_StringHolder s)
486  { UT_StringWrap(s).saveBinary(os); }
487  static void saveData(std::ostream &os, UT_SharedPtr<UT_Ramp> s)
488  { UT_StringHolder result;
489  UT_OStringStream ostr;
490  if (s) s->save(ostr);
491  result = ostr.str();
492  saveData(os, result);
493  }
494  static void saveData(std::ostream &os, PRM_DataItemHandle s)
495  { UT_StringHolder result;
496  UT_OStringStream ostr;
497  if (s)
498  {
499  ostr << s->getDataTypeToken();
500  ostr << ":";
501  s->saveBinary(ostr);
502  }
503  result = ostr.str();
504  saveData(os, result);
505  }
506 
507 
508  void save(std::ostream &os) const
509  {
510  int32 v = version();
511  UTwrite(os, &v);
512  saveData(os, myRootpath);
513  saveData(os, myExtraregions);
514  saveData(os, myResample);
515  saveData(os, myMaxaxisfraction);
516  saveData(os, myMaxlength);
517  saveData(os, myExcludeshortbones);
518  saveData(os, myExcludethreshold);
519  saveData(os, myFusethreshold);
520  saveData(os, myUsebonelink);
521  saveData(os, myUsecaptpose);
522  saveData(os, myCookat);
523  saveData(os, myCaptframe);
524  saveData(os, myCaptureregionsop);
525  saveData(os, myDosubnets);
526  saveData(os, myRelativeskel);
527 
528  }
529 
530  bool load(UT_IStream &is)
531  {
532  int32 v;
533  is.bread(&v, 1);
534  if (version() != v)
535  {
536  // Fail incompatible versions
537  return false;
538  }
539  loadData(is, myRootpath);
540  loadData(is, myExtraregions);
541  loadData(is, myResample);
542  loadData(is, myMaxaxisfraction);
543  loadData(is, myMaxlength);
544  loadData(is, myExcludeshortbones);
545  loadData(is, myExcludethreshold);
546  loadData(is, myFusethreshold);
547  loadData(is, myUsebonelink);
548  loadData(is, myUsecaptpose);
549  loadData(is, myCookat);
550  loadData(is, myCaptframe);
551  loadData(is, myCaptureregionsop);
552  loadData(is, myDosubnets);
553  loadData(is, myRelativeskel);
554 
555  return true;
556  }
557 
558  const UT_StringHolder & getRootpath() const { return myRootpath; }
559  void setRootpath(const UT_StringHolder & val) { myRootpath = val; }
561  {
562  SOP_Node *thissop = cookparms.getNode();
563  if (!thissop) return getRootpath();
564  UT_StringHolder result;
565  OP_Utils::evalOpParm(result, thissop, "rootpath", cookparms.getCookTime(), 0);
566  return result;
567  }
568  const UT_StringHolder & getExtraregions() const { return myExtraregions; }
569  void setExtraregions(const UT_StringHolder & val) { myExtraregions = val; }
571  {
572  SOP_Node *thissop = cookparms.getNode();
573  if (!thissop) return getExtraregions();
574  UT_StringHolder result;
575  OP_Utils::evalOpParm(result, thissop, "extraregions", cookparms.getCookTime(), 0);
576  return result;
577  }
578  Resample getResample() const { return Resample(myResample); }
579  void setResample(Resample val) { myResample = int64(val); }
581  {
582  SOP_Node *thissop = cookparms.getNode();
583  if (!thissop) return getResample();
584  int64 result;
585  OP_Utils::evalOpParm(result, thissop, "resample", cookparms.getCookTime(), 0);
586  return Resample(result);
587  }
588  fpreal64 getMaxaxisfraction() const { return myMaxaxisfraction; }
589  void setMaxaxisfraction(fpreal64 val) { myMaxaxisfraction = val; }
591  {
592  SOP_Node *thissop = cookparms.getNode();
593  if (!thissop) return getMaxaxisfraction();
594  fpreal64 result;
595  OP_Utils::evalOpParm(result, thissop, "maxaxisfraction", cookparms.getCookTime(), 0);
596  return result;
597  }
598  fpreal64 getMaxlength() const { return myMaxlength; }
599  void setMaxlength(fpreal64 val) { myMaxlength = val; }
601  {
602  SOP_Node *thissop = cookparms.getNode();
603  if (!thissop) return getMaxlength();
604  fpreal64 result;
605  OP_Utils::evalOpParm(result, thissop, "maxlength", cookparms.getCookTime(), 0);
606  return result;
607  }
608  bool getExcludeshortbones() const { return myExcludeshortbones; }
609  void setExcludeshortbones(bool val) { myExcludeshortbones = val; }
610  bool opExcludeshortbones(const SOP_NodeVerb::CookParms &cookparms) const
611  {
612  SOP_Node *thissop = cookparms.getNode();
613  if (!thissop) return getExcludeshortbones();
614  bool result;
615  OP_Utils::evalOpParm(result, thissop, "excludeshortbones", cookparms.getCookTime(), 0);
616  return result;
617  }
618  fpreal64 getExcludethreshold() const { return myExcludethreshold; }
619  void setExcludethreshold(fpreal64 val) { myExcludethreshold = val; }
621  {
622  SOP_Node *thissop = cookparms.getNode();
623  if (!thissop) return getExcludethreshold();
624  fpreal64 result;
625  OP_Utils::evalOpParm(result, thissop, "excludethreshold", cookparms.getCookTime(), 0);
626  return result;
627  }
628  fpreal64 getFusethreshold() const { return myFusethreshold; }
629  void setFusethreshold(fpreal64 val) { myFusethreshold = val; }
631  {
632  SOP_Node *thissop = cookparms.getNode();
633  if (!thissop) return getFusethreshold();
634  fpreal64 result;
635  OP_Utils::evalOpParm(result, thissop, "fusethreshold", cookparms.getCookTime(), 0);
636  return result;
637  }
638  bool getUsebonelink() const { return myUsebonelink; }
639  void setUsebonelink(bool val) { myUsebonelink = val; }
640  bool opUsebonelink(const SOP_NodeVerb::CookParms &cookparms) const
641  {
642  SOP_Node *thissop = cookparms.getNode();
643  if (!thissop) return getUsebonelink();
644  bool result;
645  OP_Utils::evalOpParm(result, thissop, "usebonelink", cookparms.getCookTime(), 0);
646  return result;
647  }
648  bool getUsecaptpose() const { return myUsecaptpose; }
649  void setUsecaptpose(bool val) { myUsecaptpose = val; }
650  bool opUsecaptpose(const SOP_NodeVerb::CookParms &cookparms) const
651  {
652  SOP_Node *thissop = cookparms.getNode();
653  if (!thissop) return getUsecaptpose();
654  bool result;
655  OP_Utils::evalOpParm(result, thissop, "usecaptpose", cookparms.getCookTime(), 0);
656  return result;
657  }
658  Cookat getCookat() const { return Cookat(myCookat); }
659  void setCookat(Cookat val) { myCookat = int64(val); }
660  Cookat opCookat(const SOP_NodeVerb::CookParms &cookparms) const
661  {
662  SOP_Node *thissop = cookparms.getNode();
663  if (!thissop) return getCookat();
664  int64 result;
665  OP_Utils::evalOpParm(result, thissop, "cookat", cookparms.getCookTime(), 0);
666  return Cookat(result);
667  }
668  fpreal64 getCaptframe() const { return myCaptframe; }
669  void setCaptframe(fpreal64 val) { myCaptframe = val; }
671  {
672  SOP_Node *thissop = cookparms.getNode();
673  if (!thissop) return getCaptframe();
674  fpreal64 result;
675  OP_Utils::evalOpParm(result, thissop, "captframe", cookparms.getCookTime(), 0);
676  return result;
677  }
678  Captureregionsop getCaptureregionsop() const { return Captureregionsop(myCaptureregionsop); }
679  void setCaptureregionsop(Captureregionsop val) { myCaptureregionsop = int64(val); }
681  {
682  SOP_Node *thissop = cookparms.getNode();
683  if (!thissop) return getCaptureregionsop();
684  int64 result;
685  OP_Utils::evalOpParm(result, thissop, "captureregionsop", cookparms.getCookTime(), 0);
686  return Captureregionsop(result);
687  }
688  bool getDosubnets() const { return myDosubnets; }
689  void setDosubnets(bool val) { myDosubnets = val; }
690  bool opDosubnets(const SOP_NodeVerb::CookParms &cookparms) const
691  {
692  SOP_Node *thissop = cookparms.getNode();
693  if (!thissop) return getDosubnets();
694  bool result;
695  OP_Utils::evalOpParm(result, thissop, "dosubnets", cookparms.getCookTime(), 0);
696  return result;
697  }
698  bool getRelativeskel() const { return myRelativeskel; }
699  void setRelativeskel(bool val) { myRelativeskel = val; }
700  bool opRelativeskel(const SOP_NodeVerb::CookParms &cookparms) const
701  {
702  SOP_Node *thissop = cookparms.getNode();
703  if (!thissop) return getRelativeskel();
704  bool result;
705  OP_Utils::evalOpParm(result, thissop, "relativeskel", cookparms.getCookTime(), 0);
706  return result;
707  }
708 
709 private:
710  UT_StringHolder myRootpath;
711  UT_StringHolder myExtraregions;
712  int64 myResample;
713  fpreal64 myMaxaxisfraction;
714  fpreal64 myMaxlength;
715  bool myExcludeshortbones;
716  fpreal64 myExcludethreshold;
717  fpreal64 myFusethreshold;
718  bool myUsebonelink;
719  bool myUsecaptpose;
720  int64 myCookat;
721  fpreal64 myCaptframe;
722  int64 myCaptureregionsop;
723  bool myDosubnets;
724  bool myRelativeskel;
725 
726 };
void setParmValue(exint idx, const UT_Matrix4D &value)
virtual ParmType getParmType(exint fieldnum) const
void getParmValue(exint idx, UT_Vector3D &value) const
bool operator!=(const SOP_BoneCaptureLinesParms &src) const
static void saveData(std::ostream &os, UT_Vector2D v)
SOP_Node * getNode() const
Definition: SOP_NodeVerb.h:494
bool opRelativeskel(const SOP_NodeVerb::CookParms &cookparms) const
T & z(void)
Definition: UT_Vector4.h:379
static void loadData(UT_IStream &is, UT_Vector4I &v)
static void loadData(UT_IStream &is, fpreal64 &v)
void setCaptureregionsop(Captureregionsop val)
static void loadData(UT_IStream &is, UT_Vector3I &v)
bool opUsecaptpose(const SOP_NodeVerb::CookParms &cookparms) const
Captureregionsop getCaptureregionsop() const
exint bread(int32 *buffer, exint asize=1)
GT_API const UT_StringHolder time
fpreal getTime() const
Definition: OP_Context.h:60
const GLdouble * v
Definition: glcorearb.h:836
static void loadData(UT_IStream &is, UT_Vector2D &v)
static void loadData(UT_IStream &is, UT_Matrix3D &v)
static void saveData(std::ostream &os, UT_Vector4D v)
void setParmValue(exint idx, const UT_Matrix2D &value)
static void loadData(UT_IStream &is, UT_Matrix2D &v)
void setParmValue(exint idx, const UT_SharedPtr< UT_Ramp > &value)
void setParmValue(exint idx, const UT_Vector3D &value)
SYS_FORCE_INLINE const char * buffer() const
T & x(void)
Definition: UT_Vector2.h:285
void getParmValue(exint idx, UT_SharedPtr< UT_Ramp > &value) const
void setParmValue(exint idx, const UT_Matrix3D &value)
static void saveData(std::ostream &os, UT_Matrix4D v)
An output stream object that owns its own string buffer storage.
Resample opResample(const SOP_NodeVerb::CookParms &cookparms) const
const UT_WorkBuffer & str() const
Returns a read-only reference to the underlying UT_WorkBuffer.
bool opDosubnets(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opFusethreshold(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opMaxlength(const SOP_NodeVerb::CookParms &cookparms) const
SYS_FORCE_INLINE T & x(void)
Definition: UT_Vector3.h:498
void buildFromOp(const OP_Node *node, fpreal time, DEP_MicroNode *depnode)
void setParmValue(exint idx, const UT_Vector2D &value)
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
static void saveData(std::ostream &os, UT_Matrix2D v)
static void loadData(UT_IStream &is, int64 &v)
void getParmValue(exint idx, exint &value) const
UT_StringHolder opRootpath(const SOP_NodeVerb::CookParms &cookparms) const
SYS_FORCE_INLINE T & z(void)
Definition: UT_Vector3.h:502
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
Definition: Dimensions.h:137
long long int64
Definition: SYS_Types.h:107
void setExtraregions(const UT_StringHolder &val)
static void loadData(UT_IStream &is, UT_StringHolder &v)
void setParmValue(exint idx, const exint &value)
void getParmValue(exint idx, UT_Vector4D &value) const
void getParmValue(exint idx, fpreal &value) const
exint length() const
char * findChar(int c) const
Find first occurrance of character. Returns NULL upon failure.
Definition: UT_String.h:550
static void loadData(UT_IStream &is, UT_Vector4D &v)
void getParmValue(exint idx, UT_Vector2D &value) const
void getParmValue(exint idx, UT_Matrix2D &value) const
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
Definition: UT_SharedPtr.h:28
int64 exint
Definition: SYS_Types.h:116
const OP_Node * node() const
Definition: SOP_NodeVerb.h:104
bool opUsebonelink(const SOP_NodeVerb::CookParms &cookparms) const
double fpreal64
Definition: SYS_Types.h:192
const UT_StringHolder & getExtraregions() const
static void saveData(std::ostream &os, int64 v)
void doGetParmValue(exint idx, T &value) const
virtual const char * getParmName(exint fieldnum) const
Captureregionsop opCaptureregionsop(const SOP_NodeVerb::CookParms &cookparms) const
void getParmValue(exint idx, PRM_DataItemHandle &value) const
static void saveData(std::ostream &os, UT_StringHolder s)
GLboolean * data
Definition: glcorearb.h:130
void getParmValue(exint idx, UT_StringHolder &value) const
int int32
Definition: SYS_Types.h:35
T & y(void)
Definition: UT_Vector4.h:377
UT_StringHolder opExtraregions(const SOP_NodeVerb::CookParms &cookparms) const
fpreal64 opExcludethreshold(const SOP_NodeVerb::CookParms &cookparms) const
void setParmValue(exint idx, const PRM_DataItemHandle &value)
bool operator==(const SOP_BoneCaptureLinesParms &src) const
void saveBinary(std::ostream &os) const
Save string to binary stream.
Definition: UT_String.h:294
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
GT_API const UT_StringHolder version
DEP_MicroNode * depnode() const
Definition: SOP_NodeVerb.h:111
void save(std::ostream &os) const
SYS_FORCE_INLINE T & y(void)
Definition: UT_Vector3.h:500
GLsizei const GLfloat * value
Definition: glcorearb.h:823
double fpreal
Definition: SYS_Types.h:270
static void saveData(std::ostream &os, PRM_DataItemHandle s)
const UT_StringHolder & getRootpath() const
virtual void loadFromOpSubclass(const LoadParms &loadparms)
static void loadData(UT_IStream &is, UT_Matrix4D &v)
Cookat opCookat(const SOP_NodeVerb::CookParms &cookparms) const
Utility class for containing a color ramp.
Definition: UT_Ramp.h:84
GLuint GLfloat * val
Definition: glcorearb.h:1607
void setParmValue(exint idx, const UT_StringHolder &value)
static void saveData(std::ostream &os, fpreal64 v)
#define SOP_API
Definition: SOP_API.h:10
void setParmValue(exint idx, const UT_Vector4D &value)
GLint GLint GLsizei GLint GLenum GLenum type
Definition: glcorearb.h:107
fpreal getCookTime() const
Definition: SOP_NodeVerb.h:501
void setRootpath(const UT_StringHolder &val)
T & x(void)
Definition: UT_Vector4.h:375
T & y(void)
Definition: UT_Vector2.h:287
bool opExcludeshortbones(const SOP_NodeVerb::CookParms &cookparms) const
void getParmValue(exint idx, UT_Matrix3D &value) const
GLboolean r
Definition: glcorearb.h:1221
static void loadData(UT_IStream &is, UT_Vector3D &v)
T & w(void)
Definition: UT_Vector4.h:381
static void loadData(UT_IStream &is, UT_Vector2I &v)
virtual void copyFrom(const SOP_NodeParms *src)
fpreal64 opMaxaxisfraction(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, bool &v)
static void saveData(std::ostream &os, UT_Vector3D v)
const OP_Context & context() const
Definition: SOP_NodeVerb.h:109
void getParmValue(exint idx, UT_Matrix4D &value) const
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
Definition: PRM_Parm.h:88
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
static void saveData(std::ostream &os, UT_Matrix3D v)
void doSetParmValue(exint idx, const T &value)
void setParmValue(exint idx, const fpreal &value)
SYS_FORCE_INLINE bool isstring() const
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
fpreal64 opCaptframe(const SOP_NodeVerb::CookParms &cookparms) const
GLenum src
Definition: glcorearb.h:1792
static void saveData(std::ostream &os, bool v)