HDK
|
This class holds a three dimensional scalar field. More...
#include <SIM_ScalarField.h>
Classes | |
class | SkipFieldRebuildScope |
Public Types | |
typedef SIM_RawField | rawfield_type |
Public Member Functions | |
GETSET_DATA_FUNCS_S (SIM_NAME_POSITIONPATH, PositionPath) | |
GETSET_DATA_FUNCS_I (SIM_NAME_UNIFORMVOXELS, UniformVoxels) | |
Control the number of divisions. More... | |
GETSET_DATA_FUNCS_B (SIM_NAME_TWOD, TwoDField) | |
GETSET_DATA_FUNCS_I (SIM_NAME_VOXELPLANE, VoxelPlane) | |
GETSET_DATA_FUNCS_V3 (SIM_NAME_DIV, RawDivisions) | |
GETSET_DATA_FUNCS_I ("uniformdiv", RawUniformDivisions) | |
GETSET_DATA_FUNCS_F ("divsize", RawDivisionSize) | |
GETSET_DATA_FUNCS_V3 (SIM_NAME_CENTER, RawCenter) | |
GETSET_DATA_FUNCS_V3 (SIM_NAME_SIZE, RawSize) | |
GETSET_DATA_FUNCS_V3 ("slicediv", SliceDivisions) | |
GETSET_DATA_FUNCS_V3 ("sliceoverlapneg", SliceOverlapNeg) | |
GETSET_DATA_FUNCS_V3 ("sliceoverlappos", SliceOverlapPos) | |
exint | getNumSlices () const |
GETSET_DATA_FUNCS_I ("totalvoxels", TotalVoxels) | |
GETSET_DATA_FUNCS_V3 ("totalvoxelres", TotalVoxelRes) | |
GETSET_DATA_FUNCS_I (SIM_NAME_VOXELSAMPLE, VoxelSampleRaw) | |
GETSET_DATA_FUNCS_F ("initialvalue", InitialValue) | |
GETSET_DATA_FUNCS_F (SIM_NAME_TOLERANCE, Tolerance) | |
GETSET_DATA_FUNCS_B ("usefp16", UseFP16) | |
GETSET_DATA_FUNCS_I ("border", RawBorder) | |
UT_VoxelBorderType | getBorder () const |
void | setBorder (UT_VoxelBorderType border) |
void | getBBox (UT_BoundingBox &bbox) const |
UT_Vector3 | getOrig () const |
UT_Vector3 | getDivisions () const |
UT_Vector3 | getSize () const |
UT_Vector3 | getCenter () const |
void | setDivisions (const UT_Vector3 &div) |
void | setSize (const UT_Vector3 &size) |
void | setCenter (const UT_Vector3 ¢er) |
void | resizeKeepData (const UT_Vector3 &size, const UT_Vector3 ¢er, bool keepdata, const char *address=0, int port=-1) |
void | matchField (const SIM_ScalarField *field, bool matchsample=false) |
void | matchField (const SIM_VectorField *field) |
void | matchField (const SIM_MatrixField *field) |
void | matchField (const SIM_IndexField *field) |
void | matchVolume (const GEO_PrimVolume *vol, const UT_DMatrix4 &xform) |
void | matchVDB (const GEO_PrimVDB *vdb, const UT_DMatrix4 &xform) |
SIM_FieldSample | getVoxelSample () const |
void | setVoxelSample (SIM_FieldSample sample) |
const UT_Vector3 & | getVoxelSize () const |
void | setVoxelSize (const UT_Vector3 &voxelsize) |
fpreal | getVoxelDiameter () const |
fpreal | getValue (const UT_Vector3 &pos) const |
UT_Vector3 | getGradient (const UT_Vector3 &pos) const |
Determines the gradient at the given location. More... | |
void | advect (const SIM_VectorField *vel, float timestep, const SIM_RawField *collision, SIM_FieldAdvection advectmethod, float cfl) |
Advects this field by the other given field. More... | |
void | advect (sim_PointVelocity getVelocity, float timestep, float voxelsize, const SIM_RawField *collision=0, float cfl=1.0f) |
void | advectMinMax (SIM_ScalarField *minfield, SIM_ScalarField *maxfield, const SIM_VectorField *vel, float timestep, const SIM_RawField *collision, SIM_FieldAdvection advectmethod, float cfl) |
void | enforceBoundary (const SIM_ScalarField *collision=0, const SIM_ScalarField *colvalue=0, const SIM_ScalarField *boundvalue=0) |
Enforces the boundary condition with the given collision mask. More... | |
bool | indexToPos (int x, int y, int z, UT_Vector3 &pos) const |
Converts an integer index into a worldspace position. More... | |
bool | posToIndex (const UT_Vector3 &pos, int &x, int &y, int &z) const |
Converts a worldspace position into an integer index. More... | |
const SIM_RawField * | getField () const |
Retrieve raw field. More... | |
SIM_RawField * | getField () |
void | setField (SIM_RawField *field) |
Sets the field to the given field, gaining ownership of it. More... | |
bool | hasNan () const |
True if we contain any NANs. More... | |
bool | appearsToBeUnused () const |
SIM_RawField * | stealField () |
void | testForNan () const |
void | pubHandleModification () |
Signals to the field that it has been altered externally. More... | |
void | markGridAsChanged () |
void | updateTotalVoxels () |
GU_ConstDetailHandle | createSmokeRepresentation (const SIM_Data &root) const |
Creates a GDP with us as a Volume Primitive inside it. More... | |
void | addSmokeRepresentation (const SIM_Data &root, GU_Detail *gdp) const |
![]() | |
const UT_StringHolder & | getDataType () const |
void | initialize (const SIM_SubdataBehavior &subdatabehavior) |
void | makeEqual (const SIM_Data *source, const SIM_SubdataBehavior &subdatabehavior) |
void | setParameters (const SIM_Options &parms) |
void | interpolate (const SIM_Data *source1, const SIM_Data *source2, fpreal interp) |
int64 | getMemorySize () const |
bool | getIsAlternateRepresentation () const |
bool | saveToFile (const char *filename, UT_CompressionType compressionType) const |
bool | saveToStream (std::ostream &os, UT_CompressionType compressionType) const |
void | appendFullDataPath (const SIM_Data *subdata, bool useobjectid, UT_String &datapath) const |
bool | loadFromFile (const char *filename) |
bool | loadFromStream (UT_IStream &is, bool skiptype=false) |
bool | getIsOfType (const UT_StringRef &datatype) const |
const void * | getConstPointerToType (const UT_StringRef &datatype) const |
void * | getPointerToType (const UT_StringRef &datatype) |
int | getNumSubData () const |
Get the number of sub-data items attached to this data. More... | |
const UT_StringHolder & | getSubDataName (int index) const |
Get the name of the sub-data at a particular index location. More... | |
int | getSubDataIndex (const SIM_Data *subdata) const |
bool | buildSubDataPath (const SIM_Data *subdata, UT_String &pathto) const |
const SIM_Query & | getQueryObject () const |
SIM_Options * | getUserOptions () |
const SIM_Options * | getConstUserOptions () const |
long | getGuideParmVersion () const |
void | addGuideDep (DEP_MicroNode &src) const |
virtual bool | getGuideGeometryList (const SIM_RootData &root, const char *datapath, const SIM_Time &t, UT_Array< GU_ConstDetailHandle > &detailArray, UT_Array< UT_DMatrix4 > &xformArray) const |
GU_ConstDetailHandle | getGuideGeometry (const SIM_RootData &root, const char *datapath, UT_DMatrix4 &xform, const SIM_Time &t) const |
void | buildGuideOptions (SIM_Options &options, const SIM_Time &time) const |
SIM_Data * | getSubData (int index) |
const SIM_Data * | getConstSubData (int index) const |
SIM_Data * | getNamedSubData (const char *dataname) |
const SIM_Data * | getConstNamedSubData (const char *dataname) const |
void | filterSubData (SIM_DataArray &ncdp, UT_StringArray *names, const SIM_DataFilter &ncfilter, const char *startfrom, const SIM_DataFilter &recursefilter) |
void | filterConstSubData (SIM_ConstDataArray &dp, UT_StringArray *names, const SIM_DataFilter &filter, const char *startfrom, const SIM_DataFilter &recurseFilter) const |
SIM_Data * | getNthSubData (UT_String *name, const SIM_DataFilter &filter, int n, const char *startfrom, const SIM_DataFilter &recurseFilter) |
const SIM_Data * | getNthConstSubData (UT_String *name, const SIM_DataFilter &filter, int n, const char *startfrom, const SIM_DataFilter &recurseFilter) const |
void | forEachSubData (SIM_EachDataCallback &cb, const SIM_DataFilter &filter, const char *startfrom, const SIM_DataFilter &recurseFilter) |
void | forEachConstSubData (SIM_EachDataCallback &cb, const SIM_DataFilter &filter, const char *startfrom, const SIM_DataFilter &recurseFilter) const |
SIM_Data * | createNamedSubData (const char *dataname, const char *datatype, int creationflags, UT_String *newdatanameptr=NULL) |
SIM_Data * | getOrCreateAlternateRepresentation (const char *dataname, const char *datatype) const |
void | interpolateSubData (const SIM_Data &source1, const SIM_Data &source2, fpreal interp, const SIM_DataFilter &interpdata, const SIM_DataFilter &recurse) |
void | setNamedSubData (const char *dataname, const SIM_Data *data, int setflags) |
void | createUniqueSubDataName (const SIM_Data *subdata, UT_String &dataname) const |
void | removeNamedSubData (const char *dataname) |
Remove some existing sub-data by name. More... | |
void | removeSubData (int index) |
Remove some existing sub-data by index. More... | |
void | moveNamedSubData (const char *oldname, const char *newname) |
const UT_Guid & | getUniqueId () const |
long | getReferenceCount () const |
int | getCreatorId () const |
Get the ID of the node that created this data. More... | |
OP_Node * | getCreatorNode () const |
Use the creator ID to look up the OP_Node that created this data. More... | |
OP_Node * | getOwnerNetwork () const |
Look up the owner node of our engine to get the DOP Network pointer. More... | |
const SIM_Engine & | getEngine () const |
Get the engine that created us (from our data factory). More... | |
int | getCreatorIndex () const |
Get the output index of the creator node that generated this data. More... | |
const SIM_Time & | getCreationTime () const |
Get the creation time for this data. More... | |
bool | getIsSelected () const |
Get the selected flag for this data. More... | |
void | setIsSelected (bool selected) const |
bool | getSelectionRepresentsObject () const |
void | copyCreationInfoFrom (const SIM_Data *source) |
OP_Node & | getNodePathsRelativeTo () const |
OP_Node * | getOPNode (const char *path, bool addinterest) const |
Given a path relative to our creator node, return an OBJ_Node. More... | |
OBJ_Node * | getOBJNode (const char *path, bool addinterest) const |
Given a path relative to our creator node, return an OBJ_Node. More... | |
SOP_Node * | getSOPNode (const char *path, bool addinterest) const |
Given a path relative to our creator node, return a SOP_Node. More... | |
DOP_Node * | getDOPNode (const char *path, bool addinterest) const |
Given a path relative to our creator node, return a DOP_Node. More... | |
COP2_Node * | getCOP2Node (const char *path, bool addinterest) const |
Given a path relative to our creator node, return a COP2_Node. More... | |
CHOP_Node * | getCHOPNode (const char *path, bool addinterest) const |
Given a path relative to our creator node, return a CHOP_Node. More... | |
void | addOPInterest (OP_Node *node) const |
Adds an interest in the specified node to our engine's owner node. More... | |
void | addError (const SIM_RootData *root, int errorcode, const char *errorparm, UT_ErrorSeverity severity) const |
Adds an error to our SIM_Engine. More... | |
void | makeMemberDataUnique () |
virtual void | makeMemberDataUniqueSubclass () |
![]() | |
SIM_OptionsUser (SIM_Data *owner) | |
virtual | ~SIM_OptionsUser () |
void | optionChanged (const char *name) |
const SIM_Options & | getOptions () const |
Protected Member Functions | |
SIM_ScalarField (const SIM_DataFactory *factory) | |
~SIM_ScalarField () override | |
void | initializeSubclass () override |
Overrides to properly implement this class as a SIM_Data. More... | |
void | makeEqualSubclass (const SIM_Data *source) override |
myField aware copy constructor. More... | |
void | saveSubclass (std::ostream &os) const override |
Saves our attributes, and our internal data if it has been set. More... | |
bool | loadSubclass (UT_IStream &is) override |
Loads our attributes and internal data if it was set when we saved. More... | |
int64 | getMemorySizeSubclass () const override |
void | optionChangedSubclass (const char *name) override |
Override the setDivisions to rebuild our voxel array on demand. More... | |
![]() | |
SIM_Data (const SIM_DataFactory *factory) | |
virtual | ~SIM_Data () |
void | handleModification (int code=-1) |
void | setNeedsToRecalculateMemorySize () const |
void | deleteQueryObjectIfNotBuilding () const |
Deletes the query object for this data, if there is one. More... | |
void | deleteGuideObjectIfNotBuilding () const |
Delete the guide geometry for this data, if it exists. More... | |
void | initAlternateRepresentation () const |
void | setNeedsInitialization (bool needsinit) const |
Flags an alternate representation subdata as requiring initialization. More... | |
bool | getNeedsInitialization () const |
Tests whether an alternate representation requires initialization. More... | |
bool | saveOptionPacket (std::ostream &os, const char *name, const SIM_Options *opts) const |
bool | loadOptionPacket (UT_IStream &is, const char *name, SIM_Options *opts) const |
bool | getIsDoingSimplifiedSaveLoad () const |
void | initializeFromParmDefaults () |
void | setSelectionRepresentsObject (bool representsobject) |
virtual void | setNeedsInitializationSubclass (bool needsinit) const |
virtual void | saveIOSubclass (std::ostream &os, SIM_DataThreadedIO *io) const |
virtual bool | loadIOSubclass (UT_IStream &is, SIM_DataThreadedIO *io) |
virtual SIM_Query * | createQueryObjectSubclass () const |
virtual long | getGuideParmVersionSubclass () const |
virtual SIM_Guide * | createGuideObjectSubclass () const |
virtual void | buildGuideGeometrySubclass (const SIM_RootData &root, const SIM_Options &options, const GU_DetailHandle &gdh, UT_DMatrix4 *xform, const SIM_Time &t) const |
virtual void | setParametersSubclass (const SIM_Options &parms) |
virtual void | setNamedSubDataSubclass (const char *dataname, const SIM_Data *data) |
virtual void | removeNamedSubDataSubclass (const char *dataname) |
virtual void | interpolateSubclass (const SIM_Data *source1, const SIM_Data *source2, fpreal interp) |
virtual void | handleModificationSubclass (int code) |
virtual bool | getIsAlternateRepresentationSubclass () const |
virtual void | initAlternateRepresentationSubclass (const SIM_Data &) |
virtual void * | getCastToType (const UT_StringRef &datatype) const |
virtual const UT_StringHolder & | getDataTypeSubclass () const |
const SIM_Data * | getAlternateRepresentationOf () const |
![]() | |
SIM_Options & | getOptions () |
Friends | |
class | SkipFieldRebuildScope |
Additional Inherited Members | |
![]() | |
static bool | getDataTypeFromFile (const char *filename, UT_String &datatype) |
static bool | getDataTypeFromStream (UT_IStream &is, UT_String &datatype) |
static const void * | castConstPointerToType (const SIM_Data *data, const UT_StringRef &datatype) |
static void * | castPointerToType (SIM_Data *data, const UT_StringRef &datatype) |
![]() | |
static const PRM_Template * | getEmptyTemplateList () |
static const SIM_DopDescription * | getEmptyDopDescription () |
A DOP description that says not to create an automatic DOP. More... | |
static void | getDataTypeSuperclasses (UT_StringArray &) |
This class holds a three dimensional scalar field.
Definition at line 30 of file SIM_ScalarField.h.
Definition at line 34 of file SIM_ScalarField.h.
|
explicitprotected |
|
overrideprotected |
Adds a volume primitive version of our field to the given gdp.
void SIM_ScalarField::advect | ( | const SIM_VectorField * | vel, |
float | timestep, | ||
const SIM_RawField * | collision, | ||
SIM_FieldAdvection | advectmethod, | ||
float | cfl | ||
) |
Advects this field by the other given field.
void SIM_ScalarField::advect | ( | sim_PointVelocity | getVelocity, |
float | timestep, | ||
float | voxelsize, | ||
const SIM_RawField * | collision = 0 , |
||
float | cfl = 1.0f |
||
) |
void SIM_ScalarField::advectMinMax | ( | SIM_ScalarField * | minfield, |
SIM_ScalarField * | maxfield, | ||
const SIM_VectorField * | vel, | ||
float | timestep, | ||
const SIM_RawField * | collision, | ||
SIM_FieldAdvection | advectmethod, | ||
float | cfl | ||
) |
Advects this by the velocity field, storing our min/max interpolants into the min/max fields
|
inline |
True if we have a constant value. Ignores end conditions in determining this. Used as a rough guess that the field is unused.
Definition at line 175 of file SIM_ScalarField.h.
GU_ConstDetailHandle SIM_ScalarField::createSmokeRepresentation | ( | const SIM_Data & | root | ) | const |
Creates a GDP with us as a Volume Primitive inside it.
void SIM_ScalarField::enforceBoundary | ( | const SIM_ScalarField * | collision = 0 , |
const SIM_ScalarField * | colvalue = 0 , |
||
const SIM_ScalarField * | boundvalue = 0 |
||
) |
Enforces the boundary condition with the given collision mask.
void SIM_ScalarField::getBBox | ( | UT_BoundingBox & | bbox | ) | const |
Controls the dimensions of where the field is properly defined in the field space.
|
inline |
Definition at line 65 of file SIM_ScalarField.h.
UT_Vector3 SIM_ScalarField::getCenter | ( | ) | const |
UT_Vector3 SIM_ScalarField::getDivisions | ( | ) | const |
Calculate the size and divisions according to options such as 2d or equal sized voxels.
|
inline |
|
inline |
Definition at line 164 of file SIM_ScalarField.h.
UT_Vector3 SIM_ScalarField::getGradient | ( | const UT_Vector3 & | pos | ) | const |
Determines the gradient at the given location.
|
overrideprotectedvirtual |
Override this function to return an accurate representation of the amount of memory used by this piece of data. The size of subdata should not be included in this calculation.
Reimplemented from SIM_Data.
|
inline |
Definition at line 55 of file SIM_ScalarField.h.
|
inline |
Definition at line 82 of file SIM_ScalarField.h.
SIM_ScalarField::GETSET_DATA_FUNCS_B | ( | SIM_NAME_TWOD | , |
TwoDField | |||
) |
SIM_ScalarField::GETSET_DATA_FUNCS_B | ( | "usefp16" | , |
UseFP16 | |||
) |
SIM_ScalarField::GETSET_DATA_FUNCS_F | ( | "divsize" | , |
RawDivisionSize | |||
) |
SIM_ScalarField::GETSET_DATA_FUNCS_F | ( | "initialvalue" | , |
InitialValue | |||
) |
SIM_ScalarField::GETSET_DATA_FUNCS_F | ( | SIM_NAME_TOLERANCE | , |
Tolerance | |||
) |
SIM_ScalarField::GETSET_DATA_FUNCS_I | ( | SIM_NAME_UNIFORMVOXELS | , |
UniformVoxels | |||
) |
Control the number of divisions.
SIM_ScalarField::GETSET_DATA_FUNCS_I | ( | SIM_NAME_VOXELPLANE | , |
VoxelPlane | |||
) |
SIM_ScalarField::GETSET_DATA_FUNCS_I | ( | "uniformdiv" | , |
RawUniformDivisions | |||
) |
SIM_ScalarField::GETSET_DATA_FUNCS_I | ( | "totalvoxels" | , |
TotalVoxels | |||
) |
SIM_ScalarField::GETSET_DATA_FUNCS_I | ( | SIM_NAME_VOXELSAMPLE | , |
VoxelSampleRaw | |||
) |
SIM_ScalarField::GETSET_DATA_FUNCS_I | ( | "border" | , |
RawBorder | |||
) |
SIM_ScalarField::GETSET_DATA_FUNCS_S | ( | SIM_NAME_POSITIONPATH | , |
PositionPath | |||
) |
Accesses the relative path to the position data associated with this geometry.
SIM_ScalarField::GETSET_DATA_FUNCS_V3 | ( | SIM_NAME_DIV | , |
RawDivisions | |||
) |
SIM_ScalarField::GETSET_DATA_FUNCS_V3 | ( | SIM_NAME_CENTER | , |
RawCenter | |||
) |
SIM_ScalarField::GETSET_DATA_FUNCS_V3 | ( | SIM_NAME_SIZE | , |
RawSize | |||
) |
SIM_ScalarField::GETSET_DATA_FUNCS_V3 | ( | "slicediv" | , |
SliceDivisions | |||
) |
SIM_ScalarField::GETSET_DATA_FUNCS_V3 | ( | "sliceoverlapneg" | , |
SliceOverlapNeg | |||
) |
SIM_ScalarField::GETSET_DATA_FUNCS_V3 | ( | "sliceoverlappos" | , |
SliceOverlapPos | |||
) |
SIM_ScalarField::GETSET_DATA_FUNCS_V3 | ( | "totalvoxelres" | , |
TotalVoxelRes | |||
) |
UT_Vector3 SIM_ScalarField::getSize | ( | ) | const |
fpreal SIM_ScalarField::getValue | ( | const UT_Vector3 & | pos | ) | const |
Access the field value given a world space location. This does trilinear interpolation.
|
inline |
Definition at line 124 of file SIM_ScalarField.h.
SIM_FieldSample SIM_ScalarField::getVoxelSample | ( | ) | const |
|
inline |
Definition at line 121 of file SIM_ScalarField.h.
|
inline |
True if we contain any NANs.
Definition at line 170 of file SIM_ScalarField.h.
bool SIM_ScalarField::indexToPos | ( | int | x, |
int | y, | ||
int | z, | ||
UT_Vector3 & | pos | ||
) | const |
Converts an integer index into a worldspace position.
|
overrideprotectedvirtual |
|
overrideprotectedvirtual |
Loads our attributes and internal data if it was set when we saved.
Reimplemented from SIM_Data.
myField aware copy constructor.
Reimplemented from SIM_Data.
|
inline |
Definition at line 190 of file SIM_ScalarField.h.
void SIM_ScalarField::matchField | ( | const SIM_ScalarField * | field, |
bool | matchsample = false |
||
) |
Match this field to the given reference field. We will end up with the same size/divisions/twod/uniform, but not the same sampling pattern This will destroy our field data.
void SIM_ScalarField::matchField | ( | const SIM_VectorField * | field | ) |
void SIM_ScalarField::matchField | ( | const SIM_MatrixField * | field | ) |
void SIM_ScalarField::matchField | ( | const SIM_IndexField * | field | ) |
void SIM_ScalarField::matchVDB | ( | const GEO_PrimVDB * | vdb, |
const UT_DMatrix4 & | xform | ||
) |
void SIM_ScalarField::matchVolume | ( | const GEO_PrimVolume * | vol, |
const UT_DMatrix4 & | xform | ||
) |
|
overrideprotectedvirtual |
Override the setDivisions to rebuild our voxel array on demand.
Reimplemented from SIM_OptionsUser.
bool SIM_ScalarField::posToIndex | ( | const UT_Vector3 & | pos, |
int & | x, | ||
int & | y, | ||
int & | z | ||
) | const |
Converts a worldspace position into an integer index.
|
inline |
Signals to the field that it has been altered externally.
Definition at line 185 of file SIM_ScalarField.h.
void SIM_ScalarField::resizeKeepData | ( | const UT_Vector3 & | size, |
const UT_Vector3 & | center, | ||
bool | keepdata, | ||
const char * | address = 0 , |
||
int | port = -1 |
||
) |
Resizes our field keeping our field data. The final size will be an integer number of voxels matching our current voxel size. The final center will be an integer number of voxel offset from our current center. This allows us to do a perfect copy of the data.
|
overrideprotectedvirtual |
Saves our attributes, and our internal data if it has been set.
Reimplemented from SIM_Data.
|
inline |
Definition at line 71 of file SIM_ScalarField.h.
void SIM_ScalarField::setCenter | ( | const UT_Vector3 & | center | ) |
void SIM_ScalarField::setDivisions | ( | const UT_Vector3 & | div | ) |
Adjusts the size/divisions of this field, overriding and twod or uniform voxel settings.
void SIM_ScalarField::setField | ( | SIM_RawField * | field | ) |
Sets the field to the given field, gaining ownership of it.
void SIM_ScalarField::setSize | ( | const UT_Vector3 & | size | ) |
void SIM_ScalarField::setVoxelSample | ( | SIM_FieldSample | sample | ) |
|
inline |
Definition at line 122 of file SIM_ScalarField.h.
SIM_RawField* SIM_ScalarField::stealField | ( | ) |
Steals the field, replacing this copy with an empty field and returning the old version.
void SIM_ScalarField::testForNan | ( | ) | const |
void SIM_ScalarField::updateTotalVoxels | ( | ) |
Recomputes total number of voxels to be stored on our options data for ease of reading
|
friend |
Definition at line 240 of file SIM_ScalarField.h.