HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GAS_GeometryVexParms.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 <SIMZ/SIMZ_API.h>
7 #include <SIM/SIM_Query.h>
8 #include <OP/OP_Utils.h>
9 #include <PRM/PRM_Parm.h>
10 #include <UT/UT_IStream.h>
11 #include <UT/UT_NTStreamUtil.h>
12 #include <UT/UT_Ramp.h>
13 #include <UT/UT_SharedPtr.h>
14 #include <UT/UT_StringHolder.h>
15 #include <UT/UT_StringStream.h>
16 #include <UT/UT_VectorTypes.h>
17 #include <UT/UT_EnvControl.h>
18 #include <SYS/SYS_Types.h>
19 
20 class DEP_MicroNode;
21 
23 {
24 public:
25  static int version() { return 2; }
26  struct Bindings
27  {
30 
31 
33  {
34  binddata = ""_UTsh;
35  bindparm = ""_UTsh;
36 
37  }
38 
39  bool operator==(const Bindings &src) const
40  {
41  if (binddata != src.binddata) return false;
42  if (bindparm != src.bindparm) return false;
43 
44  return true;
45  }
46  bool operator!=(const Bindings &src) const
47  {
48  return !operator==(src);
49  }
50 
51  };
52 
54  {
56 
57  buf.strcat("[ ");
58  for (int i = 0; i < list.entries(); i++)
59  {
60  if (i)
61  buf.strcat(", ");
62  buf.strcat("( ");
63  buf.append("");
64  { UT_String tmp; tmp = UT_StringWrap(list(i).binddata).makeQuotedString('"'); buf.strcat(tmp); }
65  buf.append(", ");
66  { UT_String tmp; tmp = UT_StringWrap(list(i).bindparm).makeQuotedString('"'); buf.strcat(tmp); }
67 
68  buf.strcat(" )");
69  }
70  buf.strcat(" ]");
71 
73  return result;
74  }
76  {
79 
80 
82  {
83  binddata = ""_UTsh;
84  bindparm = ""_UTsh;
85 
86  }
87 
88  bool operator==(const FieldBindings &src) const
89  {
90  if (binddata != src.binddata) return false;
91  if (bindparm != src.bindparm) return false;
92 
93  return true;
94  }
95  bool operator!=(const FieldBindings &src) const
96  {
97  return !operator==(src);
98  }
99 
100  };
101 
103  {
105 
106  buf.strcat("[ ");
107  for (int i = 0; i < list.entries(); i++)
108  {
109  if (i)
110  buf.strcat(", ");
111  buf.strcat("( ");
112  buf.append("");
113  { UT_String tmp; tmp = UT_StringWrap(list(i).binddata).makeQuotedString('"'); buf.strcat(tmp); }
114  buf.append(", ");
115  { UT_String tmp; tmp = UT_StringWrap(list(i).bindparm).makeQuotedString('"'); buf.strcat(tmp); }
116 
117  buf.strcat(" )");
118  }
119  buf.strcat(" ]");
120 
122  return result;
123  }
125  {
128 
129 
131  {
132  binddata = ""_UTsh;
133  bindparm = ""_UTsh;
134 
135  }
136 
137  bool operator==(const GroupBindings &src) const
138  {
139  if (binddata != src.binddata) return false;
140  if (bindparm != src.bindparm) return false;
141 
142  return true;
143  }
144  bool operator!=(const GroupBindings &src) const
145  {
146  return !operator==(src);
147  }
148 
149  };
150 
152  {
154 
155  buf.strcat("[ ");
156  for (int i = 0; i < list.entries(); i++)
157  {
158  if (i)
159  buf.strcat(", ");
160  buf.strcat("( ");
161  buf.append("");
162  { UT_String tmp; tmp = UT_StringWrap(list(i).binddata).makeQuotedString('"'); buf.strcat(tmp); }
163  buf.append(", ");
164  { UT_String tmp; tmp = UT_StringWrap(list(i).bindparm).makeQuotedString('"'); buf.strcat(tmp); }
165 
166  buf.strcat(" )");
167  }
168  buf.strcat(" ]");
169 
171  return result;
172  }
174  {
177 
178 
180  {
181  inputnum = 0;
182  inputtype = ""_UTsh;
183 
184  }
185 
186  bool operator==(const InputBindings &src) const
187  {
188  if (inputnum != src.inputnum) return false;
189  if (inputtype != src.inputtype) return false;
190 
191  return true;
192  }
193  bool operator!=(const InputBindings &src) const
194  {
195  return !operator==(src);
196  }
197 
198  };
199 
201  {
203 
204  buf.strcat("[ ");
205  for (int i = 0; i < list.entries(); i++)
206  {
207  if (i)
208  buf.strcat(", ");
209  buf.strcat("( ");
210  buf.append("");
211  buf.appendSprintf("%d", (int) list(i).inputnum);
212  buf.append(", ");
213  { UT_String tmp; tmp = UT_StringWrap(list(i).inputtype).makeQuotedString('"'); buf.strcat(tmp); }
214 
215  buf.strcat(" )");
216  }
217  buf.strcat(" ]");
218 
220  return result;
221  }
222 
224  {
225  myVexScript = ""_UTsh;
226  myVexCWD = ""_UTsh;
227  myVexOutputMask = ""_UTsh;
228  myAutobind = false;
229  myGroupAutobind = false;
230  myGeometryName = ""_UTsh;
231  myAttribClass = 0;
232  myGroup = ""_UTsh;
233  myGroupType = 0;
234  myUseTimeStep = false;
235  myTimeScale = 0;
236  myActivate = false;
237  myMultiThread = false;
238  myUpdateNormals = false;
239  myNumCount = 0;
240  myThreadJobSize = 0;
241  myVexPrecision = ""_UTsh;
242 
243  }
244 
245  explicit GAS_GeometryVexParms(const GAS_GeometryVexParms &) = default;
247  GAS_GeometryVexParms(GAS_GeometryVexParms &&) noexcept = default;
248  GAS_GeometryVexParms &operator=(GAS_GeometryVexParms &&) noexcept = default;
249 
251 
253  {
254  if (myVexScript != src.myVexScript) return false;
255  if (myVexCWD != src.myVexCWD) return false;
256  if (myVexOutputMask != src.myVexOutputMask) return false;
257  if (myBindings != src.myBindings) return false;
258  if (myFieldBindings != src.myFieldBindings) return false;
259  if (myGroupBindings != src.myGroupBindings) return false;
260  if (myInputBindings != src.myInputBindings) return false;
261  if (myAutobind != src.myAutobind) return false;
262  if (myGroupAutobind != src.myGroupAutobind) return false;
263  if (myGeometryName != src.myGeometryName) return false;
264  if (myAttribClass != src.myAttribClass) return false;
265  if (myGroup != src.myGroup) return false;
266  if (myGroupType != src.myGroupType) return false;
267  if (myUseTimeStep != src.myUseTimeStep) return false;
268  if (myTimeScale != src.myTimeScale) return false;
269  if (myActivate != src.myActivate) return false;
270  if (myMultiThread != src.myMultiThread) return false;
271  if (myUpdateNormals != src.myUpdateNormals) return false;
272  if (myNumCount != src.myNumCount) return false;
273  if (myThreadJobSize != src.myThreadJobSize) return false;
274  if (myVexPrecision != src.myVexPrecision) return false;
275 
276 
277  return true;
278  }
280  {
281  return !operator==(src);
282  }
283 
284 
285  class Query : public SIM_Query
286  {
287  public:
288  explicit Query(const SIM_Data *owner, const GAS_GeometryVexParms &parms)
289  : SIM_Query(owner)
290  , myParms(parms)
291  { }
292  ~Query() override {}
293 
294  protected:
295  bool isMyRecord(const char *recordtype) const
296  { return !strcmp(recordtype, "Params"); }
297 
298  int getNumRecordTypesSubclass() const override { return 1; }
299  const char *getRecordTypeNameSubclass(int recordtypenum) const override
300  {
301  if (recordtypenum == 0) return "Params";
302  return 0;
303  }
304  int getNumRecordsSubclass(const char *recordtype) const override
305  {
306  if (isMyRecord(recordtype)) return 1;
307  return 0;
308  }
309  int getNumFieldsSubclass(const char *recordtype) const override
310  {
311  if (isMyRecord(recordtype))
312  return 21;
313  return 0;
314  }
315 
316  const char *getFieldNameSubclass(const char *recordtype,
317  int fieldnum) const override
318  {
319  if (!isMyRecord(recordtype))
320  return 0;
321 
322  switch (fieldnum)
323  {
324  case 0:
325  return "vexscript";
326  case 1:
327  return "vex_cwdpath";
328  case 2:
329  return "vex_outputmask";
330  case 3:
331  return "bindings";
332  case 4:
333  return "fieldbindings";
334  case 5:
335  return "groupbindings";
336  case 6:
337  return "inputbindings";
338  case 7:
339  return "autobind";
340  case 8:
341  return "groupautobind";
342  case 9:
343  return "geometry";
344  case 10:
345  return "attribclass";
346  case 11:
347  return "group";
348  case 12:
349  return "grouptype";
350  case 13:
351  return "usetimestep";
352  case 14:
353  return "timescale";
354  case 15:
355  return "activate";
356  case 16:
357  return "vex_multithread";
358  case 17:
359  return "vex_updatenmls";
360  case 18:
361  return "vex_numcount";
362  case 19:
363  return "vex_threadjobsize";
364  case 20:
365  return "vex_precision";
366 
367  }
368  return 0;
369  }
370  UT_OptionType getFieldTypeSubclass(const char *recordtype,
371  int fieldnum) const override
372  {
373  if (!isMyRecord(recordtype))
374  return UT_OPTION_INVALID;
375 
376  switch (fieldnum)
377  {
378  case 0:
379  return UT_OPTION_STRING;
380  case 1:
381  return UT_OPTION_STRING;
382  case 2:
383  return UT_OPTION_STRING;
384  case 3:
385  return UT_OPTION_STRING;
386  case 4:
387  return UT_OPTION_STRING;
388  case 5:
389  return UT_OPTION_STRING;
390  case 6:
391  return UT_OPTION_STRING;
392  case 7:
393  return UT_OPTION_BOOL;
394  case 8:
395  return UT_OPTION_BOOL;
396  case 9:
397  return UT_OPTION_STRING;
398  case 10:
399  return UT_OPTION_INT;
400  case 11:
401  return UT_OPTION_STRING;
402  case 12:
403  return UT_OPTION_INT;
404  case 13:
405  return UT_OPTION_BOOL;
406  case 14:
407  return UT_OPTION_FPREAL;
408  case 15:
409  return UT_OPTION_BOOL;
410  case 16:
411  return UT_OPTION_BOOL;
412  case 17:
413  return UT_OPTION_BOOL;
414  case 18:
415  return UT_OPTION_INT;
416  case 19:
417  return UT_OPTION_INT;
418  case 20:
419  return UT_OPTION_STRING;
420 
421  }
422  return UT_OPTION_INVALID;
423  }
424 
425  bool getFieldRawSubclass(const char *recordtype,
426  int recordnum,
427  const char *fieldname,
428  UT_OptionEntryPtr &result) const override
429  {
430  if (!isMyRecord(recordtype))
431  return false;
432  if (recordnum != 0)
433  return false;
434  // This is less optimal, but if we are in SIM_Query
435  // land we have already given up on performance.
436  if (!strcmp(fieldname, "vexscript"))
437  {
438  result = UTmakeUnique<UT_OptionString>(myParms.myVexScript);
439  return true;
440  }
441  if (!strcmp(fieldname, "vex_cwdpath"))
442  {
443  result = UTmakeUnique<UT_OptionString>(myParms.myVexCWD);
444  return true;
445  }
446  if (!strcmp(fieldname, "vex_outputmask"))
447  {
448  result = UTmakeUnique<UT_OptionString>(myParms.myVexOutputMask);
449  return true;
450  }
451  if (!strcmp(fieldname, "bindings"))
452  {
453  result = UTmakeUnique<UT_OptionString>(myParms.createString(myParms.myBindings));
454  return true;
455  }
456  if (!strcmp(fieldname, "fieldbindings"))
457  {
458  result = UTmakeUnique<UT_OptionString>(myParms.createString(myParms.myFieldBindings));
459  return true;
460  }
461  if (!strcmp(fieldname, "groupbindings"))
462  {
463  result = UTmakeUnique<UT_OptionString>(myParms.createString(myParms.myGroupBindings));
464  return true;
465  }
466  if (!strcmp(fieldname, "inputbindings"))
467  {
468  result = UTmakeUnique<UT_OptionString>(myParms.createString(myParms.myInputBindings));
469  return true;
470  }
471  if (!strcmp(fieldname, "autobind"))
472  {
473  result = UTmakeUnique<UT_OptionBool>(myParms.myAutobind);
474  return true;
475  }
476  if (!strcmp(fieldname, "groupautobind"))
477  {
478  result = UTmakeUnique<UT_OptionBool>(myParms.myGroupAutobind);
479  return true;
480  }
481  if (!strcmp(fieldname, "geometry"))
482  {
483  result = UTmakeUnique<UT_OptionString>(myParms.myGeometryName);
484  return true;
485  }
486  if (!strcmp(fieldname, "attribclass"))
487  {
488  result = UTmakeUnique<UT_OptionInt>(myParms.myAttribClass);
489  return true;
490  }
491  if (!strcmp(fieldname, "group"))
492  {
493  result = UTmakeUnique<UT_OptionString>(myParms.myGroup);
494  return true;
495  }
496  if (!strcmp(fieldname, "grouptype"))
497  {
498  result = UTmakeUnique<UT_OptionInt>(myParms.myGroupType);
499  return true;
500  }
501  if (!strcmp(fieldname, "usetimestep"))
502  {
503  result = UTmakeUnique<UT_OptionBool>(myParms.myUseTimeStep);
504  return true;
505  }
506  if (!strcmp(fieldname, "timescale"))
507  {
508  result = UTmakeUnique<UT_OptionFpreal>(myParms.myTimeScale);
509  return true;
510  }
511  if (!strcmp(fieldname, "activate"))
512  {
513  result = UTmakeUnique<UT_OptionBool>(myParms.myActivate);
514  return true;
515  }
516  if (!strcmp(fieldname, "vex_multithread"))
517  {
518  result = UTmakeUnique<UT_OptionBool>(myParms.myMultiThread);
519  return true;
520  }
521  if (!strcmp(fieldname, "vex_updatenmls"))
522  {
523  result = UTmakeUnique<UT_OptionBool>(myParms.myUpdateNormals);
524  return true;
525  }
526  if (!strcmp(fieldname, "vex_numcount"))
527  {
528  result = UTmakeUnique<UT_OptionInt>(myParms.myNumCount);
529  return true;
530  }
531  if (!strcmp(fieldname, "vex_threadjobsize"))
532  {
533  result = UTmakeUnique<UT_OptionInt>(myParms.myThreadJobSize);
534  return true;
535  }
536  if (!strcmp(fieldname, "vex_precision"))
537  {
538  result = UTmakeUnique<UT_OptionString>(myParms.myVexPrecision);
539  return true;
540  }
541 
542  // Failed to find
543  return false;
544  }
545 
547  };
548 
549  SIM_Query *createQueryObject(const SIM_Data *owner) const
550  { return new Query(owner, *this); }
551 
552 
553 
554 
555  // Boiler plate to load individual types.
556  static void loadData(UT_IStream &is, int64 &v)
557  { is.bread(&v, 1); }
558  static void loadData(UT_IStream &is, bool &v)
559  { int64 iv; is.bread(&iv, 1); v = iv; }
560  static void loadData(UT_IStream &is, fpreal64 &v)
561  { is.bread<fpreal64>(&v, 1); }
562  static void loadData(UT_IStream &is, UT_Vector2D &v)
563  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1); }
564  static void loadData(UT_IStream &is, UT_Vector3D &v)
565  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
566  is.bread<fpreal64>(&v.z(), 1); }
567  static void loadData(UT_IStream &is, UT_Vector4D &v)
568  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
569  is.bread<fpreal64>(&v.z(), 1); is.bread<fpreal64>(&v.w(), 1); }
570  static void loadData(UT_IStream &is, UT_Matrix2D &v)
571  { for (int r = 0; r < 2; r++) for (int c = 0; c < 2; c++) is.bread<fpreal64>(&v(r, c), 1); }
572  static void loadData(UT_IStream &is, UT_Matrix3D &v)
573  { for (int r = 0; r < 3; r++) for (int c = 0; c < 3; c++) is.bread<fpreal64>(&v(r, c), 1); }
574  static void loadData(UT_IStream &is, UT_Matrix4D &v)
575  { for (int r = 0; r < 4; r++) for (int c = 0; c < 4; c++) is.bread<fpreal64>(&v(r, c), 1); }
576  static void loadData(UT_IStream &is, UT_Vector2I &v)
577  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1); }
578  static void loadData(UT_IStream &is, UT_Vector3I &v)
579  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
580  is.bread<int64>(&v.z(), 1); }
581  static void loadData(UT_IStream &is, UT_Vector4I &v)
582  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
583  is.bread<int64>(&v.z(), 1); is.bread<int64>(&v.w(), 1); }
585  { is.bread(v); }
587  { UT_StringHolder rampdata;
588  loadData(is, rampdata);
589  if (rampdata.isstring())
590  {
591  v.reset(new UT_Ramp());
592  UT_IStream istr((const char *) rampdata, rampdata.length(), UT_ISTREAM_ASCII);
593  v->load(istr);
594  }
595  else v.reset();
596  }
599  loadData(is, data);
600  if (data.isstring())
601  {
602  // Find the data type.
603  const char *colon = UT_StringWrap(data).findChar(':');
604  if (colon)
605  {
606  int typelen = colon - data.buffer();
608  type.strncpy(data.buffer(), typelen);
609  UT_IStream istr(((const char *) data) + typelen + 1, data.length() - (typelen + 1), UT_ISTREAM_BINARY);
610 
611  v = PRM_DataFactory::parseBinary(type.buffer(), istr);
612  }
613  }
614  else v.reset();
615  }
616 
617  static void saveData(std::ostream &os, int64 v)
618  { UTwrite(os, &v); }
619  static void saveData(std::ostream &os, bool v)
620  { int64 iv = v; UTwrite(os, &iv); }
621  static void saveData(std::ostream &os, fpreal64 v)
622  { UTwrite<fpreal64>(os, &v); }
623  static void saveData(std::ostream &os, UT_Vector2D v)
624  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y()); }
625  static void saveData(std::ostream &os, UT_Vector3D v)
626  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
627  UTwrite<fpreal64>(os, &v.z()); }
628  static void saveData(std::ostream &os, UT_Vector4D v)
629  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
630  UTwrite<fpreal64>(os, &v.z()); UTwrite<fpreal64>(os, &v.w()); }
631  static void saveData(std::ostream &os, UT_Matrix2D v)
633  static void saveData(std::ostream &os, UT_Matrix3D v)
635  static void saveData(std::ostream &os, UT_Matrix4D v)
637  static void saveData(std::ostream &os, UT_StringHolder s)
638  { UT_StringWrap(s).saveBinary(os); }
639  static void saveData(std::ostream &os, UT_SharedPtr<UT_Ramp> s)
641  UT_OStringStream ostr;
642  if (s) s->save(ostr);
643  result = ostr.str();
644  saveData(os, result);
645  }
646  static void saveData(std::ostream &os, PRM_DataItemHandle s)
648  UT_OStringStream ostr;
649  if (s)
650  {
651  ostr << s->getDataTypeToken();
652  ostr << ":";
653  s->saveBinary(ostr);
654  }
655  result = ostr.str();
656  saveData(os, result);
657  }
658 
659 
660  void save(std::ostream &os) const
661  {
662  int32 v = version();
663  UTwrite(os, &v);
664  saveData(os, myVexScript);
665  saveData(os, myVexCWD);
666  saveData(os, myVexOutputMask);
667  {
668  int64 length = myBindings.entries();
669  UTwrite(os, &length);
670  for (exint i = 0; i < length; i++)
671  {
672  auto && _curentry = myBindings(i);
673  (void) _curentry;
674  saveData(os, _curentry.binddata);
675  saveData(os, _curentry.bindparm);
676 
677  }
678  }
679  {
680  int64 length = myFieldBindings.entries();
681  UTwrite(os, &length);
682  for (exint i = 0; i < length; i++)
683  {
684  auto && _curentry = myFieldBindings(i);
685  (void) _curentry;
686  saveData(os, _curentry.binddata);
687  saveData(os, _curentry.bindparm);
688 
689  }
690  }
691  {
692  int64 length = myGroupBindings.entries();
693  UTwrite(os, &length);
694  for (exint i = 0; i < length; i++)
695  {
696  auto && _curentry = myGroupBindings(i);
697  (void) _curentry;
698  saveData(os, _curentry.binddata);
699  saveData(os, _curentry.bindparm);
700 
701  }
702  }
703  {
704  int64 length = myInputBindings.entries();
705  UTwrite(os, &length);
706  for (exint i = 0; i < length; i++)
707  {
708  auto && _curentry = myInputBindings(i);
709  (void) _curentry;
710  saveData(os, _curentry.inputnum);
711  saveData(os, _curentry.inputtype);
712 
713  }
714  }
715  saveData(os, myAutobind);
716  saveData(os, myGroupAutobind);
717  saveData(os, myGeometryName);
718  saveData(os, myAttribClass);
719  saveData(os, myGroup);
720  saveData(os, myGroupType);
721  saveData(os, myUseTimeStep);
722  saveData(os, myTimeScale);
723  saveData(os, myActivate);
724  saveData(os, myMultiThread);
725  saveData(os, myUpdateNormals);
726  saveData(os, myNumCount);
727  saveData(os, myThreadJobSize);
728  saveData(os, myVexPrecision);
729 
730  }
731 
732  bool load(UT_IStream &is)
733  {
734  int32 v;
735  is.bread(&v, 1);
736  if (version() != v)
737  {
738  // Fail incompatible versions
739  return false;
740  }
741  loadData(is, myVexScript);
742  loadData(is, myVexCWD);
743  loadData(is, myVexOutputMask);
744  {
745  int64 length;
746  is.read(&length, 1);
747  myBindings.setSize(length);
748  for (exint i = 0; i < length; i++)
749  {
750  auto && _curentry = myBindings(i);
751  (void) _curentry;
752  loadData(is, _curentry.binddata);
753  loadData(is, _curentry.bindparm);
754 
755  }
756  }
757  {
758  int64 length;
759  is.read(&length, 1);
760  myFieldBindings.setSize(length);
761  for (exint i = 0; i < length; i++)
762  {
763  auto && _curentry = myFieldBindings(i);
764  (void) _curentry;
765  loadData(is, _curentry.binddata);
766  loadData(is, _curentry.bindparm);
767 
768  }
769  }
770  {
771  int64 length;
772  is.read(&length, 1);
773  myGroupBindings.setSize(length);
774  for (exint i = 0; i < length; i++)
775  {
776  auto && _curentry = myGroupBindings(i);
777  (void) _curentry;
778  loadData(is, _curentry.binddata);
779  loadData(is, _curentry.bindparm);
780 
781  }
782  }
783  {
784  int64 length;
785  is.read(&length, 1);
786  myInputBindings.setSize(length);
787  for (exint i = 0; i < length; i++)
788  {
789  auto && _curentry = myInputBindings(i);
790  (void) _curentry;
791  loadData(is, _curentry.inputnum);
792  loadData(is, _curentry.inputtype);
793 
794  }
795  }
796  loadData(is, myAutobind);
797  loadData(is, myGroupAutobind);
798  loadData(is, myGeometryName);
799  loadData(is, myAttribClass);
800  loadData(is, myGroup);
801  loadData(is, myGroupType);
802  loadData(is, myUseTimeStep);
803  loadData(is, myTimeScale);
804  loadData(is, myActivate);
805  loadData(is, myMultiThread);
806  loadData(is, myUpdateNormals);
807  loadData(is, myNumCount);
808  loadData(is, myThreadJobSize);
809  loadData(is, myVexPrecision);
810 
811  return true;
812  }
813 
814  const UT_StringHolder & getVexScript() const { return myVexScript; }
815  void setVexScript(const UT_StringHolder & val) { myVexScript = val; }
816  const UT_StringHolder & getVexCWD() const { return myVexCWD; }
817  void setVexCWD(const UT_StringHolder & val) { myVexCWD = val; }
818  const UT_StringHolder & getVexOutputMask() const { return myVexOutputMask; }
819  void setVexOutputMask(const UT_StringHolder & val) { myVexOutputMask = val; }
820  const UT_Array<Bindings> &getBindings() const { return myBindings; }
821 void setBindings(const UT_Array<Bindings> &val) { myBindings = val; }
822  const UT_Array<FieldBindings> &getFieldBindings() const { return myFieldBindings; }
823 void setFieldBindings(const UT_Array<FieldBindings> &val) { myFieldBindings = val; }
824  const UT_Array<GroupBindings> &getGroupBindings() const { return myGroupBindings; }
825 void setGroupBindings(const UT_Array<GroupBindings> &val) { myGroupBindings = val; }
826  const UT_Array<InputBindings> &getInputBindings() const { return myInputBindings; }
827 void setInputBindings(const UT_Array<InputBindings> &val) { myInputBindings = val; }
828  bool getAutobind() const { return myAutobind; }
829  void setAutobind(bool val) { myAutobind = val; }
830  bool getGroupAutobind() const { return myGroupAutobind; }
831  void setGroupAutobind(bool val) { myGroupAutobind = val; }
832  const UT_StringHolder & getGeometryName() const { return myGeometryName; }
833  void setGeometryName(const UT_StringHolder & val) { myGeometryName = val; }
834  int64 getAttribClass() const { return myAttribClass; }
835  void setAttribClass(int64 val) { myAttribClass = val; }
836  const UT_StringHolder & getGroup() const { return myGroup; }
837  void setGroup(const UT_StringHolder & val) { myGroup = val; }
838  int64 getGroupType() const { return myGroupType; }
839  void setGroupType(int64 val) { myGroupType = val; }
840  bool getUseTimeStep() const { return myUseTimeStep; }
841  void setUseTimeStep(bool val) { myUseTimeStep = val; }
842  fpreal64 getTimeScale() const { return myTimeScale; }
843  void setTimeScale(fpreal64 val) { myTimeScale = val; }
844  bool getActivate() const { return myActivate; }
845  void setActivate(bool val) { myActivate = val; }
846  bool getMultiThread() const { return myMultiThread; }
847  void setMultiThread(bool val) { myMultiThread = val; }
848  bool getUpdateNormals() const { return myUpdateNormals; }
849  void setUpdateNormals(bool val) { myUpdateNormals = val; }
850  int64 getNumCount() const { return myNumCount; }
851  void setNumCount(int64 val) { myNumCount = val; }
852  int64 getThreadJobSize() const { return myThreadJobSize; }
853  void setThreadJobSize(int64 val) { myThreadJobSize = val; }
854  const UT_StringHolder & getVexPrecision() const { return myVexPrecision; }
855  void setVexPrecision(const UT_StringHolder & val) { myVexPrecision = val; }
856 
857 private:
858  UT_StringHolder myVexScript;
859  UT_StringHolder myVexCWD;
860  UT_StringHolder myVexOutputMask;
861  UT_Array<Bindings> myBindings;
862  UT_Array<FieldBindings> myFieldBindings;
863  UT_Array<GroupBindings> myGroupBindings;
864  UT_Array<InputBindings> myInputBindings;
865  bool myAutobind;
866  bool myGroupAutobind;
867  UT_StringHolder myGeometryName;
868  int64 myAttribClass;
869  UT_StringHolder myGroup;
870  int64 myGroupType;
871  bool myUseTimeStep;
872  fpreal64 myTimeScale;
873  bool myActivate;
874  bool myMultiThread;
875  bool myUpdateNormals;
876  int64 myNumCount;
877  int64 myThreadJobSize;
878  UT_StringHolder myVexPrecision;
879 
880 };
type
Definition: core.h:556
const UT_StringHolder & getVexScript() const
void setVexScript(const UT_StringHolder &val)
const UT_Array< Bindings > & getBindings() const
#define SIMZ_API
Definition: SIMZ_API.h:10
const UT_Array< FieldBindings > & getFieldBindings() const
Query(const SIM_Data *owner, const GAS_GeometryVexParms &parms)
void setGroup(const UT_StringHolder &val)
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glcorearb.h:2540
const UT_StringHolder & getGeometryName() const
const UT_StringHolder & getGroup() const
int int32
Definition: SYS_Types.h:39
const char * getFieldNameSubclass(const char *recordtype, int fieldnum) const override
bool operator!=(const GroupBindings &src) const
static void loadData(UT_IStream &is, UT_Vector3D &v)
void
Definition: png.h:1083
exint bread(int32 *buffer, exint asize=1)
GLboolean * data
Definition: glcorearb.h:131
constexpr SYS_FORCE_INLINE T & y() noexcept
Definition: UT_Vector4.h:493
const GLdouble * v
Definition: glcorearb.h:837
UT_OptionType
Definition: UT_Options.h:44
UT_String makeQuotedString(char delimiter='\'', bool escape_nonprinting=false) const
static void loadData(UT_IStream &is, UT_Vector4D &v)
static void loadData(UT_IStream &is, UT_Vector3I &v)
constexpr SYS_FORCE_INLINE T & z() noexcept
Definition: UT_Vector3.h:667
int64 exint
Definition: SYS_Types.h:125
static void saveData(std::ostream &os, PRM_DataItemHandle s)
bool operator!=(const GAS_GeometryVexParms &src) const
SYS_FORCE_INLINE const char * buffer() const
GLdouble s
Definition: glad.h:3009
static void loadData(UT_IStream &is, UT_Vector2D &v)
GLuint GLsizei GLsizei * length
Definition: glcorearb.h:795
UT_StringHolder createString(const UT_Array< FieldBindings > &list) const
UT_StringHolder createString(const UT_Array< Bindings > &list) const
bool operator==(const GroupBindings &src) const
An output stream object that owns its own string buffer storage.
void setVexCWD(const UT_StringHolder &val)
const UT_StringHolder & getVexCWD() const
static void saveData(std::ostream &os, UT_Matrix2D v)
**But if you need a result
Definition: thread.h:622
bool operator==(const InputBindings &src) const
void setGroupBindings(const UT_Array< GroupBindings > &val)
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
bool operator==(const GAS_GeometryVexParms &src) const
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
static void loadData(UT_IStream &is, UT_Vector2I &v)
static void loadData(UT_IStream &is, UT_Matrix2D &v)
void setBindings(const UT_Array< Bindings > &val)
const GAS_GeometryVexParms & myParms
constexpr SYS_FORCE_INLINE T & x() noexcept
Definition: UT_Vector4.h:491
UT_OptionType getFieldTypeSubclass(const char *recordtype, int fieldnum) const override
double fpreal64
Definition: SYS_Types.h:201
const char * getRecordTypeNameSubclass(int recordtypenum) const override
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
Definition: APEX_Include.h:55
constexpr SYS_FORCE_INLINE T & x() noexcept
Definition: UT_Vector2.h:423
static void saveData(std::ostream &os, UT_Vector4D v)
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
Definition: Dimensions.h:137
void setVexOutputMask(const UT_StringHolder &val)
SIM_Query * createQueryObject(const SIM_Data *owner) const
exint length() const
void setGeometryName(const UT_StringHolder &val)
const UT_Array< InputBindings > & getInputBindings() const
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
Definition: UT_SharedPtr.h:36
const UT_StringHolder & getVexOutputMask() const
constexpr SYS_FORCE_INLINE T & z() noexcept
Definition: UT_Vector4.h:495
static void loadData(UT_IStream &is, fpreal64 &v)
static void saveData(std::ostream &os, fpreal64 v)
bool operator==(const FieldBindings &src) const
static void saveData(std::ostream &os, UT_Vector3D v)
const UT_Array< GroupBindings > & getGroupBindings() const
exint read(bool *array, exint sz=1)
Definition: UT_IStream.h:276
void setFieldBindings(const UT_Array< FieldBindings > &val)
long long int64
Definition: SYS_Types.h:116
void setVexPrecision(const UT_StringHolder &val)
static void saveData(std::ostream &os, UT_Matrix3D v)
static void saveData(std::ostream &os, bool v)
static void loadData(UT_IStream &is, UT_StringHolder &v)
static void saveData(std::ostream &os, UT_Matrix4D v)
bool operator!=(const Bindings &src) const
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
bool operator==(const Bindings &src) const
SYS_FORCE_INLINE void strcat(const char *src)
void saveBinary(std::ostream &os) const
Save string to binary stream.
Definition: UT_String.h:303
GT_API const UT_StringHolder version
static void loadData(UT_IStream &is, UT_Matrix3D &v)
UT_StringHolder createString(const UT_Array< GroupBindings > &list) const
exint entries() const
Alias of size(). size() is preferred.
Definition: UT_Array.h:655
int getNumFieldsSubclass(const char *recordtype) const override
UT_StringHolder createString(const UT_Array< InputBindings > &list) const
GA_API const UT_StringHolder parms
static void loadData(UT_IStream &is, UT_Matrix4D &v)
int int appendSprintf(const char *fmt,...) SYS_PRINTF_CHECK_ATTRIBUTE(2
static void loadData(UT_IStream &is, int64 &v)
static void saveData(std::ostream &os, int64 v)
LeafData & operator=(const LeafData &)=delete
Utility class for containing a color ramp.
Definition: UT_Ramp.h:96
bool getFieldRawSubclass(const char *recordtype, int recordnum, const char *fieldname, UT_OptionEntryPtr &result) const override
constexpr SYS_FORCE_INLINE T & w() noexcept
Definition: UT_Vector4.h:497
SYS_FORCE_INLINE void append(char character)
GLuint GLfloat * val
Definition: glcorearb.h:1608
int getNumRecordTypesSubclass() const override
void setInputBindings(const UT_Array< InputBindings > &val)
int getNumRecordsSubclass(const char *recordtype) const override
const char * findChar(int c) const
Definition: UT_String.h:1401
static void saveData(std::ostream &os, UT_Vector2D v)
bool isMyRecord(const char *recordtype) const
const UT_StringHolder & getVexPrecision() const
GLboolean r
Definition: glcorearb.h:1222
static void saveData(std::ostream &os, UT_StringHolder s)
constexpr SYS_FORCE_INLINE T & y() noexcept
Definition: UT_Vector3.h:665
static void loadData(UT_IStream &is, UT_Vector4I &v)
bool operator!=(const InputBindings &src) const
void save(std::ostream &os) const
constexpr SYS_FORCE_INLINE T & y() noexcept
Definition: UT_Vector2.h:425
UT_UniquePtr< UT_OptionEntry > UT_OptionEntryPtr
SYS_FORCE_INLINE bool isstring() const
bool operator!=(const FieldBindings &src) const
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
static void loadData(UT_IStream &is, bool &v)
GLenum src
Definition: glcorearb.h:1793
constexpr SYS_FORCE_INLINE T & x() noexcept
Definition: UT_Vector3.h:663