HDK
|
This class holds a signed distance function representing a GU_Detail. More...
#include <SIM_SDF.h>
Public Member Functions | |
GETSET_DATA_FUNCS_I (SIM_NAME_MODE, Mode) | |
Control the number of divisions. More... | |
GETSET_DATA_FUNCS_I (SIM_NAME_UNIFORMVOXELS, UniformVoxels) | |
GETSET_DATA_FUNCS_V3 (SIM_NAME_DIV, Divisions) | |
GETSET_DATA_FUNCS_I ("uniformdiv", UniformDivisions) | |
GETSET_DATA_FUNCS_F ("divsize", DivisionSize) | |
GETSET_DATA_FUNCS_B (SIM_NAME_LASERSCAN, LaserScan) | |
GETSET_DATA_FUNCS_B (SIM_NAME_FIXSIGNS, FixSigns) | |
GETSET_DATA_FUNCS_B (SIM_NAME_FORCEBOUNDS, ForceBounds) | |
GETSET_DATA_FUNCS_F (SIM_NAME_OFFSET, Offset) | |
GETSET_DATA_FUNCS_F (SIM_NAME_TOLERANCE, Tolerance) | |
GETSET_DATA_FUNCS_B (SIM_NAME_INVERT, Invert) | |
GETSET_DATA_FUNCS_I ("sweepcount", SweepCount) | |
GETSET_DATA_FUNCS_F ("sweepalpha", SweepThreshold) | |
const GU_SDF & | getSDF () const |
Get the SDF. More... | |
GU_SDFDelayedBuilder | getDelayedSDF () const |
GU_ConstDetailHandle | createSmokeRepresentation (const SIM_RootData &root) const |
void | addSmokeRepresentation (const SIM_RootData &root, GU_Detail *gdp) const |
void | setSDF (GU_SDF *sdf) |
Forcibly changes the SDF to the given mapping. More... | |
GU_SDF * | stealSDF () |
UT_VoxelMipMapF * | getMipMap () const |
Returns voxel mipmap for this sdf. More... | |
![]() | |
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_SDF (const SIM_DataFactory *factory) | |
~SIM_SDF () override | |
void | initializeSubclass () override |
Overrides to properly implement this class as a SIM_Data. More... | |
void | computeDivisions (const GU_Detail *gdp, UT_BoundingBox &bbox, int &divx, int &divy, int &divz) |
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 |
bool | getIsAlternateRepresentationSubclass () const override |
void | initAlternateRepresentationSubclass (const SIM_Data &) override |
SIM_Guide * | createGuideObjectSubclass () const override |
void | buildGuideGeometrySubclass (const SIM_RootData &root, const SIM_Options &options, const GU_DetailHandle &gdh, UT_DMatrix4 *xform, const SIM_Time &t) const override |
![]() | |
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 | makeEqualSubclass (const SIM_Data *source) |
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 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 void * | getCastToType (const UT_StringRef &datatype) const |
virtual const UT_StringHolder & | getDataTypeSubclass () const |
const SIM_Data * | getAlternateRepresentationOf () const |
![]() | |
SIM_Options & | getOptions () |
virtual void | optionChangedSubclass (const char *name) |
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 signed distance function representing a GU_Detail.
|
explicitprotected |
|
overrideprotected |
void SIM_SDF::addSmokeRepresentation | ( | const SIM_RootData & | root, |
GU_Detail * | gdp | ||
) | const |
|
overrideprotectedvirtual |
Override this function to create custom guide geometry for this class. This method should add geometry to the gdp (if supplied), not alter anything that is already there. The xform will always default to an identity matrix. The gdp pointer or the xform pointer may be null, in which case the other should still be calculated.
Reimplemented from SIM_Data.
|
protected |
Computes the right number of divisions/bounding box size for incoming geometry
|
overrideprotectedvirtual |
GU_ConstDetailHandle SIM_SDF::createSmokeRepresentation | ( | const SIM_RootData & | root | ) | const |
Create a GU_Detail with the SDF present as a volume primitive
GU_SDFDelayedBuilder SIM_SDF::getDelayedSDF | ( | ) | const |
|
overrideprotectedvirtual |
Override this method to return true if your data type is built on demand. This is true for data that is just an alternative representation of some other data. This has several consequences. First, it implies that the data can be rebuilt from other data on the object, therefore it is not saved to disk. Also, it is assumed to be represent its parent data, so any modifications to the parent data cause this data to be deleted. If you override this method, do not call the base class implementation.
Reimplemented from SIM_Data.
|
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.
UT_VoxelMipMapF* SIM_SDF::getMipMap | ( | ) | const |
Returns voxel mipmap for this sdf.
const GU_SDF& SIM_SDF::getSDF | ( | ) | const |
Get the SDF.
SIM_SDF::GETSET_DATA_FUNCS_B | ( | SIM_NAME_LASERSCAN | , |
LaserScan | |||
) |
SIM_SDF::GETSET_DATA_FUNCS_B | ( | SIM_NAME_FIXSIGNS | , |
FixSigns | |||
) |
SIM_SDF::GETSET_DATA_FUNCS_B | ( | SIM_NAME_FORCEBOUNDS | , |
ForceBounds | |||
) |
SIM_SDF::GETSET_DATA_FUNCS_B | ( | SIM_NAME_INVERT | , |
Invert | |||
) |
SIM_SDF::GETSET_DATA_FUNCS_F | ( | "divsize" | , |
DivisionSize | |||
) |
SIM_SDF::GETSET_DATA_FUNCS_F | ( | SIM_NAME_OFFSET | , |
Offset | |||
) |
SIM_SDF::GETSET_DATA_FUNCS_F | ( | SIM_NAME_TOLERANCE | , |
Tolerance | |||
) |
SIM_SDF::GETSET_DATA_FUNCS_F | ( | "sweepalpha" | , |
SweepThreshold | |||
) |
SIM_SDF::GETSET_DATA_FUNCS_I | ( | SIM_NAME_MODE | , |
Mode | |||
) |
Control the number of divisions.
SIM_SDF::GETSET_DATA_FUNCS_I | ( | SIM_NAME_UNIFORMVOXELS | , |
UniformVoxels | |||
) |
SIM_SDF::GETSET_DATA_FUNCS_I | ( | "uniformdiv" | , |
UniformDivisions | |||
) |
SIM_SDF::GETSET_DATA_FUNCS_I | ( | "sweepcount" | , |
SweepCount | |||
) |
SIM_SDF::GETSET_DATA_FUNCS_V3 | ( | SIM_NAME_DIV | , |
Divisions | |||
) |
Override this function if getIsAlternateRepresentationSubclass() is overridden to return true. This function is used to initialize the alternate representation based on the data to which it was just attached.
Reimplemented from SIM_Data.
|
overrideprotectedvirtual |
|
overrideprotectedvirtual |
Loads our attributes and internal data if it was set when we saved.
Reimplemented from SIM_Data.
|
overrideprotectedvirtual |
Saves our attributes, and our internal data if it has been set.
Reimplemented from SIM_Data.
GU_SDF* SIM_SDF::stealSDF | ( | ) |
Steals the current SDF, replacing it with a blank one. This is used to allow the IsoOffset SOP to extract an SDF loaded into a simulation without having to copy it.