41             if (binddata != src.
binddata) 
return false;
 
   42             if (bindparm != src.
bindparm) 
return false;
 
   58         for (
int i = 0; i < list.
entries(); i++)
 
   90             if (binddata != src.
binddata) 
return false;
 
   91             if (bindparm != src.
bindparm) 
return false;
 
  107         for (
int i = 0; i < list.
entries(); i++)
 
  139             if (binddata != src.
binddata) 
return false;
 
  140             if (bindparm != src.
bindparm) 
return false;
 
  156         for (
int i = 0; i < list.
entries(); i++)
 
  188             if (inputnum != src.
inputnum) 
return false;
 
  189             if (inputtype != src.
inputtype) 
return false;
 
  205         for (
int i = 0; i < list.
entries(); i++)
 
  225         myVexScript = 
""_UTsh;
 
  227         myVexOutputMask = 
""_UTsh;
 
  229         myGroupAutobind = 
false;
 
  230         myGeometryName = 
""_UTsh;
 
  234         myUseTimeStep = 
false;
 
  237         myMultiThread = 
false;
 
  238         myUpdateNormals = 
false;
 
  241         myVexPrecision = 
""_UTsh;
 
  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;
 
  296         { 
return !strcmp(recordtype, 
"Params"); }
 
  301             if (recordtypenum == 0) 
return "Params"; 
 
  306             if (isMyRecord(recordtype)) 
return 1; 
 
  311             if (isMyRecord(recordtype))
 
  317                                         int fieldnum)
 const override 
  319             if (!isMyRecord(recordtype))
 
  327                 return "vex_cwdpath";
 
  329                 return "vex_outputmask";
 
  333                 return "fieldbindings";
 
  335                 return "groupbindings";
 
  337                 return "inputbindings";
 
  341                 return "groupautobind";
 
  345                 return "attribclass";
 
  351                 return "usetimestep";
 
  357                 return "vex_multithread";
 
  359                 return "vex_updatenmls";
 
  361                 return "vex_numcount";
 
  363                 return "vex_threadjobsize";
 
  365                 return "vex_precision";
 
  371                                         int fieldnum)
 const override 
  373             if (!isMyRecord(recordtype))
 
  427                                  const char *fieldname,
 
  430             if (!isMyRecord(recordtype))
 
  436             if (!strcmp(fieldname, 
"vexscript"))
 
  438                 result = UTmakeUnique<UT_OptionString>(myParms.myVexScript);
 
  441             if (!strcmp(fieldname, 
"vex_cwdpath"))
 
  443                 result = UTmakeUnique<UT_OptionString>(myParms.myVexCWD);
 
  446             if (!strcmp(fieldname, 
"vex_outputmask"))
 
  448                 result = UTmakeUnique<UT_OptionString>(myParms.myVexOutputMask);
 
  451             if (!strcmp(fieldname, 
"bindings"))
 
  453                 result = UTmakeUnique<UT_OptionString>(myParms.createString(myParms.myBindings));
 
  456             if (!strcmp(fieldname, 
"fieldbindings"))
 
  458                 result = UTmakeUnique<UT_OptionString>(myParms.createString(myParms.myFieldBindings));
 
  461             if (!strcmp(fieldname, 
"groupbindings"))
 
  463                 result = UTmakeUnique<UT_OptionString>(myParms.createString(myParms.myGroupBindings));
 
  466             if (!strcmp(fieldname, 
"inputbindings"))
 
  468                 result = UTmakeUnique<UT_OptionString>(myParms.createString(myParms.myInputBindings));
 
  471             if (!strcmp(fieldname, 
"autobind"))
 
  473                 result = UTmakeUnique<UT_OptionBool>(myParms.myAutobind);
 
  476             if (!strcmp(fieldname, 
"groupautobind"))
 
  478                 result = UTmakeUnique<UT_OptionBool>(myParms.myGroupAutobind);
 
  481             if (!strcmp(fieldname, 
"geometry"))
 
  483                 result = UTmakeUnique<UT_OptionString>(myParms.myGeometryName);
 
  486             if (!strcmp(fieldname, 
"attribclass"))
 
  488                 result = UTmakeUnique<UT_OptionInt>(myParms.myAttribClass);
 
  491             if (!strcmp(fieldname, 
"group"))
 
  493                 result = UTmakeUnique<UT_OptionString>(myParms.myGroup);
 
  496             if (!strcmp(fieldname, 
"grouptype"))
 
  498                 result = UTmakeUnique<UT_OptionInt>(myParms.myGroupType);
 
  501             if (!strcmp(fieldname, 
"usetimestep"))
 
  503                 result = UTmakeUnique<UT_OptionBool>(myParms.myUseTimeStep);
 
  506             if (!strcmp(fieldname, 
"timescale"))
 
  508                 result = UTmakeUnique<UT_OptionFpreal>(myParms.myTimeScale);
 
  511             if (!strcmp(fieldname, 
"activate"))
 
  513                 result = UTmakeUnique<UT_OptionBool>(myParms.myActivate);
 
  516             if (!strcmp(fieldname, 
"vex_multithread"))
 
  518                 result = UTmakeUnique<UT_OptionBool>(myParms.myMultiThread);
 
  521             if (!strcmp(fieldname, 
"vex_updatenmls"))
 
  523                 result = UTmakeUnique<UT_OptionBool>(myParms.myUpdateNormals);
 
  526             if (!strcmp(fieldname, 
"vex_numcount"))
 
  528                 result = UTmakeUnique<UT_OptionInt>(myParms.myNumCount);
 
  531             if (!strcmp(fieldname, 
"vex_threadjobsize"))
 
  533                 result = UTmakeUnique<UT_OptionInt>(myParms.myThreadJobSize);
 
  536             if (!strcmp(fieldname, 
"vex_precision"))
 
  538                 result = UTmakeUnique<UT_OptionString>(myParms.myVexPrecision);
 
  550     { 
return new Query(owner, *
this); }
 
  588         loadData(is, rampdata);
 
  606                 int             typelen = colon - data.
