HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SOP_FontParms.proto.h
Go to the documentation of this file.
1 /* Automagically Generated by generate_proto.py
2  * Do not Edit
3  */
4 #pragma once
5 
6 #include <SOP/SOP_NodeVerb.h>
7 #include <OP/OP_Utils.h>
8 #include <PRM/PRM_Parm.h>
9 #include <UT/UT_IStream.h>
10 #include <UT/UT_NTStreamUtil.h>
11 #include <UT/UT_Ramp.h>
12 #include <UT/UT_SharedPtr.h>
13 #include <UT/UT_StringHolder.h>
14 #include <UT/UT_StringStream.h>
15 #include <UT/UT_VectorTypes.h>
16 #include <SYS/SYS_Types.h>
17 
18 using namespace UT::Literal;
19 
20 class DEP_MicroNode;
21 
23 {
24 public:
25  static int version() { return 1; }
26 
28  {
29  myType = 2;
30  myFontFile = "Helvetica Bold"_sh;
31  myText = "Frame: $F"_sh;
32  myHAlign = 1;
33  myVAlign = 2;
34  myUseDescender = false;
35  myTranslate = 0;
36  myRotate = 0;
37  myScale = 1;
38  myFontSize = 1;
39  myTracking = 0;
40  myAutoKern = true;
41  myOblique = 0;
42  myLOD = 1;
43  myHole = true;
44  myAddAttrib = false;
45 
46  }
47 
48  explicit SOP_FontParms(const SOP_FontParms &) = default;
49 
50  virtual ~SOP_FontParms() {}
51 
52  bool operator==(const SOP_FontParms &src) const
53  {
54  if (myType != src.myType) return false;
55  if (myFontFile != src.myFontFile) return false;
56  if (myText != src.myText) return false;
57  if (myHAlign != src.myHAlign) return false;
58  if (myVAlign != src.myVAlign) return false;
59  if (myUseDescender != src.myUseDescender) return false;
60  if (myTranslate != src.myTranslate) return false;
61  if (myRotate != src.myRotate) return false;
62  if (myScale != src.myScale) return false;
63  if (myFontSize != src.myFontSize) return false;
64  if (myTracking != src.myTracking) return false;
65  if (myAutoKern != src.myAutoKern) return false;
66  if (myOblique != src.myOblique) return false;
67  if (myLOD != src.myLOD) return false;
68  if (myHole != src.myHole) return false;
69  if (myAddAttrib != src.myAddAttrib) return false;
70 
71  return true;
72  }
73  bool operator!=(const SOP_FontParms &src) const
74  {
75  return !operator==(src);
76  }
77 
78 
79 
80  void buildFromOp(const OP_Node *node, fpreal time, DEP_MicroNode *depnode)
81  {
82  if (true)
83  OP_Utils::evalOpParm(myType, node, "type", time, 0);
84  else myType = 2;
85  if (true)
86  OP_Utils::evalOpParm(myFontFile, node, "file", time, 0);
87  else myFontFile = "Helvetica Bold"_sh;
88  if (true)
89  OP_Utils::evalOpParm(myText, node, "text", time, 0);
90  else myText = "Frame: $F"_sh;
91  if (true)
92  OP_Utils::evalOpParm(myHAlign, node, "halign", time, 0);
93  else myHAlign = 1;
94  if (true)
95  OP_Utils::evalOpParm(myVAlign, node, "valign", time, 0);
96  else myVAlign = 2;
97  if (true)
98  OP_Utils::evalOpParm(myUseDescender, node, "use_descender", time, 0);
99  else myUseDescender = false;
100  if (true)
101  OP_Utils::evalOpParm(myTranslate, node, "t", time, 0);
102  else myTranslate = 0;
103  if (true)
104  OP_Utils::evalOpParm(myRotate, node, "r", time, 0);
105  else myRotate = 0;
106  if (true)
107  OP_Utils::evalOpParm(myScale, node, "s", time, 0);
108  else myScale = 1;
109  if (true)
110  OP_Utils::evalOpParm(myFontSize, node, "fontsize", time, 0);
111  else myFontSize = 1;
112  if (true)
113  OP_Utils::evalOpParm(myTracking, node, "tracking", time, 0);
114  else myTracking = 0;
115  if (true)
116  OP_Utils::evalOpParm(myAutoKern, node, "autokern", time, 0);
117  else myAutoKern = true;
118  if (true)
119  OP_Utils::evalOpParm(myOblique, node, "oblique", time, 0);
120  else myOblique = 0;
121  if (true)
122  OP_Utils::evalOpParm(myLOD, node, "lod", time, 0);
123  else myLOD = 1;
124  if (true)
125  OP_Utils::evalOpParm(myHole, node, "hole", time, 0);
126  else myHole = true;
127  if (true)
128  OP_Utils::evalOpParm(myAddAttrib, node, "addattrib", time, 0);
129  else myAddAttrib = false;
130 
131  }
132 
133 
134  virtual void loadFromOpSubclass(const LoadParms &loadparms)
135  {
136  buildFromOp(loadparms.node(), loadparms.context().getTime(), loadparms.depnode());
137  }
138 
139 
140  virtual void copyFrom(const SOP_NodeParms *src)
141  {
142  *this = *((const SOP_FontParms *)src);
143  }
144 
145  template <typename T>
146  void
147  doGetParmValue(exint idx, T &value) const
148  {
149  switch (idx)
150  {
151  case 0:
152  coerceValue(value, myType);
153  break;
154  case 1:
155  coerceValue(value, myFontFile);
156  break;
157  case 2:
158  coerceValue(value, myText);
159  break;
160  case 3:
161  coerceValue(value, myHAlign);
162  break;
163  case 4:
164  coerceValue(value, myVAlign);
165  break;
166  case 5:
167  coerceValue(value, myUseDescender);
168  break;
169  case 6:
170  coerceValue(value, myTranslate);
171  break;
172  case 7:
173  coerceValue(value, myRotate);
174  break;
175  case 8:
176  coerceValue(value, myScale);
177  break;
178  case 9:
179  coerceValue(value, myFontSize);
180  break;
181  case 10:
182  coerceValue(value, myTracking);
183  break;
184  case 11:
185  coerceValue(value, myAutoKern);
186  break;
187  case 12:
188  coerceValue(value, myOblique);
189  break;
190  case 13:
191  coerceValue(value, myLOD);
192  break;
193  case 14:
194  coerceValue(value, myHole);
195  break;
196  case 15:
197  coerceValue(value, myAddAttrib);
198  break;
199 
200  }
201  }
202 
203  void getParmValue(exint idx, exint &value) const
204  { doGetParmValue(idx, value); }
205  void getParmValue(exint idx, fpreal &value) const
206  { doGetParmValue(idx, value); }
208  { doGetParmValue(idx, value); }
210  { doGetParmValue(idx, value); }
212  { doGetParmValue(idx, value); }
214  { doGetParmValue(idx, value); }
216  { doGetParmValue(idx, value); }
218  { doGetParmValue(idx, value); }
220  { doGetParmValue(idx, value); }
222  { doGetParmValue(idx, value); }
224  { doGetParmValue(idx, value); }
225 
226  template <typename T>
227  void
228  doSetParmValue(exint idx, const T &value)
229  {
230  switch (idx)
231  {
232  case 0:
233  coerceValue(myType, value);
234  break;
235  case 1:
236  coerceValue(myFontFile, value);
237  break;
238  case 2:
239  coerceValue(myText, value);
240  break;
241  case 3:
242  coerceValue(myHAlign, value);
243  break;
244  case 4:
245  coerceValue(myVAlign, value);
246  break;
247  case 5:
248  coerceValue(myUseDescender, value);
249  break;
250  case 6:
251  coerceValue(myTranslate, value);
252  break;
253  case 7:
254  coerceValue(myRotate, value);
255  break;
256  case 8:
257  coerceValue(myScale, value);
258  break;
259  case 9:
260  coerceValue(myFontSize, value);
261  break;
262  case 10:
263  coerceValue(myTracking, value);
264  break;
265  case 11:
266  coerceValue(myAutoKern, value);
267  break;
268  case 12:
269  coerceValue(myOblique, value);
270  break;
271  case 13:
272  coerceValue(myLOD, value);
273  break;
274  case 14:
275  coerceValue(myHole, value);
276  break;
277  case 15:
278  coerceValue(myAddAttrib, value);
279  break;
280 
281  }
282  }
283 
284  void setParmValue(exint idx, const exint &value)
285  { doSetParmValue(idx, value); }
286  void setParmValue(exint idx, const fpreal &value)
287  { doSetParmValue(idx, value); }
288  void setParmValue(exint idx, const UT_Vector2D &value)
289  { doSetParmValue(idx, value); }
290  void setParmValue(exint idx, const UT_Vector3D &value)
291  { doSetParmValue(idx, value); }
292  void setParmValue(exint idx, const UT_Vector4D &value)
293  { doSetParmValue(idx, value); }
294  void setParmValue(exint idx, const UT_Matrix2D &value)
295  { doSetParmValue(idx, value); }
296  void setParmValue(exint idx, const UT_Matrix3D &value)
297  { doSetParmValue(idx, value); }
298  void setParmValue(exint idx, const UT_Matrix4D &value)
299  { doSetParmValue(idx, value); }
301  { doSetParmValue(idx, value); }
303  { doSetParmValue(idx, value); }
305  { doSetParmValue(idx, value); }
306 
307  virtual exint getNumParms() const
308  {
309  return 16;
310  }
311 
312  virtual const char *getParmName(exint fieldnum) const
313  {
314  switch (fieldnum)
315  {
316  case 0:
317  return "type";
318  case 1:
319  return "file";
320  case 2:
321  return "text";
322  case 3:
323  return "halign";
324  case 4:
325  return "valign";
326  case 5:
327  return "use_descender";
328  case 6:
329  return "t";
330  case 7:
331  return "r";
332  case 8:
333  return "s";
334  case 9:
335  return "fontsize";
336  case 10:
337  return "tracking";
338  case 11:
339  return "autokern";
340  case 12:
341  return "oblique";
342  case 13:
343  return "lod";
344  case 14:
345  return "hole";
346  case 15:
347  return "addattrib";
348 
349  }
350  return 0;
351  }
352 
353  virtual ParmType getParmType(exint fieldnum) const
354  {
355  switch (fieldnum)
356  {
357  case 0:
358  return PARM_INTEGER;
359  case 1:
360  return PARM_STRING;
361  case 2:
362  return PARM_STRING;
363  case 3:
364  return PARM_INTEGER;
365  case 4:
366  return PARM_INTEGER;
367  case 5:
368  return PARM_INTEGER;
369  case 6:
370  return PARM_VECTOR3;
371  case 7:
372  return PARM_VECTOR3;
373  case 8:
374  return PARM_VECTOR2;
375  case 9:
376  return PARM_FLOAT;
377  case 10:
378  return PARM_VECTOR2;
379  case 11:
380  return PARM_INTEGER;
381  case 12:
382  return PARM_FLOAT;
383  case 13:
384  return PARM_FLOAT;
385  case 14:
386  return PARM_INTEGER;
387  case 15:
388  return PARM_INTEGER;
389 
390  }
391  return PARM_UNSUPPORTED;
392  }
393 
394  // Boiler plate to load individual types.
395  static void loadData(UT_IStream &is, int64 &v)
396  { is.bread(&v, 1); }
397  static void loadData(UT_IStream &is, bool &v)
398  { int64 iv; is.bread(&iv, 1); v = iv; }
399  static void loadData(UT_IStream &is, fpreal64 &v)
400  { is.bread<fpreal64>(&v, 1); }
401  static void loadData(UT_IStream &is, UT_Vector2D &v)
402  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1); }
403  static void loadData(UT_IStream &is, UT_Vector3D &v)
404  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
405  is.bread<fpreal64>(&v.z(), 1); }
406  static void loadData(UT_IStream &is, UT_Vector4D &v)
407  { is.bread<fpreal64>(&v.x(), 1); is.bread<fpreal64>(&v.y(), 1);
408  is.bread<fpreal64>(&v.z(), 1); is.bread<fpreal64>(&v.w(), 1); }
409  static void loadData(UT_IStream &is, UT_Matrix2D &v)
410  { for (int r = 0; r < 2; r++) for (int c = 0; c < 2; c++) is.bread<fpreal64>(&v(r, c), 1); }
411  static void loadData(UT_IStream &is, UT_Matrix3D &v)
412  { for (int r = 0; r < 3; r++) for (int c = 0; c < 3; c++) is.bread<fpreal64>(&v(r, c), 1); }
413  static void loadData(UT_IStream &is, UT_Matrix4D &v)
414  { for (int r = 0; r < 4; r++) for (int c = 0; c < 4; c++) is.bread<fpreal64>(&v(r, c), 1); }
415  static void loadData(UT_IStream &is, UT_Vector2I &v)
416  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1); }
417  static void loadData(UT_IStream &is, UT_Vector3I &v)
418  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
419  is.bread<int64>(&v.z(), 1); }
420  static void loadData(UT_IStream &is, UT_Vector4I &v)
421  { is.bread<int64>(&v.x(), 1); is.bread<int64>(&v.y(), 1);
422  is.bread<int64>(&v.z(), 1); is.bread<int64>(&v.w(), 1); }
424  { is.bread(v); }
426  { UT_StringHolder rampdata;
427  loadData(is, rampdata);
428  if (rampdata.isstring())
429  {
430  v.reset(new UT_Ramp());
431  UT_IStream istr((const char *) rampdata, rampdata.length(), UT_ISTREAM_ASCII);
432  v->load(istr);
433  }
434  else v.reset();
435  }
438  loadData(is, data);
439  if (data.isstring())
440  {
441  // Find the data type.
442  char *colon = UT_StringWrap(data).findChar(':');
443  if (colon)
444  {
445  int typelen = colon - data.buffer();
447  type.strncpy(data.buffer(), typelen);
448  UT_IStream istr(((const char *) data) + typelen + 1, data.length() - (typelen + 1), UT_ISTREAM_BINARY);
449 
450  v = PRM_DataFactory::parseBinary(type.buffer(), istr);
451  }
452  }
453  else v.reset();
454  }
455 
456  static void saveData(std::ostream &os, int64 v)
457  { UTwrite(os, &v); }
458  static void saveData(std::ostream &os, bool v)
459  { int64 iv = v; UTwrite(os, &iv); }
460  static void saveData(std::ostream &os, fpreal64 v)
461  { UTwrite<fpreal64>(os, &v); }
462  static void saveData(std::ostream &os, UT_Vector2D v)
463  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y()); }
464  static void saveData(std::ostream &os, UT_Vector3D v)
465  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
466  UTwrite<fpreal64>(os, &v.z()); }
467  static void saveData(std::ostream &os, UT_Vector4D v)
468  { UTwrite<fpreal64>(os, &v.x()); UTwrite<fpreal64>(os, &v.y());
469  UTwrite<fpreal64>(os, &v.z()); UTwrite<fpreal64>(os, &v.w()); }
470  static void saveData(std::ostream &os, UT_Matrix2D v)
472  static void saveData(std::ostream &os, UT_Matrix3D v)
474  static void saveData(std::ostream &os, UT_Matrix4D v)
476  static void saveData(std::ostream &os, UT_StringHolder s)
477  { UT_StringWrap(s).saveBinary(os); }
478  static void saveData(std::ostream &os, UT_SharedPtr<UT_Ramp> s)
479  { UT_StringHolder result;
480  UT_OStringStream ostr;
481  if (s) s->save(ostr);
482  result = ostr.str();
483  saveData(os, result);
484  }
485  static void saveData(std::ostream &os, PRM_DataItemHandle s)
486  { UT_StringHolder result;
487  UT_OStringStream ostr;
488  if (s)
489  {
490  ostr << s->getDataTypeToken();
491  ostr << ":";
492  s->saveBinary(ostr);
493  }
494  result = ostr.str();
495  saveData(os, result);
496  }
497 
498 
499  void save(std::ostream &os) const
500  {
501  int32 v = version();
502  UTwrite(os, &v);
503  saveData(os, myType);
504  saveData(os, myFontFile);
505  saveData(os, myText);
506  saveData(os, myHAlign);
507  saveData(os, myVAlign);
508  saveData(os, myUseDescender);
509  saveData(os, myTranslate);
510  saveData(os, myRotate);
511  saveData(os, myScale);
512  saveData(os, myFontSize);
513  saveData(os, myTracking);
514  saveData(os, myAutoKern);
515  saveData(os, myOblique);
516  saveData(os, myLOD);
517  saveData(os, myHole);
518  saveData(os, myAddAttrib);
519 
520  }
521 
522  bool load(UT_IStream &is)
523  {
524  int32 v;
525  is.bread(&v, 1);
526  if (version() != v)
527  {
528  // Fail incompatible versions
529  return false;
530  }
531  loadData(is, myType);
532  loadData(is, myFontFile);
533  loadData(is, myText);
534  loadData(is, myHAlign);
535  loadData(is, myVAlign);
536  loadData(is, myUseDescender);
537  loadData(is, myTranslate);
538  loadData(is, myRotate);
539  loadData(is, myScale);
540  loadData(is, myFontSize);
541  loadData(is, myTracking);
542  loadData(is, myAutoKern);
543  loadData(is, myOblique);
544  loadData(is, myLOD);
545  loadData(is, myHole);
546  loadData(is, myAddAttrib);
547 
548  return true;
549  }
550 
551  int64 getType() const { return myType; }
552  void setType(int64 val) { myType = val; }
553  int64 opType(const SOP_NodeVerb::CookParms &cookparms) const
554  {
555  SOP_Node *thissop = cookparms.getNode();
556  if (!thissop) return getType();
557  int64 result;
558  OP_Utils::evalOpParm(result, thissop, "type", cookparms.getCookTime(), 0);
559  return result;
560  }
561  const UT_StringHolder & getFontFile() const { return myFontFile; }
562  void setFontFile(const UT_StringHolder & val) { myFontFile = val; }
564  {
565  SOP_Node *thissop = cookparms.getNode();
566  if (!thissop) return getFontFile();
567  UT_StringHolder result;
568  OP_Utils::evalOpParm(result, thissop, "file", cookparms.getCookTime(), 0);
569  return result;
570  }
571  const UT_StringHolder & getText() const { return myText; }
572  void setText(const UT_StringHolder & val) { myText = val; }
574  {
575  SOP_Node *thissop = cookparms.getNode();
576  if (!thissop) return getText();
577  UT_StringHolder result;
578  OP_Utils::evalOpParm(result, thissop, "text", cookparms.getCookTime(), 0);
579  return result;
580  }
581  int64 getHAlign() const { return myHAlign; }
582  void setHAlign(int64 val) { myHAlign = val; }
583  int64 opHAlign(const SOP_NodeVerb::CookParms &cookparms) const
584  {
585  SOP_Node *thissop = cookparms.getNode();
586  if (!thissop) return getHAlign();
587  int64 result;
588  OP_Utils::evalOpParm(result, thissop, "halign", cookparms.getCookTime(), 0);
589  return result;
590  }
591  int64 getVAlign() const { return myVAlign; }
592  void setVAlign(int64 val) { myVAlign = val; }
593  int64 opVAlign(const SOP_NodeVerb::CookParms &cookparms) const
594  {
595  SOP_Node *thissop = cookparms.getNode();
596  if (!thissop) return getVAlign();
597  int64 result;
598  OP_Utils::evalOpParm(result, thissop, "valign", cookparms.getCookTime(), 0);
599  return result;
600  }
601  bool getUseDescender() const { return myUseDescender; }
602  void setUseDescender(bool val) { myUseDescender = val; }
603  bool opUseDescender(const SOP_NodeVerb::CookParms &cookparms) const
604  {
605  SOP_Node *thissop = cookparms.getNode();
606  if (!thissop) return getUseDescender();
607  bool result;
608  OP_Utils::evalOpParm(result, thissop, "use_descender", cookparms.getCookTime(), 0);
609  return result;
610  }
611  UT_Vector3D getTranslate() const { return myTranslate; }
612  void setTranslate(UT_Vector3D val) { myTranslate = val; }
614  {
615  SOP_Node *thissop = cookparms.getNode();
616  if (!thissop) return getTranslate();
617  UT_Vector3D result;
618  OP_Utils::evalOpParm(result, thissop, "t", cookparms.getCookTime(), 0);
619  return result;
620  }
621  UT_Vector3D getRotate() const { return myRotate; }
622  void setRotate(UT_Vector3D val) { myRotate = val; }
624  {
625  SOP_Node *thissop = cookparms.getNode();
626  if (!thissop) return getRotate();
627  UT_Vector3D result;
628  OP_Utils::evalOpParm(result, thissop, "r", cookparms.getCookTime(), 0);
629  return result;
630  }
631  UT_Vector2D getScale() const { return myScale; }
632  void setScale(UT_Vector2D val) { myScale = val; }
634  {
635  SOP_Node *thissop = cookparms.getNode();
636  if (!thissop) return getScale();
637  UT_Vector2D result;
638  OP_Utils::evalOpParm(result, thissop, "s", cookparms.getCookTime(), 0);
639  return result;
640  }
641  fpreal64 getFontSize() const { return myFontSize; }
642  void setFontSize(fpreal64 val) { myFontSize = val; }
644  {
645  SOP_Node *thissop = cookparms.getNode();
646  if (!thissop) return getFontSize();
647  fpreal64 result;
648  OP_Utils::evalOpParm(result, thissop, "fontsize", cookparms.getCookTime(), 0);
649  return result;
650  }
651  UT_Vector2D getTracking() const { return myTracking; }
652  void setTracking(UT_Vector2D val) { myTracking = val; }
654  {
655  SOP_Node *thissop = cookparms.getNode();
656  if (!thissop) return getTracking();
657  UT_Vector2D result;
658  OP_Utils::evalOpParm(result, thissop, "tracking", cookparms.getCookTime(), 0);
659  return result;
660  }
661  bool getAutoKern() const { return myAutoKern; }
662  void setAutoKern(bool val) { myAutoKern = val; }
663  bool opAutoKern(const SOP_NodeVerb::CookParms &cookparms) const
664  {
665  SOP_Node *thissop = cookparms.getNode();
666  if (!thissop) return getAutoKern();
667  bool result;
668  OP_Utils::evalOpParm(result, thissop, "autokern", cookparms.getCookTime(), 0);
669  return result;
670  }
671  fpreal64 getOblique() const { return myOblique; }
672  void setOblique(fpreal64 val) { myOblique = val; }
674  {
675  SOP_Node *thissop = cookparms.getNode();
676  if (!thissop) return getOblique();
677  fpreal64 result;
678  OP_Utils::evalOpParm(result, thissop, "oblique", cookparms.getCookTime(), 0);
679  return result;
680  }
681  fpreal64 getLOD() const { return myLOD; }
682  void setLOD(fpreal64 val) { myLOD = val; }
683  fpreal64 opLOD(const SOP_NodeVerb::CookParms &cookparms) const
684  {
685  SOP_Node *thissop = cookparms.getNode();
686  if (!thissop) return getLOD();
687  fpreal64 result;
688  OP_Utils::evalOpParm(result, thissop, "lod", cookparms.getCookTime(), 0);
689  return result;
690  }
691  bool getHole() const { return myHole; }
692  void setHole(bool val) { myHole = val; }
693  bool opHole(const SOP_NodeVerb::CookParms &cookparms) const
694  {
695  SOP_Node *thissop = cookparms.getNode();
696  if (!thissop) return getHole();
697  bool result;
698  OP_Utils::evalOpParm(result, thissop, "hole", cookparms.getCookTime(), 0);
699  return result;
700  }
701  bool getAddAttrib() const { return myAddAttrib; }
702  void setAddAttrib(bool val) { myAddAttrib = val; }
703  bool opAddAttrib(const SOP_NodeVerb::CookParms &cookparms) const
704  {
705  SOP_Node *thissop = cookparms.getNode();
706  if (!thissop) return getAddAttrib();
707  bool result;
708  OP_Utils::evalOpParm(result, thissop, "addattrib", cookparms.getCookTime(), 0);
709  return result;
710  }
711 
712 private:
713  int64 myType;
714  UT_StringHolder myFontFile;
715  UT_StringHolder myText;
716  int64 myHAlign;
717  int64 myVAlign;
718  bool myUseDescender;
719  UT_Vector3D myTranslate;
720  UT_Vector3D myRotate;
721  UT_Vector2D myScale;
722  fpreal64 myFontSize;
723  UT_Vector2D myTracking;
724  bool myAutoKern;
725  fpreal64 myOblique;
726  fpreal64 myLOD;
727  bool myHole;
728  bool myAddAttrib;
729 
730 };
static void saveData(std::ostream &os, fpreal64 v)
bool opAddAttrib(const SOP_NodeVerb::CookParms &cookparms) const
bool getAutoKern() const
static void saveData(std::ostream &os, PRM_DataItemHandle s)
UT_Vector3D getTranslate() const
void setParmValue(exint idx, const PRM_DataItemHandle &value)
bool opUseDescender(const SOP_NodeVerb::CookParms &cookparms) const
void getParmValue(exint idx, UT_Vector4D &value) const
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
void setUseDescender(bool val)
SOP_Node * getNode() const
Definition: SOP_NodeVerb.h:494
static void loadData(UT_IStream &is, UT_Matrix3D &v)
bool operator==(const SOP_FontParms &src) const
int64 getHAlign() const
T & z(void)
Definition: UT_Vector4.h:379
void setParmValue(exint idx, const UT_SharedPtr< UT_Ramp > &value)
bool opAutoKern(const SOP_NodeVerb::CookParms &cookparms) const
UT_Vector2D getScale() const
void getParmValue(exint idx, UT_Matrix4D &value) const
virtual ParmType getParmType(exint fieldnum) const
static void loadData(UT_IStream &is, fpreal64 &v)
exint bread(int32 *buffer, exint asize=1)
GT_API const UT_StringHolder time
fpreal getTime() const
Definition: OP_Context.h:60
UT_Vector2D getTracking() const
const GLdouble * v
Definition: glcorearb.h:836
void setAddAttrib(bool val)
fpreal64 opLOD(const SOP_NodeVerb::CookParms &cookparms) const
bool getUseDescender() const
void setType(int64 val)
SYS_FORCE_INLINE const char * buffer() const
T & x(void)
Definition: UT_Vector2.h:285
int64 opVAlign(const SOP_NodeVerb::CookParms &cookparms) const
void setHole(bool val)
void setParmValue(exint idx, const UT_Vector4D &value)
An output stream object that owns its own string buffer storage.
static void loadData(UT_IStream &is, UT_Matrix2D &v)
void setTranslate(UT_Vector3D val)
static void loadData(UT_IStream &is, bool &v)
const UT_WorkBuffer & str() const
Returns a read-only reference to the underlying UT_WorkBuffer.
static void loadData(UT_IStream &is, UT_Vector3I &v)
virtual exint getNumParms() const
void getParmValue(exint idx, UT_StringHolder &value) const
SYS_FORCE_INLINE T & x(void)
Definition: UT_Vector3.h:498
virtual void copyFrom(const SOP_NodeParms *src)
bool load(UT_IStream &is)
void setParmValue(exint idx, const UT_Vector3D &value)
fpreal64 getLOD() const
static void saveData(std::ostream &os, UT_StringHolder s)
static void saveData(std::ostream &os, int64 v)
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
void setFontFile(const UT_StringHolder &val)
static void loadData(UT_IStream &is, UT_Vector4I &v)
void setLOD(fpreal64 val)
void getParmValue(exint idx, UT_Vector3D &value) const
SYS_FORCE_INLINE T & z(void)
Definition: UT_Vector3.h:502
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
Definition: Dimensions.h:137
long long int64
Definition: SYS_Types.h:107
const UT_StringHolder & getText() const
UT_Vector3D opRotate(const SOP_NodeVerb::CookParms &cookparms) const
static void loadData(UT_IStream &is, UT_Vector2D &v)
void buildFromOp(const OP_Node *node, fpreal time, DEP_MicroNode *depnode)
static int version()
exint length() const
char * findChar(int c) const
Find first occurrance of character. Returns NULL upon failure.
Definition: UT_String.h:550
UT_Vector2D opTracking(const SOP_NodeVerb::CookParms &cookparms) const
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
Definition: UT_SharedPtr.h:28
int64 exint
Definition: SYS_Types.h:116
const OP_Node * node() const
Definition: SOP_NodeVerb.h:104
double fpreal64
Definition: SYS_Types.h:192
static void loadData(UT_IStream &is, UT_Vector4D &v)
void setHAlign(int64 val)
bool getAddAttrib() const
static void saveData(std::ostream &os, UT_Vector4D v)
void setParmValue(exint idx, const UT_Matrix2D &value)
virtual ~SOP_FontParms()
static void saveData(std::ostream &os, UT_Matrix2D v)
void setFontSize(fpreal64 val)
void save(std::ostream &os) const
void setParmValue(exint idx, const UT_StringHolder &value)
int64 opHAlign(const SOP_NodeVerb::CookParms &cookparms) const
void getParmValue(exint idx, exint &value) const
UT_StringHolder opText(const SOP_NodeVerb::CookParms &cookparms) const
GLboolean * data
Definition: glcorearb.h:130
void getParmValue(exint idx, PRM_DataItemHandle &value) const
int int32
Definition: SYS_Types.h:35
T & y(void)
Definition: UT_Vector4.h:377
void getParmValue(exint idx, UT_Matrix2D &value) const
fpreal64 opFontSize(const SOP_NodeVerb::CookParms &cookparms) const
void doGetParmValue(exint idx, T &value) const
UT_StringHolder opFontFile(const SOP_NodeVerb::CookParms &cookparms) const
void saveBinary(std::ostream &os) const
Save string to binary stream.
Definition: UT_String.h:294
int64 getType() const
GT_API const UT_StringHolder version
DEP_MicroNode * depnode() const
Definition: SOP_NodeVerb.h:111
static void saveData(std::ostream &os, bool v)
const UT_StringHolder & getFontFile() const
static void loadData(UT_IStream &is, UT_Vector3D &v)
UT_Vector3D getRotate() const
SYS_FORCE_INLINE T & y(void)
Definition: UT_Vector3.h:500
GLsizei const GLfloat * value
Definition: glcorearb.h:823
double fpreal
Definition: SYS_Types.h:270
int64 opType(const SOP_NodeVerb::CookParms &cookparms) const
void setTracking(UT_Vector2D val)
static void saveData(std::ostream &os, UT_Matrix4D v)
bool getHole() const
void getParmValue(exint idx, fpreal &value) const
static void loadData(UT_IStream &is, int64 &v)
void setParmValue(exint idx, const exint &value)
UT_Vector3D opTranslate(const SOP_NodeVerb::CookParms &cookparms) const
bool operator!=(const SOP_FontParms &src) const
Utility class for containing a color ramp.
Definition: UT_Ramp.h:84
int64 getVAlign() const
static void saveData(std::ostream &os, UT_Vector2D v)
static void saveData(std::ostream &os, UT_Matrix3D v)
UT_Vector2D opScale(const SOP_NodeVerb::CookParms &cookparms) const
GLuint GLfloat * val
Definition: glcorearb.h:1607
Vec3< typename MatType::value_type > getScale(const MatType &mat)
Return a Vec3 representing the lengths of the passed matrix's upper 3×3's rows.
Definition: Mat.h:665
#define SOP_API
Definition: SOP_API.h:10
void getParmValue(exint idx, UT_Vector2D &value) const
void setOblique(fpreal64 val)
GLint GLint GLsizei GLint GLenum GLenum type
Definition: glcorearb.h:107
fpreal getCookTime() const
Definition: SOP_NodeVerb.h:501
static void saveData(std::ostream &os, UT_Vector3D v)
fpreal64 getOblique() const
T & x(void)
Definition: UT_Vector4.h:375
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
static void loadData(UT_IStream &is, UT_Vector2I &v)
T & y(void)
Definition: UT_Vector2.h:287
void setParmValue(exint idx, const UT_Matrix4D &value)
void setVAlign(int64 val)
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
void setText(const UT_StringHolder &val)
bool opHole(const SOP_NodeVerb::CookParms &cookparms) const
GLboolean r
Definition: glcorearb.h:1221
fpreal64 opOblique(const SOP_NodeVerb::CookParms &cookparms) const
T & w(void)
Definition: UT_Vector4.h:381
void doSetParmValue(exint idx, const T &value)
virtual const char * getParmName(exint fieldnum) const
void setScale(UT_Vector2D val)
static void loadData(UT_IStream &is, UT_StringHolder &v)
void getParmValue(exint idx, UT_SharedPtr< UT_Ramp > &value) const
void setParmValue(exint idx, const fpreal &value)
void setParmValue(exint idx, const UT_Vector2D &value)
const OP_Context & context() const
Definition: SOP_NodeVerb.h:109
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
Definition: PRM_Parm.h:88
fpreal64 getFontSize() const
SYS_FORCE_INLINE bool isstring() const
virtual void loadFromOpSubclass(const LoadParms &loadparms)
static void loadData(UT_IStream &is, UT_Matrix4D &v)
void setRotate(UT_Vector3D val)
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
void getParmValue(exint idx, UT_Matrix3D &value) const
void setParmValue(exint idx, const UT_Matrix3D &value)
GLenum src
Definition: glcorearb.h:1792
void setAutoKern(bool val)