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 
7 #include <OP/OP_Utils.h>
8 #include <PRM/PRM_Parm.h>
9 #include <UT/UT_IStream.h>
10 #include <UT/UT_NTStreamUtil.h>
11 #include <UT/UT_Ramp.h>
12 #include <UT/UT_SharedPtr.h>
13 #include <UT/UT_StringHolder.h>
14 #include <UT/UT_StringStream.h>
15 #include <UT/UT_VectorTypes.h>
16 #include <SYS/SYS_Types.h>
17 
18 using namespace UT::Literal;
19 
20 class DEP_MicroNode;
21 
23 {
24 public:
25  static int version() { return 1; }
26  struct Bindings
27  {
30 
31 
33  {
34  binddata = ""_sh;
35  bindparm = ""_sh;
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 
72  UT_StringHolder result = buf;
73  return result;
74  }
76  {
79 
80 
82  {
83  binddata = ""_sh;
84  bindparm = ""_sh;
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 
121  UT_StringHolder result = buf;
122  return result;
123  }
125  {
128 
129 
131  {
132  binddata = ""_sh;
133  bindparm = ""_sh;
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 
170  UT_StringHolder result = buf;
171  return result;
172  }
174  {
177 
178 
180  {
181  inputnum = 0;
182  inputtype = ""_sh;
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 
219  UT_StringHolder result = buf;
220  return result;
221  }
222 
224  {
225  myVexScript = ""_sh;
226  myVexCWD = ""_sh;
227  myVexOutputMask = ""_sh;
228  myAutobind = false;
229  myGroupAutobind = false;
230  myGeometryName = ""_sh;
231  myAttribClass = 0;
232  myGroup = ""_sh;
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 
242  }
243 
244  explicit GAS_GeometryVexParms(const GAS_GeometryVexParms &) = default;
245 
247 
249  {
250  if (myVexScript != src.myVexScript) return false;
251  if (myVexCWD != src.myVexCWD) return false;
252  if (myVexOutputMask != src.myVexOutputMask) return false;
253  if (myBindings != src.myBindings) return false;
254  if (myFieldBindings != src.myFieldBindings) return false;
255  if (myGroupBindings != src.myGroupBindings) return false;
256  if (myInputBindings != src.myInputBindings) return false;
257  if (myAutobind != src.myAutobind) return false;
258  if (myGroupAutobind != src.myGroupAutobind) return false;
259  if (myGeometryName != src.myGeometryName) return false;
260  if (myAttribClass != src.myAttribClass) return false;
261  if (myGroup != src.myGroup) return false;
262  if (myGroupType != src.myGroupType) return false;
263  if (myUseTimeStep != src.myUseTimeStep) return false;
264  if (myTimeScale != src.myTimeScale) return false;
265  if (myActivate != src.myActivate) return false;
266  if (myMultiThread != src.myMultiThread) return false;
267  if (myUpdateNormals != src.myUpdateNormals) return false;
268  if (myNumCount != src.myNumCount) return false;
269  if (myThreadJobSize != src.myThreadJobSize) return false;
270 
271  return true;
272  }
274  {
275  return !operator==(src);
276  }
277 
278 
279  class Query : public SIM_Query
280  {
281  public:
282  explicit Query(const SIM_Data *owner, const GAS_GeometryVexParms &parms)
283  : SIM_Query(owner)
284  , myParms(parms)
285  { }
286  virtual ~Query() {}
287 
288  protected:
289  bool isMyRecord(const char *recordtype) const
290  { return !strcmp(recordtype, "Params"); }
291 
292  virtual int getNumRecordTypesSubclass() const { return 1; }
293  virtual const char *getRecordTypeNameSubclass(int recordtypenum) const
294  {
295  if (recordtypenum == 0) return "Params";
296  return 0;
297  }
298  virtual int getNumRecordsSubclass(const char *recordtype) const
299  {
300  if (isMyRecord(recordtype)) return 1;
301  return 0;
302  }
303  virtual int getNumFieldsSubclass(const char *recordtype) const
304  {
305  if (isMyRecord(recordtype))
306  return 20;
307  return 0;
308  }
309 
310  virtual const char *getFieldNameSubclass(const char *recordtype,
311  int fieldnum) const
312  {
313  if (!isMyRecord(recordtype))
314  return 0;
315 
316  switch (fieldnum)
317  {
318  case 0:
319  return "vexscript";
320  case 1:
321  return "vex_cwdpath";
322  case 2:
323  return "vex_outputmask";
324  case 3:
325  return "bindings";
326  case 4:
327  return "fieldbindings";
328  case 5:
329  return "groupbindings";
330  case 6:
331  return "inputbindings";
332  case 7:
333  return "autobind";
334  case 8:
335  return "groupautobind";
336  case 9:
337  return "geometry";
338  case 10:
339  return "attribclass";
340  case 11:
341  return "group";
342  case 12:
343  return "grouptype";
344  case 13:
345  return "usetimestep";
346  case 14:
347  return "timescale";
348  case 15:
349  return "activate";
350  case 16:
351  return "vex_multithread";
352  case 17:
353  return "vex_updatenmls";
354  case 18:
355  return "vex_numcount";
356  case 19:
357  return "vex_threadjobsize";
358 
359  }
360  return 0;
361  }
362  virtual UT_OptionType getFieldTypeSubclass(const char *recordtype,
363  int fieldnum) const
364  {
365  if (!isMyRecord(recordtype))
366  return UT_OPTION_INVALID;
367 
368  switch (fieldnum)
369  {
370  case 0:
371  return UT_OPTION_STRING;
372  case 1:
373  return UT_OPTION_STRING;
374  case 2:
375  return UT_OPTION_STRING;
376  case 3:
377  return UT_OPTION_STRING;
378  case 4:
379  return UT_OPTION_STRING;
380  case 5:
381  return UT_OPTION_STRING;
382  case 6:
383  return UT_OPTION_STRING;
384  case 7:
385  return UT_OPTION_BOOL;
386  case 8:
387  return UT_OPTION_BOOL;
388  case 9:
389  return UT_OPTION_STRING;
390  case 10:
391  return UT_OPTION_INT;
392  case 11:
393  return UT_OPTION_STRING;
394  case 12:
395  return UT_OPTION_INT;
396  case 13:
397  return UT_OPTION_BOOL;
398  case 14:
399  return UT_OPTION_FPREAL;
400  case 15:
401  return UT_OPTION_BOOL;
402  case 16:
403  return UT_OPTION_BOOL;
404  case 17:
405  return UT_OPTION_BOOL;
406  case 18:
407  return UT_OPTION_INT;
408  case 19:
409  return UT_OPTION_INT;
410 
411  }
412  return UT_OPTION_INVALID;
413  }
414 
415  virtual bool getFieldRawSubclass(const char *recordtype,
416  int recordnum,
417  const char *fieldname,
418  UT_OptionEntry *&result) const
419  {
420  if (!isMyRecord(recordtype))
421  return false;
422  if (recordnum != 0)
423  return false;
424  // This is less optimal, but if we are in SIM_Query
425  // land we have already given up on performance.
426  if (!strcmp(fieldname, "vexscript"))
427  {
428  result = new UT_OptionString(myParms.myVexScript);
429  return true;
430  }
431  if (!strcmp(fieldname, "vex_cwdpath"))
432  {
433  result = new UT_OptionString(myParms.myVexCWD);
434  return true;
435  }
436  if (!strcmp(fieldname, "vex_outputmask"))
437  {
438  result = new UT_OptionString(myParms.myVexOutputMask);
439  return true;
440  }
441  if (!strcmp(fieldname, "bindings"))
442  {
443  result = new UT_OptionString(myParms.createString(myParms.myBindings));
444  return true;
445  }
446  if (!strcmp(fieldname, "fieldbindings"))
447  {
448  result = new UT_OptionString(myParms.createString(myParms.myFieldBindings));
449  return true;
450  }
451  if (!strcmp(fieldname, "groupbindings"))
452  {
453  result = new UT_OptionString(myParms.createString(myParms.myGroupBindings));
454  return true;
455  }
456  if (!strcmp(fieldname, "inputbindings"))
457  {
458  result = new UT_OptionString(myParms.createString(myParms.myInputBindings));
459  return true;
460  }
461  if (!strcmp(fieldname, "autobind"))
462  {
463  result = new UT_OptionBool(myParms.myAutobind);
464  return true;
465  }
466  if (!strcmp(fieldname, "groupautobind"))
467  {
468  result = new UT_OptionBool(myParms.myGroupAutobind);
469  return true;
470  }
471  if (!strcmp(fieldname, "geometry"))
472  {
473  result = new UT_OptionString(myParms.myGeometryName);
474  return true;
475  }
476  if (!strcmp(fieldname, "attribclass"))
477  {
478  result = new UT_OptionInt(myParms.myAttribClass);
479  return true;
480  }
481  if (!strcmp(fieldname, "group"))
482  {
483  result = new UT_OptionString(myParms.myGroup);
484  return true;
485  }
486  if (!strcmp(fieldname, "grouptype"))
487  {
488  result = new UT_OptionInt(myParms.myGroupType);
489  return true;
490  }
491  if (!strcmp(fieldname, "usetimestep"))
492  {
493  result = new UT_OptionBool(myParms.myUseTimeStep);
494  return true;
495  }
496  if (!strcmp(fieldname, "timescale"))
497  {
498  result = new UT_OptionFpreal(myParms.myTimeScale);
499  return true;
500  }
501  if (!strcmp(fieldname, "activate"))
502  {
503  result = new UT_OptionBool(myParms.myActivate);
504  return true;
505  }
506  if (!strcmp(fieldname, "vex_multithread"))
507  {
508  result = new UT_OptionBool(myParms.myMultiThread);
509  return true;
510  }
511  if (!strcmp(fieldname, "vex_updatenmls"))
512  {
513  result = new UT_OptionBool(myParms.myUpdateNormals);
514  return true;
515  }
516  if (!strcmp(fieldname, "vex_numcount"))
517  {
518  result = new UT_OptionInt(myParms.myNumCount);
519  return true;
520  }
521  if (!strcmp(fieldname, "vex_threadjobsize"))
522  {
523  result = new UT_OptionInt(myParms.myThreadJobSize);
524  return true;
525  }
526 
527  // Failed to find
528  return false;
529  }
530 
532  };
533 
534  SIM_Query *createQueryObject(const SIM_Data *owner) const
535  { return new Query(owner, *this); }
536 
537 
538 
539 
540  // Boiler plate to load individual types.
541  static void loadData(UT_IStream &is, int64 &v)
542  { is.bread(&v, 1); }
543  static void loadData(UT_IStream &is, bool &v)
544  { int64 iv; is.bread(&iv, 1); v = iv; }
545  static void loadData(UT_IStream &is, fpreal64 &v)
546  { is.bread<fpreal64>(&v, 1); }
547  static void loadData(UT_IStream &is, UT_Vector2D &v)
548  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1); }
549  static void loadData(UT_IStream &is, UT_Vector3D &v)
550  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
551  is.bread<fpreal64>(&v.z(), 1); }
552  static void loadData(UT_IStream &is, UT_Vector4D &v)
553  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
554  is.bread<fpreal64>(&v.z(), 1); is.bread<fpreal64>(&v.w(), 1); }
555  static void loadData(UT_IStream &is, UT_Matrix2D &v)
556  { for (int r = 0; r < 2; r++) for (int c = 0; c < 2; c++) is.bread<fpreal64>(&v(r, c), 1); }
557  static void loadData(UT_IStream &is, UT_Matrix3D &v)
558  { for (int r = 0; r < 3; r++) for (int c = 0; c < 3; c++) is.bread<fpreal64>(&v(r, c), 1); }
559  static void loadData(UT_IStream &is, UT_Matrix4D &v)
560  { for (int r = 0; r < 4; r++) for (int c = 0; c < 4; c++) is.bread<fpreal64>(&v(r, c), 1); }
561  static void loadData(UT_IStream &is, UT_Vector2I &v)
562  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1); }
563  static void loadData(UT_IStream &is, UT_Vector3I &v)
564  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
565  is.bread<int64>(&v.z(), 1); }
566  static void loadData(UT_IStream &is, UT_Vector4I &v)
567  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
568  is.bread<int64>(&v.z(), 1); is.bread<int64>(&v.w(), 1); }
570  { is.bread(v); }
572  { UT_StringHolder rampdata;
573  loadData(is, rampdata);
574  if (rampdata.isstring())
575  {
576  v.reset(new UT_Ramp());
577  UT_IStream istr((const char *) rampdata, rampdata.length(), UT_ISTREAM_ASCII);
578  v->load(istr);
579  }
580  else v.reset();
581  }
584  loadData(is, data);
585  if (data.isstring())
586  {
587  // Find the data type.
588  char *colon = UT_StringWrap(data).findChar(':');
589  if (colon)
590  {
591  int typelen = colon - data.buffer();
593  type.strncpy(data.buffer(), typelen);
594  UT_IStream istr(((const char *) data) + typelen + 1, data.length() - (typelen + 1), UT_ISTREAM_BINARY);
595 
596  v = PRM_DataFactory::parseBinary(type.buffer(), istr);
597  }
598  }
599  else v.reset();
600  }
601 
602  static void saveData(std::ostream &os, int64 v)
603  { UTwrite(os, &v); }
604  static void saveData(std::ostream &os, bool v)
605  { int64 iv = v; UTwrite(os, &iv); }
606  static void saveData(std::ostream &os, fpreal64 v)
607  { UTwrite<fpreal64>(os, &v); }
608  static void saveData(std::ostream &os, UT_Vector2D v)
609  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y()); }
610  static void saveData(std::ostream &os, UT_Vector3D v)
611  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
612  UTwrite<fpreal64>(os, &v.z()); }
613  static void saveData(std::ostream &os, UT_Vector4D v)
614  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
615  UTwrite<fpreal64>(os, &v.z()); UTwrite<fpreal64>(os, &v.w()); }
616  static void saveData(std::ostream &os, UT_Matrix2D v)
618  static void saveData(std::ostream &os, UT_Matrix3D v)
620  static void saveData(std::ostream &os, UT_Matrix4D v)
622  static void saveData(std::ostream &os, UT_StringHolder s)
623  { UT_StringWrap(s).saveBinary(os); }
624  static void saveData(std::ostream &os, UT_SharedPtr<UT_Ramp> s)
625  { UT_StringHolder result;
626  UT_OStringStream ostr;
627  if (s) s->save(ostr);
628  result = ostr.str();
629  saveData(os, result);
630  }
631  static void saveData(std::ostream &os, PRM_DataItemHandle s)
632  { UT_StringHolder result;
633  UT_OStringStream ostr;
634  if (s)
635  {
636  ostr << s->getDataTypeToken();
637  ostr << ":";
638  s->saveBinary(ostr);
639  }
640  result = ostr.str();
641  saveData(os, result);
642  }
643 
644 
645  void save(std::ostream &os) const
646  {
647  int32 v = version();
648  UTwrite(os, &v);
649  saveData(os, myVexScript);
650  saveData(os, myVexCWD);
651  saveData(os, myVexOutputMask);
652  {
653  int64 length = myBindings.entries();
654  UTwrite(os, &length);
655  for (exint i = 0; i < length; i++)
656  {
657  saveData(os, myBindings(i).binddata);
658  saveData(os, myBindings(i).bindparm);
659 
660  }
661  }
662  {
663  int64 length = myFieldBindings.entries();
664  UTwrite(os, &length);
665  for (exint i = 0; i < length; i++)
666  {
667  saveData(os, myFieldBindings(i).binddata);
668  saveData(os, myFieldBindings(i).bindparm);
669 
670  }
671  }
672  {
673  int64 length = myGroupBindings.entries();
674  UTwrite(os, &length);
675  for (exint i = 0; i < length; i++)
676  {
677  saveData(os, myGroupBindings(i).binddata);
678  saveData(os, myGroupBindings(i).bindparm);
679 
680  }
681  }
682  {
683  int64 length = myInputBindings.entries();
684  UTwrite(os, &length);
685  for (exint i = 0; i < length; i++)
686  {
687  saveData(os, myInputBindings(i).inputnum);
688  saveData(os, myInputBindings(i).inputtype);
689 
690  }
691  }
692  saveData(os, myAutobind);
693  saveData(os, myGroupAutobind);
694  saveData(os, myGeometryName);
695  saveData(os, myAttribClass);
696  saveData(os, myGroup);
697  saveData(os, myGroupType);
698  saveData(os, myUseTimeStep);
699  saveData(os, myTimeScale);
700  saveData(os, myActivate);
701  saveData(os, myMultiThread);
702  saveData(os, myUpdateNormals);
703  saveData(os, myNumCount);
704  saveData(os, myThreadJobSize);
705 
706  }
707 
708  bool load(UT_IStream &is)
709  {
710  int32 v;
711  is.bread(&v, 1);
712  if (version() != v)
713  {
714  // Fail incompatible versions
715  return false;
716  }
717  loadData(is, myVexScript);
718  loadData(is, myVexCWD);
719  loadData(is, myVexOutputMask);
720  {
721  int64 length;
722  is.read(&length, 1);
723  myBindings.entries(length);
724  for (exint i = 0; i < length; i++)
725  {
726  loadData(is, myBindings(i).binddata);
727  loadData(is, myBindings(i).bindparm);
728 
729  }
730  }
731  {
732  int64 length;
733  is.read(&length, 1);
734  myFieldBindings.entries(length);
735  for (exint i = 0; i < length; i++)
736  {
737  loadData(is, myFieldBindings(i).binddata);
738  loadData(is, myFieldBindings(i).bindparm);
739 
740  }
741  }
742  {
743  int64 length;
744  is.read(&length, 1);
745  myGroupBindings.entries(length);
746  for (exint i = 0; i < length; i++)
747  {
748  loadData(is, myGroupBindings(i).binddata);
749  loadData(is, myGroupBindings(i).bindparm);
750 
751  }
752  }
753  {
754  int64 length;
755  is.read(&length, 1);
756  myInputBindings.entries(length);
757  for (exint i = 0; i < length; i++)
758  {
759  loadData(is, myInputBindings(i).inputnum);
760  loadData(is, myInputBindings(i).inputtype);
761 
762  }
763  }
764  loadData(is, myAutobind);
765  loadData(is, myGroupAutobind);
766  loadData(is, myGeometryName);
767  loadData(is, myAttribClass);
768  loadData(is, myGroup);
769  loadData(is, myGroupType);
770  loadData(is, myUseTimeStep);
771  loadData(is, myTimeScale);
772  loadData(is, myActivate);
773  loadData(is, myMultiThread);
774  loadData(is, myUpdateNormals);
775  loadData(is, myNumCount);
776  loadData(is, myThreadJobSize);
777 
778  return true;
779  }
780 
781  const UT_StringHolder & getVexScript() const { return myVexScript; }
782  void setVexScript(const UT_StringHolder & val) { myVexScript = val; }
783  const UT_StringHolder & getVexCWD() const { return myVexCWD; }
784  void setVexCWD(const UT_StringHolder & val) { myVexCWD = val; }
785  const UT_StringHolder & getVexOutputMask() const { return myVexOutputMask; }
786  void setVexOutputMask(const UT_StringHolder & val) { myVexOutputMask = val; }
787  const UT_Array<Bindings> &getBindings() const { return myBindings; }
788  void setBindings(const UT_Array<Bindings> &val) { myBindings = val; }
789  const UT_Array<FieldBindings> &getFieldBindings() const { return myFieldBindings; }
790  void setFieldBindings(const UT_Array<FieldBindings> &val) { myFieldBindings = val; }
791  const UT_Array<GroupBindings> &getGroupBindings() const { return myGroupBindings; }
792  void setGroupBindings(const UT_Array<GroupBindings> &val) { myGroupBindings = val; }
793  const UT_Array<InputBindings> &getInputBindings() const { return myInputBindings; }
794  void setInputBindings(const UT_Array<InputBindings> &val) { myInputBindings = val; }
795  bool getAutobind() const { return myAutobind; }
796  void setAutobind(bool val) { myAutobind = val; }
797  bool getGroupAutobind() const { return myGroupAutobind; }
798  void setGroupAutobind(bool val) { myGroupAutobind = val; }
799  const UT_StringHolder & getGeometryName() const { return myGeometryName; }
800  void setGeometryName(const UT_StringHolder & val) { myGeometryName = val; }
801  int64 getAttribClass() const { return myAttribClass; }
802  void setAttribClass(int64 val) { myAttribClass = val; }
803  const UT_StringHolder & getGroup() const { return myGroup; }
804  void setGroup(const UT_StringHolder & val) { myGroup = val; }
805  int64 getGroupType() const { return myGroupType; }
806  void setGroupType(int64 val) { myGroupType = val; }
807  bool getUseTimeStep() const { return myUseTimeStep; }
808  void setUseTimeStep(bool val) { myUseTimeStep = val; }
809  fpreal64 getTimeScale() const { return myTimeScale; }
810  void setTimeScale(fpreal64 val) { myTimeScale = val; }
811  bool getActivate() const { return myActivate; }
812  void setActivate(bool val) { myActivate = val; }
813  bool getMultiThread() const { return myMultiThread; }
814  void setMultiThread(bool val) { myMultiThread = val; }
815  bool getUpdateNormals() const { return myUpdateNormals; }
816  void setUpdateNormals(bool val) { myUpdateNormals = val; }
817  int64 getNumCount() const { return myNumCount; }
818  void setNumCount(int64 val) { myNumCount = val; }
819  int64 getThreadJobSize() const { return myThreadJobSize; }
820  void setThreadJobSize(int64 val) { myThreadJobSize = val; }
821 
822 private:
823  UT_StringHolder myVexScript;
824  UT_StringHolder myVexCWD;
825  UT_StringHolder myVexOutputMask;
826  UT_Array<Bindings> myBindings;
827  UT_Array<FieldBindings> myFieldBindings;
828  UT_Array<GroupBindings> myGroupBindings;
829  UT_Array<InputBindings> myInputBindings;
830  bool myAutobind;
831  bool myGroupAutobind;
832  UT_StringHolder myGeometryName;
833  int64 myAttribClass;
834  UT_StringHolder myGroup;
835  int64 myGroupType;
836  bool myUseTimeStep;
837  fpreal64 myTimeScale;
838  bool myActivate;
839  bool myMultiThread;
840  bool myUpdateNormals;
841  int64 myNumCount;
842  int64 myThreadJobSize;
843 
844 };
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
T & z(void)
Definition: UT_Vector4.h:379
bool operator!=(const GroupBindings &src) const
static void loadData(UT_IStream &is, UT_Vector3D &v)
virtual const char * getFieldNameSubclass(const char *recordtype, int fieldnum) const
exint bread(int32 *buffer, exint asize=1)
const GLdouble * v
Definition: glcorearb.h:836
virtual int getNumRecordsSubclass(const char *recordtype) const
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)
static void saveData(std::ostream &os, PRM_DataItemHandle s)
bool operator!=(const GAS_GeometryVexParms &src) const
SYS_FORCE_INLINE const char * buffer() const
T & x(void)
Definition: UT_Vector2.h:285
UT_OptionType
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.
const UT_WorkBuffer & str() const
Returns a read-only reference to the underlying UT_WorkBuffer.
void setVexCWD(const UT_StringHolder &val)
const UT_StringHolder & getVexCWD() const
static void saveData(std::ostream &os, UT_Matrix2D v)
SYS_FORCE_INLINE T & x(void)
Definition: UT_Vector3.h:498
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
static void loadData(UT_IStream &is, UT_Vector2I &v)
static void loadData(UT_IStream &is, UT_Matrix2D &v)
png_uint_32 i
Definition: png.h:2877
virtual int getNumRecordTypesSubclass() const
void setBindings(const UT_Array< Bindings > &val)
const GAS_GeometryVexParms & myParms
virtual UT_OptionType getFieldTypeSubclass(const char *recordtype, int fieldnum) const
SYS_FORCE_INLINE T & z(void)
Definition: UT_Vector3.h:502
static void saveData(std::ostream &os, UT_Vector4D v)
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
Definition: Dimensions.h:137
long long int64
Definition: SYS_Types.h:107
void setVexOutputMask(const UT_StringHolder &val)
SIM_Query * createQueryObject(const SIM_Data *owner) const
exint length() const
char * findChar(int c) const
Find first occurrance of character. Returns NULL upon failure.
Definition: UT_String.h:550
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:28
const UT_StringHolder & getVexOutputMask() const
static void loadData(UT_IStream &is, fpreal64 &v)
int64 exint
Definition: SYS_Types.h:116
UT_OptionEntryImpl< int64, UT_OPTION_INT > UT_OptionInt
static void saveData(std::ostream &os, fpreal64 v)
bool operator==(const FieldBindings &src) const
static void saveData(std::ostream &os, UT_Vector3D v)
double fpreal64
Definition: SYS_Types.h:192
const UT_Array< GroupBindings > & getGroupBindings() const
exint read(bool *array, exint sz=1)
Definition: UT_IStream.h:284
void setFieldBindings(const UT_Array< FieldBindings > &val)
UT_OptionEntryImpl< bool, UT_OPTION_BOOL > UT_OptionBool
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)
GLboolean * data
Definition: glcorearb.h:130
bool operator!=(const Bindings &src) const
int int32
Definition: SYS_Types.h:35
T & y(void)
Definition: UT_Vector4.h:377
virtual int getNumFieldsSubclass(const char *recordtype) 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:294
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:2539
exint entries() const
Alias of size(). size() is preferred.
Definition: UT_Array.h:453
UT_StringHolder createString(const UT_Array< InputBindings > &list) const
SYS_FORCE_INLINE T & y(void)
Definition: UT_Vector3.h:500
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)
virtual bool getFieldRawSubclass(const char *recordtype, int recordnum, const char *fieldname, UT_OptionEntry *&result) const
static void saveData(std::ostream &os, int64 v)
UT_OptionEntryImpl< fpreal64, UT_OPTION_FPREAL > UT_OptionFpreal
Utility class for containing a color ramp.
Definition: UT_Ramp.h:84
SYS_FORCE_INLINE void append(char character)
GLuint GLfloat * val
Definition: glcorearb.h:1607
void setInputBindings(const UT_Array< InputBindings > &val)
GLint GLint GLsizei GLint GLenum GLenum type
Definition: glcorearb.h:107
T & x(void)
Definition: UT_Vector4.h:375
T & y(void)
Definition: UT_Vector2.h:287
static void saveData(std::ostream &os, UT_Vector2D v)
bool isMyRecord(const char *recordtype) const
GLboolean r
Definition: glcorearb.h:1221
static void saveData(std::ostream &os, UT_StringHolder s)
T & w(void)
Definition: UT_Vector4.h:381
static void loadData(UT_IStream &is, UT_Vector4I &v)
bool operator!=(const InputBindings &src) const
virtual const char * getRecordTypeNameSubclass(int recordtypenum) const
void save(std::ostream &os) const
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
Definition: PRM_Parm.h:88
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)
GLuint GLsizei GLsizei * length
Definition: glcorearb.h:794
GLenum src
Definition: glcorearb.h:1792