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