buffer();
 
  620     { 
int64 iv = 
v; UTwrite(os, &iv); }
 
  622     { UTwrite<fpreal64>(os, &
v); }
 
  624     { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
 
  626     { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
 
  627       UTwrite<fpreal64>(os, &v.
z()); }
 
  629     { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
 
  630       UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
 
  642         if (s) s->save(ostr);
 
  644         saveData(os, result);
 
  651             ostr << s->getDataTypeToken();
 
  656         saveData(os, result);
 
  660     void         save(std::ostream &os)
 const 
  664         saveData(os, myVexScript);
 
  665         saveData(os, myVexCWD);
 
  666         saveData(os, myVexOutputMask);
 
  669             UTwrite(os, &length);
 
  672                 auto && _curentry = myBindings(i);
 
  674                 saveData(os, _curentry.binddata);
 
  675                 saveData(os, _curentry.bindparm);
 
  681             UTwrite(os, &length);
 
  684                 auto && _curentry = myFieldBindings(i);
 
  686                 saveData(os, _curentry.binddata);
 
  687                 saveData(os, _curentry.bindparm);
 
  693             UTwrite(os, &length);
 
  696                 auto && _curentry = myGroupBindings(i);
 
  698                 saveData(os, _curentry.binddata);
 
  699                 saveData(os, _curentry.bindparm);
 
  705             UTwrite(os, &length);
 
  708                 auto && _curentry = myInputBindings(i);
 
  710                 saveData(os, _curentry.inputnum);
 
  711                 saveData(os, _curentry.inputtype);
 
  715         saveData(os, myAutobind);
 
  716         saveData(os, myGroupAutobind);
 
  717         saveData(os, myGeometryName);
 
  718         saveData(os, myAttribClass);
 
  719         saveData(os, myGroup);
 
  720         saveData(os, myGroupType);
 
  721         saveData(os, myUseTimeStep);
 
  722         saveData(os, myTimeScale);
 
  723         saveData(os, myActivate);
 
  724         saveData(os, myMultiThread);
 
  725         saveData(os, myUpdateNormals);
 
  726         saveData(os, myNumCount);
 
  727         saveData(os, myThreadJobSize);
 
  728         saveData(os, myVexPrecision);
 
  741         loadData(is, myVexScript);
 
  742         loadData(is, myVexCWD);
 
  743         loadData(is, myVexOutputMask);
 
  747             myBindings.setSize(length);
 
  750                 auto && _curentry = myBindings(i);
 
  752                 loadData(is, _curentry.binddata);
 
  753                 loadData(is, _curentry.bindparm);
 
  760             myFieldBindings.setSize(length);
 
  763                 auto && _curentry = myFieldBindings(i);
 
  765                 loadData(is, _curentry.binddata);
 
  766                 loadData(is, _curentry.bindparm);
 
  773             myGroupBindings.setSize(length);
 
  776                 auto && _curentry = myGroupBindings(i);
 
  778                 loadData(is, _curentry.binddata);
 
  779                 loadData(is, _curentry.bindparm);
 
  786             myInputBindings.setSize(length);
 
  789                 auto && _curentry = myInputBindings(i);
 
  791                 loadData(is, _curentry.inputnum);
 
  792                 loadData(is, _curentry.inputtype);
 
  796         loadData(is, myAutobind);
 
  797         loadData(is, myGroupAutobind);
 
  798         loadData(is, myGeometryName);
 
  799         loadData(is, myAttribClass);
 
  800         loadData(is, myGroup);
 
  801         loadData(is, myGroupType);
 
  802         loadData(is, myUseTimeStep);
 
  803         loadData(is, myTimeScale);
 
  804         loadData(is, myActivate);
 
  805         loadData(is, myMultiThread);
 
  806         loadData(is, myUpdateNormals);
 
  807         loadData(is, myNumCount);
 
  808         loadData(is, myThreadJobSize);
 
  809         loadData(is, myVexPrecision);
 
  866     bool myGroupAutobind;
 
  875     bool myUpdateNormals;
 
  877     int64 myThreadJobSize;
 
const UT_StringHolder & getVexScript() const 
 
void setMultiThread(bool val)
 
void setVexScript(const UT_StringHolder &val)
 
const UT_Array< Bindings > & getBindings() const 
 
int64 getThreadJobSize() const 
 
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
 
const UT_StringHolder & getGeometryName() const 
 
const UT_StringHolder & getGroup() const 
 
int64 getAttribClass() const 
 
bool load(UT_IStream &is)
 
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)
 
exint bread(int32 *buffer, exint asize=1)
 
constexpr SYS_FORCE_INLINE T & y() noexcept
 
void setActivate(bool val)
 
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)
 
