11 #ifndef __SIM_OpenCLMergeVDB__
12 #define __SIM_OpenCLMergeVDB__
43 BaseClass::saveSubclass(os);
49 if (!BaseClass::loadSubclass(is))
51 if (!myParms.load(is))
59 myParms.createQueryObject(
this));
64 BaseClass::makeEqualSubclass(source);
69 myParms = src->
param();
98 float timestep)
const;
111 float timestep)
const;
122 "Gas OpenCL Merge VDB",
123 getDopDescription());
143 const char* parentdataname,
146 bool active)
override;
#define DECLARE_STANDARD_GETCASTTOTYPE()
#define SIM_DATA_CASTCONST(Data, DataClass)
const SIM_OpenCLMergeVDBParms & param() const
OP_VERSION versionParms() const
GT_API const UT_StringHolder time
virtual bool solveGasSubclass(SIM_Engine &engine, SIM_Object *obj, SIM_Time time, SIM_Time timestep)=0
This class encapsulates a volume merging rule.
#define DECLARE_DATAFACTORY(DataClass, SuperClass, Description, DopParms)
void getInputInfoSubclass(int inputidx, DOP_InOutInfo &info) const override
This default implementation specifies the input accepts objects.
SIM_OpenCLMergeVDBParms & param()
This class implements the solving logic.
void setVersionParms(OP_VERSION version)
bool updateParmsFlags() override
GLsizei GLsizei GLchar * source
SIM_Query * createQueryObjectSubclass() const override
GLuint const GLchar * name
GA_API const UT_StringHolder orient
GT_API const UT_StringHolder version
virtual void doApplyOutputDataSubclass(fpreal time, int outputidx, SIM_RootData &rootdata, const char *parentdataname, DOP_Engine &engine, UT_StringArray *datanames, bool active)
SIM_API const UT_StringHolder position
void makeEqualSubclass(const SIM_Data *source) override
This class holds a three dimensional scalar field.
GA_API const UT_StringHolder pivot
This class holds a three dimensional vector field.
static OP_Node * myConstructor(OP_Network *net, const char *name, OP_Operator *entry)
void saveSubclass(std::ostream &os) const override
bool loadSubclass(UT_IStream &is) override