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  return true;
277  }
279  {
280  return !operator==(src);
281  }
282 
283 
284  class Query : public SIM_Query
285  {
286  public:
287  explicit Query(const SIM_Data *owner, const GAS_GeometryVexParms &parms)
288  : SIM_Query(owner)
289  , myParms(parms)
290  { }
291  ~Query() override {}
292 
293  protected:
294  bool isMyRecord(const char *recordtype) const
295  { return !strcmp(recordtype, "Params"); }
296 
297  int getNumRecordTypesSubclass() const override { return 1; }
298  const char *getRecordTypeNameSubclass(int recordtypenum) const override
299  {
300  if (recordtypenum == 0) return "Params";
301  return 0;
302  }
303  int getNumRecordsSubclass(const char *recordtype) const override
304  {
305  if (isMyRecord(recordtype)) return 1;
306  return 0;
307  }
308  int getNumFieldsSubclass(const char *recordtype) const override
309  {
310  if (isMyRecord(recordtype))
311  return 21;
312  return 0;
313  }
314 
315  const char *getFieldNameSubclass(const char *recordtype,
316  int fieldnum) const override
317  {
318  if (!isMyRecord(recordtype))
319  return 0;
320 
321  switch (fieldnum)
322  {
323  case 0:
324  return "vexscript";
325  case 1:
326  return "vex_cwdpath";
327  case 2:
328  return "vex_outputmask";
329  case 3:
330  return "bindings";
331  case 4:
332  return "fieldbindings";
333  case 5:
334  return "groupbindings";
335  case 6:
336  return "inputbindings";
337  case 7:
338  return "autobind";
339  case 8:
340  return "groupautobind";
341  case 9:
342  return "geometry";
343  case 10:
344  return "attribclass";
345  case 11:
346  return "group";
347  case 12:
348  return "grouptype";
349  case 13:
350  return "usetimestep";
351  case 14:
352  return "timescale";
353  case 15:
354  return "activate";
355  case 16:
356  return "vex_multithread";
357  case 17:
358  return "vex_updatenmls";
359  case 18:
360  return "vex_numcount";
361  case 19:
362  return "vex_threadjobsize";
363  case 20:
364  return "vex_precision";
365 
366  }
367  return 0;
368  }
369  UT_OptionType getFieldTypeSubclass(const char *recordtype,
370  int fieldnum) const override
371  {
372  if (!isMyRecord(recordtype))
373  return UT_OPTION_INVALID;
374 
375  switch (fieldnum)
376  {
377  case 0:
378  return UT_OPTION_STRING;
379  case 1:
380  return UT_OPTION_STRING;
381  case 2:
382  return UT_OPTION_STRING;
383  case 3:
384  return UT_OPTION_STRING;
385  case 4:
386  return UT_OPTION_STRING;
387  case 5:
388  return UT_OPTION_STRING;
389  case 6:
390  return UT_OPTION_STRING;
391  case 7:
392  return UT_OPTION_BOOL;
393  case 8:
394  return UT_OPTION_BOOL;
395  case 9:
396  return UT_OPTION_STRING;
397  case 10:
398  return UT_OPTION_INT;
399  case 11:
400  return UT_OPTION_STRING;
401  case 12:
402  return UT_OPTION_INT;
403  case 13:
404  return UT_OPTION_BOOL;
405  case 14:
406  return UT_OPTION_FPREAL;
407  case 15:
408  return UT_OPTION_BOOL;
409  case 16:
410  return UT_OPTION_BOOL;
411  case 17:
412  return UT_OPTION_BOOL;
413  case 18:
414  return UT_OPTION_INT;
415  case 19:
416  return UT_OPTION_INT;
417  case 20:
418  return UT_OPTION_STRING;
419 
420  }
421  return UT_OPTION_INVALID;
422  }
423 
424  bool getFieldRawSubclass(const char *recordtype,
425  int recordnum,
426  const char *fieldname,
427  UT_OptionEntryPtr &result) const override
428  {
429  if (!isMyRecord(recordtype))
430  return false;
431  if (recordnum != 0)
432  return false;
433  // This is less optimal, but if we are in SIM_Query
434  // land we have already given up on performance.
435  if (!strcmp(fieldname, "vexscript"))
436  {
437  result = UTmakeUnique<UT_OptionString>(myParms.myVexScript);
438  return true;
439  }
440  if (!strcmp(fieldname, "vex_cwdpath"))
441  {
442  result = UTmakeUnique<UT_OptionString>(myParms.myVexCWD);
443  return true;
444  }
445  if (!strcmp(fieldname, "vex_outputmask"))
446  {
447  result = UTmakeUnique<UT_OptionString>(myParms.myVexOutputMask);
448  return true;
449  }
450  if (!strcmp(fieldname, "bindings"))
451  {
452  result = UTmakeUnique<UT_OptionString>(myParms.createString(myParms.myBindings));
453  return true;
454  }
455  if (!strcmp(fieldname, "fieldbindings"))
456  {
457  result = UTmakeUnique<UT_OptionString>(myParms.createString(myParms.myFieldBindings));
458  return true;
459  }
460  if (!strcmp(fieldname, "groupbindings"))
461  {
462  result = UTmakeUnique<UT_OptionString>(myParms.createString(myParms.myGroupBindings));
463  return true;
464  }
465  if (!strcmp(fieldname, "inputbindings"))
466  {
467  result = UTmakeUnique<UT_OptionString>(myParms.createString(myParms.myInputBindings));
468  return true;
469  }
470  if (!strcmp(fieldname, "autobind"))
471  {
472  result = UTmakeUnique<UT_OptionBool>(myParms.myAutobind);
473  return true;
474  }
475  if (!strcmp(fieldname, "groupautobind"))
476  {
477  result = UTmakeUnique<UT_OptionBool>(myParms.myGroupAutobind);
478  return true;
479  }
480  if (!strcmp(fieldname, "geometry"))
481  {
482  result = UTmakeUnique<UT_OptionString>(myParms.myGeometryName);
483  return true;
484  }
485  if (!strcmp(fieldname, "attribclass"))
486  {
487  result = UTmakeUnique<UT_OptionInt>(myParms.myAttribClass);
488  return true;
489  }
490  if (!strcmp(fieldname, "group"))
491  {
492  result = UTmakeUnique<UT_OptionString>(myParms.myGroup);
493  return true;
494  }
495  if (!strcmp(fieldname, "grouptype"))
496  {
497  result = UTmakeUnique<UT_OptionInt>(myParms.myGroupType);
498  return true;
499  }
500  if (!strcmp(fieldname, "usetimestep"))
501  {
502  result = UTmakeUnique<UT_OptionBool>(myParms.myUseTimeStep);
503  return true;
504  }
505  if (!strcmp(fieldname, "timescale"))
506  {
507  result = UTmakeUnique<UT_OptionFpreal>(myParms.myTimeScale);
508  return true;
509  }
510  if (!strcmp(fieldname, "activate"))
511  {
512  result = UTmakeUnique<UT_OptionBool>(myParms.myActivate);
513  return true;
514  }
515  if (!strcmp(fieldname, "vex_multithread"))
516  {
517  result = UTmakeUnique<UT_OptionBool>(myParms.myMultiThread);
518  return true;
519  }
520  if (!strcmp(fieldname, "vex_updatenmls"))
521  {
522  result = UTmakeUnique<UT_OptionBool>(myParms.myUpdateNormals);
523  return true;
524  }
525  if (!strcmp(fieldname, "vex_numcount"))
526  {
527  result = UTmakeUnique<UT_OptionInt>(myParms.myNumCount);
528  return true;
529  }
530  if (!strcmp(fieldname, "vex_threadjobsize"))
531  {
532  result = UTmakeUnique<UT_OptionInt>(myParms.myThreadJobSize);
533  return true;
534  }
535  if (!strcmp(fieldname, "vex_precision"))
536  {
537  result = UTmakeUnique<UT_OptionString>(myParms.myVexPrecision);
538  return true;
539  }
540 
541  // Failed to find
542  return false;
543  }
544 
546  };
547 
548  SIM_Query *createQueryObject(const SIM_Data *owner) const
549  { return new Query(owner, *this); }
550 
551 
552 
553 
554  // Boiler plate to load individual types.
555  static void loadData(UT_IStream &is, int64 &v)
556  { is.bread(&v, 1); }
557  static void loadData(UT_IStream &is, bool &v)
558  { int64 iv; is.bread(&iv, 1); v = iv; }
559  static void loadData(UT_IStream &is, fpreal64 &v)
560  { is.bread<fpreal64>(&v, 1); }
561  static void loadData(UT_IStream &is, UT_Vector2D &v)
562  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1); }
563  static void loadData(UT_IStream &is, UT_Vector3D &v)
564  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
565  is.bread<fpreal64>(&v.z(), 1); }
566  static void loadData(UT_IStream &is, UT_Vector4D &v)
567  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
568  is.bread<fpreal64>(&v.z(), 1); is.bread<fpreal64>(&v.w(), 1); }
569  static void loadData(UT_IStream &is, UT_Matrix2D &v)
570  { for (int r = 0; r < 2; r++) for (int c = 0; c < 2; c++) is.bread<fpreal64>(&v(r, c), 1); }
571  static void loadData(UT_IStream &is, UT_Matrix3D &v)
572  { for (int r = 0; r < 3; r++) for (int c = 0; c < 3; c++) is.bread<fpreal64>(&v(r, c), 1); }
573  static void loadData(UT_IStream &is, UT_Matrix4D &v)
574  { for (int r = 0; r < 4; r++) for (int c = 0; c < 4; c++) is.bread<fpreal64>(&v(r, c), 1); }
575  static void loadData(UT_IStream &is, UT_Vector2I &v)
576  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1); }
577  static void loadData(UT_IStream &is, UT_Vector3I &v)
578  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
579  is.bread<int64>(&v.z(), 1); }
580  static void loadData(UT_IStream &is, UT_Vector4I &v)
581  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
582  is.bread<int64>(&v.z(), 1); is.bread<int64>(&v.w(), 1); }
584  { is.bread(v); }
586  { UT_StringHolder rampdata;
587  loadData(is, rampdata);
588  if (rampdata.isstring())
589  {
590  v.reset(new UT_Ramp());
591  UT_IStream istr((const char *) rampdata, rampdata.length(), UT_ISTREAM_ASCII);
592  v->load(istr);
593  }
594  else v.reset();
595  }
598  loadData(is, data);
599  if (data.isstring())
600  {
601  // Find the data type.
602  const char *colon = UT_StringWrap(data).findChar(':');
603  if (colon)
604  {
605  int typelen = colon - data.buffer();
607  type.strncpy(data.buffer(), typelen);
608  UT_IStream istr(((const char *) data) + typelen + 1, data.length() - (typelen + 1), UT_ISTREAM_BINARY);
609 
610  v = PRM_DataFactory::parseBinary(type.buffer(), istr);
611  }
612  }
613  else v.reset();
614  }
615 
616  static void saveData(std::ostream &os, int64 v)
617  { UTwrite(os, &v); }
618  static void saveData(std::ostream &os, bool v)
619  { int64 iv = v; UTwrite(os, &iv); }
620  static void saveData(std::ostream &os, fpreal64 v)
621  { UTwrite<fpreal64>(os, &v); }
622  static void saveData(std::ostream &os, UT_Vector2D v)
623  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y()); }
624  static void saveData(std::ostream &os, UT_Vector3D v)
625  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
626  UTwrite<fpreal64>(os, &v.z()); }
627  static void saveData(std::ostream &os, UT_Vector4D v)
628  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
629  UTwrite<fpreal64>(os, &v.z()); UTwrite<fpreal64>(os, &v.w()); }
630  static void saveData(std::ostream &os, UT_Matrix2D v)
632  static void saveData(std::ostream &os, UT_Matrix3D v)
634  static void saveData(std::ostream &os, UT_Matrix4D v)
636  static void saveData(std::ostream &os, UT_StringHolder s)
637  { UT_StringWrap(s).saveBinary(os); }
638  static void saveData(std::ostream &os, UT_SharedPtr<UT_Ramp> s)
640  UT_OStringStream ostr;
641  if (s) s->save(ostr);
642  result = ostr.str();
643  saveData(os, result);
644  }
645  static void saveData(std::ostream &os, PRM_DataItemHandle s)
647  UT_OStringStream ostr;
648  if (s)
649  {
650  ostr << s->getDataTypeToken();
651  ostr << ":";
652  s->saveBinary(ostr);
653  }
654  result = ostr.str();
655  saveData(os, result);
656  }
657 
658 
659  void save(std::ostream &os) const
660  {
661  int32 v = version();
662  UTwrite(os, &v);
663  saveData(os, myVexScript);
664  saveData(os, myVexCWD);
665  saveData(os, myVexOutputMask);
666  {
667  int64 length = myBindings.entries();
668  UTwrite(os, &length);
669  for (exint i = 0; i < length; i++)
670  {
671  auto && _curentry = myBindings(i);
672  (void) _curentry;
673  saveData(os, _curentry.binddata);
674  saveData(os, _curentry.bindparm);
675 
676  }
677  }
678  {
679  int64 length = myFieldBindings.entries();
680  UTwrite(os, &length);
681  for (exint i = 0; i < length; i++)
682  {
683  auto && _curentry = myFieldBindings(i);
684  (void) _curentry;
685  saveData(os, _curentry.binddata);
686  saveData(os, _curentry.bindparm);
687 
688  }
689  }
690  {
691  int64 length = myGroupBindings.entries();
692  UTwrite(os, &length);
693  for (exint i = 0; i < length; i++)
694  {
695  auto && _curentry = myGroupBindings(i);
696  (void) _curentry;
697  saveData(os, _curentry.binddata);
698  saveData(os, _curentry.bindparm);
699 
700  }
701  }
702  {
703  int64 length = myInputBindings.entries();
704  UTwrite(os, &length);
705  for (exint i = 0; i < length; i++)
706  {
707  auto && _curentry = myInputBindings(i);
708  (void) _curentry;
709  saveData(os, _curentry.inputnum);
710  saveData(os, _curentry.inputtype);
711 
712  }
713  }
714  saveData(os, myAutobind);
715  saveData(os, myGroupAutobind);
716  saveData(os, myGeometryName);
717  saveData(os, myAttribClass);
718  saveData(os, myGroup);
719  saveData(os, myGroupType);
720  saveData(os, myUseTimeStep);
721  saveData(os, myTimeScale);
722  saveData(os, myActivate);
723  saveData(os, myMultiThread);
724  saveData(os, myUpdateNormals);
725  saveData(os, myNumCount);
726  saveData(os, myThreadJobSize);
727  saveData(os, myVexPrecision);
728 
729  }
730 
731  bool load(UT_IStream &is)
732  {
733  int32 v;
734  is.bread(&v, 1);
735  if (version() != v)
736  {
737  // Fail incompatible versions
738  return false;
739  }
740  loadData(is, myVexScript);
741  loadData(is, myVexCWD);
742  loadData(is, myVexOutputMask);
743  {
744  int64 length;
745  is.read(&length, 1);
746  myBindings.setSize(length);
747  for (exint i = 0; i < length; i++)
748  {
749  auto && _curentry = myBindings(i);
750  (void) _curentry;
751  loadData(is, _curentry.binddata);
752  loadData(is, _curentry.bindparm);
753 
754  }
755  }
756  {
757  int64 length;
758  is.read(&length, 1);
759  myFieldBindings.setSize(length);
760  for (exint i = 0; i < length; i++)
761  {
762  auto && _curentry = myFieldBindings(i);
763  (void) _curentry;
764  loadData(is, _curentry.binddata);
765  loadData(is, _curentry.bindparm);
766 
767  }
768  }
769  {
770  int64 length;
771  is.read(&length, 1);
772  myGroupBindings.setSize(length);
773  for (exint i = 0; i < length; i++)
774  {
775  auto && _curentry = myGroupBindings(i);
776  (void) _curentry;
777  loadData(is, _curentry.binddata);
778  loadData(is, _curentry.bindparm);
779 
780  }
781  }
782  {
783  int64 length;
784  is.read(&length, 1);
785  myInputBindings.setSize(length);
786  for (exint i = 0; i < length; i++)
787  {
788  auto && _curentry = myInputBindings(i);
789  (void) _curentry;
790  loadData(is, _curentry.inputnum);
791  loadData(is, _curentry.inputtype);
792 
793  }
794  }
795  loadData(is, myAutobind);
796  loadData(is, myGroupAutobind);
797  loadData(is, myGeometryName);
798  loadData(is, myAttribClass);
799  loadData(is, myGroup);
800  loadData(is, myGroupType);
801  loadData(is, myUseTimeStep);
802  loadData(is, myTimeScale);
803  loadData(is, myActivate);
804  loadData(is, myMultiThread);
805  loadData(is, myUpdateNormals);
806  loadData(is, myNumCount);
807  loadData(is, myThreadJobSize);
808  loadData(is, myVexPrecision);
809 
810  return true;
811  }
812 
813  const UT_StringHolder & getVexScript() const { return myVexScript; }
814  void setVexScript(const UT_StringHolder & val) { myVexScript = val; }
815  const UT_StringHolder & getVexCWD() const { return myVexCWD; }
816  void setVexCWD(const UT_StringHolder & val) { myVexCWD = val; }
817  const UT_StringHolder & getVexOutputMask() const { return myVexOutputMask; }
818  void setVexOutputMask(const UT_StringHolder & val) { myVexOutputMask = val; }
819  const UT_Array<Bindings> &getBindings() const { return myBindings; }
820 void setBindings(const UT_Array<Bindings> &val) { myBindings = val; }
821  const UT_Array<FieldBindings> &getFieldBindings() const { return myFieldBindings; }
822 void setFieldBindings(const UT_Array<FieldBindings> &val) { myFieldBindings = val; }
823  const UT_Array<GroupBindings> &getGroupBindings() const { return myGroupBindings; }
824 void setGroupBindings(const UT_Array<GroupBindings> &val) { myGroupBindings = val; }
825  const UT_Array<InputBindings> &getInputBindings() const { return myInputBindings; }
826 void setInputBindings(const UT_Array<InputBindings> &val) { myInputBindings = val; }
827  bool getAutobind() const { return myAutobind; }
828  void setAutobind(bool val) { myAutobind = val; }
829  bool getGroupAutobind() const { return myGroupAutobind; }
830  void setGroupAutobind(bool val) { myGroupAutobind = val; }
831  const UT_StringHolder & getGeometryName() const { return myGeometryName; }
832  void setGeometryName(const UT_StringHolder & val) { myGeometryName = val; }
833  int64 getAttribClass() const { return myAttribClass; }
834  void setAttribClass(int64 val) { myAttribClass = val; }
835  const UT_StringHolder & getGroup() const { return myGroup; }
836  void setGroup(const UT_StringHolder & val) { myGroup = val; }
837  int64 getGroupType() const { return myGroupType; }
838  void setGroupType(int64 val) { myGroupType = val; }
839  bool getUseTimeStep() const { return myUseTimeStep; }
840  void setUseTimeStep(bool val) { myUseTimeStep = val; }
841  fpreal64 getTimeScale() const { return myTimeScale; }
842  void setTimeScale(fpreal64 val) { myTimeScale = val; }
843  bool getActivate() const { return myActivate; }
844  void setActivate(bool val) { myActivate = val; }
845  bool getMultiThread() const { return myMultiThread; }
846  void setMultiThread(bool val) { myMultiThread = val; }
847  bool getUpdateNormals() const { return myUpdateNormals; }
848  void setUpdateNormals(bool val) { myUpdateNormals = val; }
849  int64 getNumCount() const { return myNumCount; }
850  void setNumCount(int64 val) { myNumCount = val; }
851  int64 getThreadJobSize() const { return myThreadJobSize; }
852  void setThreadJobSize(int64 val) { myThreadJobSize = val; }
853  const UT_StringHolder & getVexPrecision() const { return myVexPrecision; }
854  void setVexPrecision(const UT_StringHolder & val) { myVexPrecision = val; }
855 
856 private:
857  UT_StringHolder myVexScript;
858  UT_StringHolder myVexCWD;
859  UT_StringHolder myVexOutputMask;
860  UT_Array<Bindings> myBindings;
861  UT_Array<FieldBindings> myFieldBindings;
862  UT_Array<GroupBindings> myGroupBindings;
863  UT_Array<InputBindings> myInputBindings;
864  bool myAutobind;
865  bool myGroupAutobind;
866  UT_StringHolder myGeometryName;
867  int64 myAttribClass;
868  UT_StringHolder myGroup;
869  int64 myGroupType;
870  bool myUseTimeStep;
871  fpreal64 myTimeScale;
872  bool myActivate;
873  bool myMultiThread;
874  bool myUpdateNormals;
875  int64 myNumCount;
876  int64 myThreadJobSize;
877  UT_StringHolder myVexPrecision;
878 
879 };
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:613
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
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:296
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:648
int getNumFieldsSubclass(const char *recordtype) const override
UT_StringHolder createString(const UT_Array< InputBindings > &list) const
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:92
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:1395
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
type
Definition: core.h:1059
static void loadData(UT_IStream &is, UT_Vector4I &v)
bool operator!=(const InputBindings &src) const
void save(std::ostream &os) const
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
Definition: PRM_Parm.h:97
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