HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros 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  }
95 
96 
97 
98  void buildFromOp(const OP_Node *node, fpreal time, DEP_MicroNode *depnode)
99  {
100  if (true)
101  OP_Utils::evalOpParm(myRootpath, node, "rootpath", time, 0);
102  else myRootpath = ""_sh;
103  if (true)
104  OP_Utils::evalOpParm(myExtraregions, node, "extraregions", time, 0);
105  else myExtraregions = ""_sh;
106  if (true)
107  OP_Utils::evalOpParm(myResample, node, "resample", time, 0);
108  else myResample = 1;
109  if (true && ( (!(((int64(getResample())!=1))||((int64(getResample())!=1)))) ) )
110  OP_Utils::evalOpParm(myMaxaxisfraction, node, "maxaxisfraction", time, 0);
111  else myMaxaxisfraction = 0.01;
112  if (true && ( (!(((int64(getResample())!=2))||((int64(getResample())!=2)))) ) )
113  OP_Utils::evalOpParm(myMaxlength, node, "maxlength", time, 0);
114  else myMaxlength = 0.1;
115  if (true)
116  OP_Utils::evalOpParm(myExcludeshortbones, node, "excludeshortbones", time, 0);
117  else myExcludeshortbones = false;
118  if (true && ( (!(((getExcludeshortbones()==0)))) ) )
119  OP_Utils::evalOpParm(myExcludethreshold, node, "excludethreshold", time, 0);
120  else myExcludethreshold = 0.001;
121  if (true)
122  OP_Utils::evalOpParm(myFusethreshold, node, "fusethreshold", time, 0);
123  else myFusethreshold = 0.001;
124  if (true)
125  OP_Utils::evalOpParm(myUsebonelink, node, "usebonelink", time, 0);
126  else myUsebonelink = false;
127  if (true)
128  OP_Utils::evalOpParm(myUsecaptpose, node, "usecaptpose", time, 0);
129  else myUsecaptpose = false;
130  if (true && ( (!(((getUsecaptpose()!=0)))) ) )
131  OP_Utils::evalOpParm(myCookat, node, "cookat", time, 0);
132  else myCookat = 0;
133  if (true && ( (!(((getUsecaptpose()!=0))||((int64(getCookat())==1)))) ) )
134  OP_Utils::evalOpParm(myCaptframe, node, "captframe", time, 0);
135  else myCaptframe = 0;
136  if (true)
137  OP_Utils::evalOpParm(myCaptureregionsop, node, "captureregionsop", time, 0);
138  else myCaptureregionsop = 2;
139  if (true)
140  OP_Utils::evalOpParm(myDosubnets, node, "dosubnets", time, 0);
141  else myDosubnets = false;
142  if (true)
143  OP_Utils::evalOpParm(myRelativeskel, node, "relativeskel", time, 0);
144  else myRelativeskel = false;
145 
146  }
147 
148 
149  virtual void loadFromOpSubclass(const LoadParms &loadparms)
150  {
151  buildFromOp(loadparms.node(), loadparms.context().getTime(), loadparms.depnode());
152  }
153 
154 
155  virtual void copyFrom(const SOP_NodeParms *src)
156  {
157  *this = *((const SOP_BoneCaptureLinesParms *)src);
158  }
159 
160  template <typename T>
161  void
162  doGetParmValue(exint idx, T &value) const
163  {
164  switch (idx)
165  {
166  case 0:
167  coerceValue(value, myRootpath);
168  break;
169  case 1:
170  coerceValue(value, myExtraregions);
171  break;
172  case 2:
173  coerceValue(value, myResample);
174  break;
175  case 3:
176  coerceValue(value, myMaxaxisfraction);
177  break;
178  case 4:
179  coerceValue(value, myMaxlength);
180  break;
181  case 5:
182  coerceValue(value, myExcludeshortbones);
183  break;
184  case 6:
185  coerceValue(value, myExcludethreshold);
186  break;
187  case 7:
188  coerceValue(value, myFusethreshold);
189  break;
190  case 8:
191  coerceValue(value, myUsebonelink);
192  break;
193  case 9:
194  coerceValue(value, myUsecaptpose);
195  break;
196  case 10:
197  coerceValue(value, myCookat);
198  break;
199  case 11:
200  coerceValue(value, myCaptframe);
201  break;
202  case 12:
203  coerceValue(value, myCaptureregionsop);
204  break;
205  case 13:
206  coerceValue(value, myDosubnets);
207  break;
208  case 14:
209  coerceValue(value, myRelativeskel);
210  break;
211 
212  }
213  }
214 
215  void getParmValue(exint idx, exint &value) const
216  { doGetParmValue(idx, value); }
217  void getParmValue(exint idx, fpreal &value) const
218  { doGetParmValue(idx, value); }
220  { doGetParmValue(idx, value); }
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); }
237 
238  template <typename T>
239  void
240  doSetParmValue(exint idx, const T &value)
241  {
242  switch (idx)
243  {
244  case 0:
245  coerceValue(myRootpath, value);
246  break;
247  case 1:
248  coerceValue(myExtraregions, value);
249  break;
250  case 2:
251  coerceValue(myResample, value);
252  break;
253  case 3:
254  coerceValue(myMaxaxisfraction, value);
255  break;
256  case 4:
257  coerceValue(myMaxlength, value);
258  break;
259  case 5:
260  coerceValue(myExcludeshortbones, value);
261  break;
262  case 6:
263  coerceValue(myExcludethreshold, value);
264  break;
265  case 7:
266  coerceValue(myFusethreshold, value);
267  break;
268  case 8:
269  coerceValue(myUsebonelink, value);
270  break;
271  case 9:
272  coerceValue(myUsecaptpose, value);
273  break;
274  case 10:
275  coerceValue(myCookat, value);
276  break;
277  case 11:
278  coerceValue(myCaptframe, value);
279  break;
280  case 12:
281  coerceValue(myCaptureregionsop, value);
282  break;
283  case 13:
284  coerceValue(myDosubnets, value);
285  break;
286  case 14:
287  coerceValue(myRelativeskel, value);
288  break;
289 
290  }
291  }
292 
293  void setParmValue(exint idx, const exint &value)
294  { doSetParmValue(idx, value); }
295  void setParmValue(exint idx, const fpreal &value)
296  { doSetParmValue(idx, value); }
297  void setParmValue(exint idx, const UT_Vector2D &value)
298  { doSetParmValue(idx, value); }
299  void setParmValue(exint idx, const UT_Vector3D &value)
300  { doSetParmValue(idx, value); }
301  void setParmValue(exint idx, const UT_Vector4D &value)
302  { doSetParmValue(idx, value); }
303  void setParmValue(exint idx, const UT_Matrix2D &value)
304  { doSetParmValue(idx, value); }
305  void setParmValue(exint idx, const UT_Matrix3D &value)
306  { doSetParmValue(idx, value); }
307  void setParmValue(exint idx, const UT_Matrix4D &value)
308  { doSetParmValue(idx, value); }
310  { doSetParmValue(idx, value); }
312  { doSetParmValue(idx, value); }
314  { doSetParmValue(idx, value); }
315 
316  virtual exint getNumParms() const
317  {
318  return 15;
319  }
320 
321  virtual const char *getParmName(exint fieldnum) const
322  {
323  switch (fieldnum)
324  {
325  case 0:
326  return "rootpath";
327  case 1:
328  return "extraregions";
329  case 2:
330  return "resample";
331  case 3:
332  return "maxaxisfraction";
333  case 4:
334  return "maxlength";
335  case 5:
336  return "excludeshortbones";
337  case 6:
338  return "excludethreshold";
339  case 7:
340  return "fusethreshold";
341  case 8:
342  return "usebonelink";
343  case 9:
344  return "usecaptpose";
345  case 10:
346  return "cookat";
347  case 11:
348  return "captframe";
349  case 12:
350  return "captureregionsop";
351  case 13:
352  return "dosubnets";
353  case 14:
354  return "relativeskel";
355 
356  }
357  return 0;
358  }
359 
360  virtual ParmType getParmType(exint fieldnum) const
361  {
362  switch (fieldnum)
363  {
364  case 0:
365  return PARM_STRING;
366  case 1:
367  return PARM_STRING;
368  case 2:
369  return PARM_INTEGER;
370  case 3:
371  return PARM_FLOAT;
372  case 4:
373  return PARM_FLOAT;
374  case 5:
375  return PARM_INTEGER;
376  case 6:
377  return PARM_FLOAT;
378  case 7:
379  return PARM_FLOAT;
380  case 8:
381  return PARM_INTEGER;
382  case 9:
383  return PARM_INTEGER;
384  case 10:
385  return PARM_INTEGER;
386  case 11:
387  return PARM_FLOAT;
388  case 12:
389  return PARM_INTEGER;
390  case 13:
391  return PARM_INTEGER;
392  case 14:
393  return PARM_INTEGER;
394 
395  }
396  return PARM_UNSUPPORTED;
397  }
398 
399  // Boiler plate to load individual types.
400  static void loadData(UT_IStream &is, int64 &v)
401  { is.bread(&v, 1); }
402  static void loadData(UT_IStream &is, bool &v)
403  { int64 iv; is.bread(&iv, 1); v = iv; }
404  static void loadData(UT_IStream &is, fpreal64 &v)
405  { is.bread<fpreal64>(&v, 1); }
406  static void loadData(UT_IStream &is, UT_Vector2D &v)
407  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1); }
408  static void loadData(UT_IStream &is, UT_Vector3D &v)
409  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
410  is.bread<fpreal64>(&v.z(), 1); }
411  static void loadData(UT_IStream &is, UT_Vector4D &v)
412  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
413  is.bread<fpreal64>(&v.z(), 1); is.bread<fpreal64>(&v.w(), 1); }
414  static void loadData(UT_IStream &is, UT_Matrix2D &v)
415  { for (int r = 0; r < 2; r++) for (int c = 0; c < 2; c++) is.bread<fpreal64>(&v(r, c), 1); }
416  static void loadData(UT_IStream &is, UT_Matrix3D &v)
417  { for (int r = 0; r < 3; r++) for (int c = 0; c < 3; c++) is.bread<fpreal64>(&v(r, c), 1); }
418  static void loadData(UT_IStream &is, UT_Matrix4D &v)
419  { for (int r = 0; r < 4; r++) for (int c = 0; c < 4; c++) is.bread<fpreal64>(&v(r, c), 1); }
420  static void loadData(UT_IStream &is, UT_Vector2I &v)
421  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1); }
422  static void loadData(UT_IStream &is, UT_Vector3I &v)
423  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
424  is.bread<int64>(&v.z(), 1); }
425  static void loadData(UT_IStream &is, UT_Vector4I &v)
426  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
427  is.bread<int64>(&v.z(), 1); is.bread<int64>(&v.w(), 1); }
429  { is.bread(v); }
431  { UT_StringHolder rampdata;
432  loadData(is, rampdata);
433  if (rampdata.isstring())
434  {
435  v.reset(new UT_Ramp());
436  UT_IStream istr((const char *) rampdata, rampdata.length(), UT_ISTREAM_ASCII);
437  v->load(istr);
438  }
439  else v.reset();
440  }
443  loadData(is, data);
444  if (data.isstring())
445  {
446  // Find the data type.
447  char *colon = UT_StringWrap(data).findChar(':');
448  if (colon)
449  {
450  int typelen = colon - data.buffer();
452  type.strncpy(data.buffer(), typelen);
453  UT_IStream istr(((const char *) data) + typelen + 1, data.length() - (typelen + 1), UT_ISTREAM_BINARY);
454 
455  v = PRM_DataFactory::parseBinary(type.buffer(), istr);
456  }
457  }
458  else v.reset();
459  }
460 
461  static void saveData(std::ostream &os, int64 v)
462  { UTwrite(os, &v); }
463  static void saveData(std::ostream &os, bool v)
464  { int64 iv = v; UTwrite(os, &iv); }
465  static void saveData(std::ostream &os, fpreal64 v)
466  { UTwrite<fpreal64>(os, &v); }
467  static void saveData(std::ostream &os, UT_Vector2D v)
468  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y()); }
469  static void saveData(std::ostream &os, UT_Vector3D v)
470  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
471  UTwrite<fpreal64>(os, &v.z()); }
472  static void saveData(std::ostream &os, UT_Vector4D v)
473  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
474  UTwrite<fpreal64>(os, &v.z()); UTwrite<fpreal64>(os, &v.w()); }
475  static void saveData(std::ostream &os, UT_Matrix2D v)
477  static void saveData(std::ostream &os, UT_Matrix3D v)
479  static void saveData(std::ostream &os, UT_Matrix4D v)
481  static void saveData(std::ostream &os, UT_StringHolder s)
482  { UT_StringWrap(s).saveBinary(os); }
483  static void saveData(std::ostream &os, UT_SharedPtr<UT_Ramp> s)
484  { UT_StringHolder result;
485  UT_OStringStream ostr;
486  if (s) s->save(ostr);
487  result = ostr.str();
488  saveData(os, result);
489  }
490  static void saveData(std::ostream &os, PRM_DataItemHandle s)
491  { UT_StringHolder result;
492  UT_OStringStream ostr;
493  if (s)
494  {
495  ostr << s->getDataTypeToken();
496  ostr << ":";
497  s->saveBinary(ostr);
498  }
499  result = ostr.str();
500  saveData(os, result);
501  }
502 
503 
504  void save(std::ostream &os) const
505  {
506  int32 v = version();
507  UTwrite(os, &v);
508  saveData(os, myRootpath);
509  saveData(os, myExtraregions);
510  saveData(os, myResample);
511  saveData(os, myMaxaxisfraction);
512  saveData(os, myMaxlength);
513  saveData(os, myExcludeshortbones);
514  saveData(os, myExcludethreshold);
515  saveData(os, myFusethreshold);
516  saveData(os, myUsebonelink);
517  saveData(os, myUsecaptpose);
518  saveData(os, myCookat);
519  saveData(os, myCaptframe);
520  saveData(os, myCaptureregionsop);
521  saveData(os, myDosubnets);
522  saveData(os, myRelativeskel);
523 
524  }
525 
526  bool load(UT_IStream &is)
527  {
528  int32 v;
529  is.bread(&v, 1);
530  if (version() != v)
531  {
532  // Fail incompatible versions
533  return false;
534  }
535  loadData(is, myRootpath);
536  loadData(is, myExtraregions);
537  loadData(is, myResample);
538  loadData(is, myMaxaxisfraction);
539  loadData(is, myMaxlength);
540  loadData(is, myExcludeshortbones);
541  loadData(is, myExcludethreshold);
542  loadData(is, myFusethreshold);
543  loadData(is, myUsebonelink);
544  loadData(is, myUsecaptpose);
545  loadData(is, myCookat);
546  loadData(is, myCaptframe);
547  loadData(is, myCaptureregionsop);
548  loadData(is, myDosubnets);
549  loadData(is, myRelativeskel);
550 
551  return true;
552  }
553 
554  const UT_StringHolder & getRootpath() const { return myRootpath; }
555  void setRootpath(const UT_StringHolder & val) { myRootpath = val; }
557  {
558  SOP_Node *thissop = cookparms.getNode();
559  if (!thissop) return getRootpath();
560  UT_StringHolder result;
561  OP_Utils::evalOpParm(result, thissop, "rootpath", cookparms.getCookTime(), 0);
562  return result;
563  }
564  const UT_StringHolder & getExtraregions() const { return myExtraregions; }
565  void setExtraregions(const UT_StringHolder & val) { myExtraregions = val; }
567  {
568  SOP_Node *thissop = cookparms.getNode();
569  if (!thissop) return getExtraregions();
570  UT_StringHolder result;
571  OP_Utils::evalOpParm(result, thissop, "extraregions", cookparms.getCookTime(), 0);
572  return result;
573  }
574  Resample getResample() const { return Resample(myResample); }
575  void setResample(Resample val) { myResample = int64(val); }
577  {
578  SOP_Node *thissop = cookparms.getNode();
579  if (!thissop) return getResample();
580  int64 result;
581  OP_Utils::evalOpParm(result, thissop, "resample", cookparms.getCookTime(), 0);
582  return Resample(result);
583  }
584  fpreal64 getMaxaxisfraction() const { return myMaxaxisfraction; }
585  void setMaxaxisfraction(fpreal64 val) { myMaxaxisfraction = val; }
587  {
588  SOP_Node *thissop = cookparms.getNode();
589  if (!thissop) return getMaxaxisfraction();
590  fpreal64 result;
591  OP_Utils::evalOpParm(result, thissop, "maxaxisfraction", cookparms.getCookTime(), 0);
592  return result;
593  }
594  fpreal64 getMaxlength() const { return myMaxlength; }
595  void setMaxlength(fpreal64 val) { myMaxlength = val; }
597  {
598  SOP_Node *thissop = cookparms.getNode();
599  if (!thissop) return getMaxlength();
600  fpreal64 result;
601  OP_Utils::evalOpParm(result, thissop, "maxlength", cookparms.getCookTime(), 0);
602  return result;
603  }
604  bool getExcludeshortbones() const { return myExcludeshortbones; }
605  void setExcludeshortbones(bool val) { myExcludeshortbones = val; }
606  bool opExcludeshortbones(const SOP_NodeVerb::CookParms &cookparms) const
607  {
608  SOP_Node *thissop = cookparms.getNode();
609  if (!thissop) return getExcludeshortbones();
610  bool result;
611  OP_Utils::evalOpParm(result, thissop, "excludeshortbones", cookparms.getCookTime(), 0);
612  return result;
613  }
614  fpreal64 getExcludethreshold() const { return myExcludethreshold; }
615  void setExcludethreshold(fpreal64 val) { myExcludethreshold = val; }
617  {
618  SOP_Node *thissop = cookparms.getNode();
619  if (!thissop) return getExcludethreshold();
620  fpreal64 result;
621  OP_Utils::evalOpParm(result, thissop, "excludethreshold", cookparms.getCookTime(), 0);
622  return result;
623  }
624  fpreal64 getFusethreshold() const { return myFusethreshold; }
625  void setFusethreshold(fpreal64 val) { myFusethreshold = val; }
627  {
628  SOP_Node *thissop = cookparms.getNode();
629  if (!thissop) return getFusethreshold();
630  fpreal64 result;
631  OP_Utils::evalOpParm(result, thissop, "fusethreshold", cookparms.getCookTime(), 0);
632  return result;
633  }
634  bool getUsebonelink() const { return myUsebonelink; }
635  void setUsebonelink(bool val) { myUsebonelink = val; }
636  bool opUsebonelink(const SOP_NodeVerb::CookParms &cookparms) const
637  {
638  SOP_Node *thissop = cookparms.getNode();
639  if (!thissop) return getUsebonelink();
640  bool result;
641  OP_Utils::evalOpParm(result, thissop, "usebonelink", cookparms.getCookTime(), 0);
642  return result;
643  }
644  bool getUsecaptpose() const { return myUsecaptpose; }
645  void setUsecaptpose(bool val) { myUsecaptpose = val; }
646  bool opUsecaptpose(const SOP_NodeVerb::CookParms &cookparms) const
647  {
648  SOP_Node *thissop = cookparms.getNode();
649  if (!thissop) return getUsecaptpose();
650  bool result;
651  OP_Utils::evalOpParm(result, thissop, "usecaptpose", cookparms.getCookTime(), 0);
652  return result;
653  }
654  Cookat getCookat() const { return Cookat(myCookat); }
655  void setCookat(Cookat val) { myCookat = int64(val); }
656  Cookat opCookat(const SOP_NodeVerb::CookParms &cookparms) const
657  {
658  SOP_Node *thissop = cookparms.getNode();
659  if (!thissop) return getCookat();
660  int64 result;
661  OP_Utils::evalOpParm(result, thissop, "cookat", cookparms.getCookTime(), 0);
662  return Cookat(result);
663  }
664  fpreal64 getCaptframe() const { return myCaptframe; }
665  void setCaptframe(fpreal64 val) { myCaptframe = val; }
667  {
668  SOP_Node *thissop = cookparms.getNode();
669  if (!thissop) return getCaptframe();
670  fpreal64 result;
671  OP_Utils::evalOpParm(result, thissop, "captframe", cookparms.getCookTime(), 0);
672  return result;
673  }
674  Captureregionsop getCaptureregionsop() const { return Captureregionsop(myCaptureregionsop); }
675  void setCaptureregionsop(Captureregionsop val) { myCaptureregionsop = int64(val); }
677  {
678  SOP_Node *thissop = cookparms.getNode();
679  if (!thissop) return getCaptureregionsop();
680  int64 result;
681  OP_Utils::evalOpParm(result, thissop, "captureregionsop", cookparms.getCookTime(), 0);
682  return Captureregionsop(result);
683  }
684  bool getDosubnets() const { return myDosubnets; }
685  void setDosubnets(bool val) { myDosubnets = val; }
686  bool opDosubnets(const SOP_NodeVerb::CookParms &cookparms) const
687  {
688  SOP_Node *thissop = cookparms.getNode();
689  if (!thissop) return getDosubnets();
690  bool result;
691  OP_Utils::evalOpParm(result, thissop, "dosubnets", cookparms.getCookTime(), 0);
692  return result;
693  }
694  bool getRelativeskel() const { return myRelativeskel; }
695  void setRelativeskel(bool val) { myRelativeskel = val; }
696  bool opRelativeskel(const SOP_NodeVerb::CookParms &cookparms) const
697  {
698  SOP_Node *thissop = cookparms.getNode();
699  if (!thissop) return getRelativeskel();
700  bool result;
701  OP_Utils::evalOpParm(result, thissop, "relativeskel", cookparms.getCookTime(), 0);
702  return result;
703  }
704 
705 private:
706  UT_StringHolder myRootpath;
707  UT_StringHolder myExtraregions;
708  int64 myResample;
709  fpreal64 myMaxaxisfraction;
710  fpreal64 myMaxlength;
711  bool myExcludeshortbones;
712  fpreal64 myExcludethreshold;
713  fpreal64 myFusethreshold;
714  bool myUsebonelink;
715  bool myUsecaptpose;
716  int64 myCookat;
717  fpreal64 myCaptframe;
718  int64 myCaptureregionsop;
719  bool myDosubnets;
720  bool myRelativeskel;
721 
722 };
void setParmValue(exint idx, const UT_Matrix4D &value)
virtual ParmType getParmType(exint fieldnum) const
void getParmValue(exint idx, UT_Vector3D &value) const
static void saveData(std::ostream &os, UT_Vector2D v)
SOP_Node * getNode() const
Definition: SOP_NodeVerb.h:492
bool opRelativeskel(const SOP_NodeVerb::CookParms &cookparms) const
T & z(void)
Definition: UT_Vector4.h:372
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)
fpreal getTime() const
Definition: OP_Context.h:34
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)
T & x(void)
Definition: UT_Vector2.h:284
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:581
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:585
long long int64
Definition: SYS_Types.h:106
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
int64 exint
Definition: SYS_Types.h:115
const OP_Node * node() const
Definition: SOP_NodeVerb.h:104
bool opUsebonelink(const SOP_NodeVerb::CookParms &cookparms) const
double fpreal64
Definition: SYS_Types.h:191
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:34
T & y(void)
Definition: UT_Vector4.h:370
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)
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:583
GLsizei const GLfloat * value
Definition: glcorearb.h:823
double fpreal
Definition: SYS_Types.h:269
void strncpy(const char *src, exint maxlen)
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)
const char * buffer() const
GLint GLint GLsizei GLint GLenum GLenum type
Definition: glcorearb.h:107
fpreal getCookTime() const
Definition: SOP_NodeVerb.h:499
void setRootpath(const UT_StringHolder &val)
T & x(void)
Definition: UT_Vector4.h:368
T & y(void)
Definition: UT_Vector2.h:286
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:374
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
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
fpreal64 opCaptframe(const SOP_NodeVerb::CookParms &cookparms) const
GLenum src
Definition: glcorearb.h:1792
static void saveData(std::ostream &os, bool v)