51 targetfield =
""_UTsh;
52 weightfield =
""_UTsh;
58 enabledirguide =
false;
69 if (srcvdb != src.
srcvdb)
return false;
70 if (srcweight != src.
srcweight)
return false;
73 if (operation != src.
operation)
return false;
75 if (noneg != src.
noneg)
return false;
97 for (
int i = 0; i < list.
entries(); i++)
117 buf.
appendSprintf(
"%s", (list(i).useveclength) ?
"true" :
"false");
125 buf.
appendSprintf(
"%s", (list(i).enabledirguide) ?
"true" :
"false");
143 myDopGeometry =
""_UTsh;
144 mySrcSuffix =
""_UTsh;
146 myUseInstances =
false;
147 myInstanceGeo =
""_UTsh;
161 if (myDopGeometry != src.myDopGeometry)
return false;
162 if (mySrcSuffix != src.mySrcSuffix)
return false;
163 if (mySourceType != src.mySourceType)
return false;
164 if (myUseInstances != src.myUseInstances)
return false;
165 if (myInstanceGeo != src.myInstanceGeo)
return false;
166 if (myPosition != src.myPosition)
return false;
167 if (mySources != src.mySources)
return false;
188 {
return !strcmp(recordtype,
"Params"); }
193 if (recordtypenum == 0)
return "Params";
198 if (isMyRecord(recordtype))
return 1;
203 if (isMyRecord(recordtype))
209 int fieldnum)
const override
211 if (!isMyRecord(recordtype))
235 int fieldnum)
const override
237 if (!isMyRecord(recordtype))
263 const char *fieldname,
266 if (!isMyRecord(recordtype))
272 if (!strcmp(fieldname,
"dopgeo"))
274 result = UTmakeUnique<UT_OptionString>(myParms.myDopGeometry);
277 if (!strcmp(fieldname,
"srcsuffix"))
279 result = UTmakeUnique<UT_OptionString>(myParms.mySrcSuffix);
282 if (!strcmp(fieldname,
"srctype"))
284 result = UTmakeUnique<UT_OptionInt>(myParms.mySourceType);
287 if (!strcmp(fieldname,
"useinst"))
289 result = UTmakeUnique<UT_OptionBool>(myParms.myUseInstances);
292 if (!strcmp(fieldname,
"instgeo"))
294 result = UTmakeUnique<UT_OptionString>(myParms.myInstanceGeo);
297 if (!strcmp(fieldname,
"loc"))
299 result = UTmakeUnique<UT_OptionVector3>(myParms.myPosition);
302 if (!strcmp(fieldname,
"sources"))
304 result = UTmakeUnique<UT_OptionString>(myParms.createString(myParms.mySources));
316 {
return new Query(owner, *
this); }
337 {
for (
int r = 0;
r < 2;
r++)
for (
int c = 0; c < 2; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
339 {
for (
int r = 0;
r < 3;
r++)
for (
int c = 0; c < 3; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
341 {
for (
int r = 0;
r < 4;
r++)
for (
int c = 0; c < 4; c++) is.
bread<
fpreal64>(&v(
r, c), 1); }
354 loadData(is, rampdata);
372 int typelen = colon - data.
buffer();
386 {
int64 iv =
v; UTwrite(os, &iv); }
388 { UTwrite<fpreal64>(os, &
v); }
390 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y()); }
392 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
393 UTwrite<fpreal64>(os, &v.
z()); }
395 { UTwrite<fpreal64>(os, &v.
x()); UTwrite<fpreal64>(os, &v.
y());
396 UTwrite<fpreal64>(os, &v.
z()); UTwrite<fpreal64>(os, &v.
w()); }
408 if (s) s->save(ostr);
410 saveData(os, result);
417 ostr << s->getDataTypeToken();
422 saveData(os, result);
426 void save(std::ostream &os)
const
430 saveData(os, myDopGeometry);
431 saveData(os, mySrcSuffix);
432 saveData(os, mySourceType);
433 saveData(os, myUseInstances);
434 saveData(os, myInstanceGeo);
435 saveData(os, myPosition);
438 UTwrite(os, &length);
441 auto && _curentry = mySources(i);
443 saveData(os, _curentry.activate);
444 saveData(os, _curentry.rank);
445 saveData(os, _curentry.srcvdb);
446 saveData(os, _curentry.srcweight);
447 saveData(os, _curentry.targetfield);
448 saveData(os, _curentry.weightfield);
449 saveData(os, _curentry.operation);
450 saveData(os, _curentry.useveclength);
451 saveData(os, _curentry.noneg);
452 saveData(os, _curentry.accguidestr);
453 saveData(os, _curentry.decguidestr);
454 saveData(os, _curentry.enabledirguide);
455 saveData(os, _curentry.dirguidestr);
456 saveData(os, _curentry.scale);
457 saveData(os, _curentry.normalize);
473 loadData(is, myDopGeometry);
474 loadData(is, mySrcSuffix);
475 loadData(is, mySourceType);
476 loadData(is, myUseInstances);
477 loadData(is, myInstanceGeo);
478 loadData(is, myPosition);
482 mySources.setSize(length);
485 auto && _curentry = mySources(i);
487 loadData(is, _curentry.activate);
488 loadData(is, _curentry.rank);
489 loadData(is, _curentry.srcvdb);
490 loadData(is, _curentry.srcweight);
491 loadData(is, _curentry.targetfield);
492 loadData(is, _curentry.weightfield);
493 loadData(is, _curentry.operation);
494 loadData(is, _curentry.useveclength);
495 loadData(is, _curentry.noneg);
496 loadData(is, _curentry.accguidestr);
497 loadData(is, _curentry.decguidestr);
498 loadData(is, _curentry.enabledirguide);
499 loadData(is, _curentry.dirguidestr);
500 loadData(is, _curentry.scale);
501 loadData(is, _curentry.normalize);
bool isMyRecord(const char *recordtype) const
GLenum GLuint GLenum GLsizei const GLchar * buf
const SIM_OpenCLMergeVDBParms & myParms
static void loadData(UT_IStream &is, UT_Matrix2D &v)
SIM_OpenCLMergeVDBParms()
static void saveData(std::ostream &os, UT_StringHolder s)
UT_StringHolder targetfield
static void loadData(UT_IStream &is, UT_Vector3I &v)
void setSources(const UT_Array< Sources > &val)
exint bread(int32 *buffer, exint asize=1)
constexpr SYS_FORCE_INLINE T & y() noexcept
static void saveData(std::ostream &os, UT_Vector2D v)
static void loadData(UT_IStream &is, UT_Vector2D &v)
static void loadData(UT_IStream &is, PRM_DataItemHandle &v)
void setUseInstances(bool val)
UT_String makeQuotedString(char delimiter='\'', bool escape_nonprinting=false) const
constexpr SYS_FORCE_INLINE T & z() noexcept
SIM_Query * createQueryObject(const SIM_Data *owner) const
SYS_FORCE_INLINE const char * buffer() const
static void loadData(UT_IStream &is, fpreal64 &v)
static void loadData(UT_IStream &is, UT_SharedPtr< UT_Ramp > &v)
GLuint GLsizei GLsizei * length
An output stream object that owns its own string buffer storage.
static void saveData(std::ostream &os, UT_Matrix4D v)
static void saveData(std::ostream &os, int64 v)
**But if you need a result
const UT_Array< Sources > & getSources() const
static void loadData(UT_IStream &is, UT_Vector3D &v)
static PRM_DataItemHandle parseBinary(const char *type, UT_IStream &is)
const UT_WorkBuffer & str()
Returns a read-only reference to the underlying UT_WorkBuffer.
static void loadData(UT_IStream &is, UT_StringHolder &v)
void setInstanceGeo(const UT_StringHolder &val)
constexpr SYS_FORCE_INLINE T & x() noexcept
bool getFieldRawSubclass(const char *recordtype, int recordnum, const char *fieldname, UT_OptionEntryPtr &result) const override
constexpr SYS_FORCE_INLINE T & x() noexcept
static void loadData(UT_IStream &is, UT_Vector4D &v)
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
GA_API const UT_StringHolder scale
int getNumRecordsSubclass(const char *recordtype) const override
UT_Vector3D getPosition() const
UT_OptionType getFieldTypeSubclass(const char *recordtype, int fieldnum) const override
static void loadData(UT_IStream &is, UT_Vector2I &v)
SYS_FORCE_INLINE const char * buffer() const
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
constexpr SYS_FORCE_INLINE T & z() noexcept
bool operator!=(const SIM_OpenCLMergeVDBParms &src) const
exint read(bool *array, exint sz=1)
bool operator==(const SIM_OpenCLMergeVDBParms &src) const
UT_StringHolder srcweight
int getNumFieldsSubclass(const char *recordtype) const override
static void loadData(UT_IStream &is, UT_Matrix4D &v)
bool getUseInstances() const
static void saveData(std::ostream &os, UT_SharedPtr< UT_Ramp > s)
const char * getFieldNameSubclass(const char *recordtype, int fieldnum) const override
bool load(UT_IStream &is)
const char * getRecordTypeNameSubclass(int recordtypenum) const override
void setDopGeometry(const UT_StringHolder &val)
static void saveData(std::ostream &os, bool v)
static void saveData(std::ostream &os, PRM_DataItemHandle s)
SYS_FORCE_INLINE void strcat(const char *src)
void saveBinary(std::ostream &os) const
Save string to binary stream.
int64 getSourceType() const
static void saveData(std::ostream &os, UT_Vector4D v)
GT_API const UT_StringHolder version
exint entries() const
Alias of size(). size() is preferred.
void save(std::ostream &os) const
int int appendSprintf(const char *fmt,...) SYS_PRINTF_CHECK_ATTRIBUTE(2
Utility class for containing a color ramp.
size_t *lastDimSize unsigned int rank
constexpr SYS_FORCE_INLINE T & w() noexcept
SYS_FORCE_INLINE void append(char character)
static void loadData(UT_IStream &is, UT_Vector4I &v)
static void loadData(UT_IStream &is, UT_Matrix3D &v)
UT_StringHolder createString(const UT_Array< Sources > &list) const
static void loadData(UT_IStream &is, int64 &v)
const char * findChar(int c) const
bool operator==(const Sources &src) const
static void saveData(std::ostream &os, UT_Matrix3D v)
bool operator!=(const Sources &src) const
static void saveData(std::ostream &os, UT_Vector3D v)
static void saveData(std::ostream &os, UT_Matrix2D v)
const UT_StringHolder & getDopGeometry() const
static void loadData(UT_IStream &is, bool &v)
constexpr SYS_FORCE_INLINE T & y() noexcept
Query(const SIM_Data *owner, const SIM_OpenCLMergeVDBParms &parms)
const UT_StringHolder & getSrcSuffix() const
void setPosition(UT_Vector3D val)
void setSourceType(int64 val)
UT_StringHolder weightfield
UT_SharedPtr< const PRM_DataItem > PRM_DataItemHandle
constexpr SYS_FORCE_INLINE T & y() noexcept
UT_UniquePtr< UT_OptionEntry > UT_OptionEntryPtr
SYS_FORCE_INLINE bool isstring() const
constexpr T normalize(UT_FixedVector< T, D > &a) noexcept
const UT_StringHolder & getInstanceGeo() const
SYS_FORCE_INLINE void strncpy(const char *src, exint maxlen)
static void saveData(std::ostream &os, fpreal64 v)
void setSrcSuffix(const UT_StringHolder &val)
constexpr SYS_FORCE_INLINE T & x() noexcept
int getNumRecordTypesSubclass() const override