void setAttribClass(int64 val)
 
constexpr SYS_FORCE_INLINE T & z() noexcept
 
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)
 
void setNumCount(int64 val)
 
GLuint GLsizei GLsizei * length
 
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
 
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
 
UT_OptionType getFieldTypeSubclass(const char *recordtype, int fieldnum) const override
 
const char * getRecordTypeNameSubclass(int recordtypenum) const override
 
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
 
constexpr SYS_FORCE_INLINE T & x() noexcept
 
int64 getGroupType() const 
 
static void saveData(std::ostream &os, UT_Vector4D v)
 
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
 
void setThreadJobSize(int64 val)
 
void setVexOutputMask(const UT_StringHolder &val)
 
SIM_Query * createQueryObject(const SIM_Data *owner) const 
 
void setAutobind(bool val)
 
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. 
 
const UT_StringHolder & getVexOutputMask() const 
 
constexpr SYS_FORCE_INLINE T & z() noexcept
 
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)
 
void setFieldBindings(const UT_Array< FieldBindings > &val)
 
void setGroupType(int64 val)
 
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. 
 
void setUseTimeStep(bool val)
 
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. 
 
int getNumFieldsSubclass(const char *recordtype) const override
 
int64 getNumCount() const 
 
UT_StringHolder createString(const UT_Array< InputBindings > &list) const 
 
GA_API const UT_StringHolder parms
 
static void loadData(UT_IStream &is, UT_Matrix4D &v)
 
int int appendSprintf(const char *fmt,...) SYS_PRINTF_CHECK_ATTRIBUTE(2
 
void setGroupAutobind(bool val)
 
static void loadData(UT_IStream &is, int64 &v)
 
static void saveData(std::ostream &os, int64 v)
 
bool getMultiThread() const 
 
LeafData & operator=(const LeafData &)=delete
 
Utility class for containing a color ramp. 
 
bool getFieldRawSubclass(const char *recordtype, int recordnum, const char *fieldname, UT_OptionEntryPtr &result) const override
 
constexpr SYS_FORCE_INLINE T & w() noexcept
 
SYS_FORCE_INLINE void append(char character)
 
bool getUpdateNormals() const 
 
bool getGroupAutobind() const 
 
void setUpdateNormals(bool val)
 
int getNumRecordTypesSubclass() const override
 
void setInputBindings(const UT_Array< InputBindings > &val)
 
int getNumRecordsSubclass(const char *recordtype) const override
 
void setTimeScale(fpreal64 val)
 
const char * findChar(int c) const 
 
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)
 
constexpr SYS_FORCE_INLINE T & y() noexcept
 
static void loadData(UT_IStream &is, UT_Vector4I &v)
 
bool getUseTimeStep() const 
 
void save(std::ostream &os) const 
 
fpreal64 getTimeScale() const 
 
constexpr SYS_FORCE_INLINE T & y() noexcept
 
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