41 using namespace HDK_Sample;
69 SIM_GasAdd::getDopDescription()
88 return &theDopDescription;
111 for (i = 0; i < dst.
entries(); i++)
130 if (dstscalar && srcscalar)
135 if (dstvector && srcvector)
137 for (j = 0; j < 3; j++)
141 if (dstmatrix && srcmatrix)
143 for (j = 0; j < 3; j++)
144 for (k = 0; k < 3; k++)
205 float srcval = srcsampler.
getValue(vit);
SYS_FORCE_INLINE bool isTileConstant(const UT_VoxelArrayIteratorF &iter, float &val)
UT_VoxelTile< T > * getTile() const
Returns the VoxelTile we are currently processing.
bool solveGasSubclass(SIM_Engine &engine, SIM_Object *obj, SIM_Time time, SIM_Time timestep) override
void pubHandleModification()
Signals to the field that it has been altered externally.
bool atEnd() const
Returns true if we have iterated over all of the voxels.
PRM_API const PRM_Type PRM_STRING
#define IMPLEMENT_DATAFACTORY(DataClass)
GT_API const UT_StringHolder time
SYS_FORCE_INLINE float getValue(int x, int y, int z)
const SIM_RawField * getField(int axis) const
Retrieve raw field.
void setValue(T t) const
Sets the voxel we are currently pointing to the given value.
UT_VoxelArrayF * fieldNC() const
bool isStartOfTile() const
Returns true if we are at the start of a new tile.
void setArray(UT_VoxelArray< T > *vox)
SIM_GasAdd(const SIM_DataFactory *factory)
void getMatchingData(SIM_DataArray &data, SIM_Object *obj, const char *name, bool silent=false)
void pubHandleModification()
int opInterrupt(int percent=-1)
void setPartialRange(int idx, int numranges)
void pubHandleModification()
void rewind()
Resets the iterator to point to the first voxel.
#define GAS_NAME_FIELDSOURCE
#define GAS_NAME_FIELDDEST
void addError(const SIM_RootData *root, int errorcode, const char *errorparm, UT_ErrorSeverity severity) const
Adds an error to our SIM_Engine.
void setCompressOnExit(bool shouldcompress)
This class holds a three dimensional tensor field.
bool isTileConstant() const
Returns true if the tile we are currently in is a constant tile.
exint entries() const
Alias of size(). size() is preferred.
const SIM_RawField * getField() const
Retrieve raw field.
UT_API UT_Interrupt * UTgetInterrupt()
Obtain global UT_Interrupt singleton.
This class holds a three dimensional scalar field.
#define SIM_DATA_CAST(Data, DataClass)
void initializeSIM(void *)
const SIM_RawField * getField(int i, int j) const
Retrieve raw field.
This class holds a three dimensional vector field.
void addFieldsPartial(SIM_RawField *dst, const SIM_RawField *src, const UT_JobInfo &info)
void advance()
Advances the iterator to point to the next voxel.