|
SIM_Result | solveSingleObject (SIM_Engine &engine, SIM_Object &object, SIM_ObjectArray &feedbacktoobjects, const SIM_Time ×tep, bool newobject) |
|
SIM_Result | solveObjects (SIM_Engine &engine, SIM_ObjectArray &objects, SIM_ObjectArray &newobjects, SIM_ObjectArray &feedbacktoobjects, const SIM_Time ×tep) |
|
SIM_Result | postSolveObjects (SIM_Engine &engine, SIM_ObjectArray &objects, SIM_ObjectArray &newobjects, SIM_ObjectArray &feedbacktoobjects, const SIM_Time ×tep) |
|
SIM_Result | solveRelationship (SIM_Engine &engine, SIM_Relationship &relationship, const SIM_Time ×tep) |
|
int | getRequestedCache () const |
|
void | getImpulseMassMatrix (const SIM_Object &object, const UT_Vector3 &impulseworldpos, UT_DMatrix3 &immatrix) const |
|
void | getPointImpulseMassMatrix (const SIM_Object &object, GA_Index ptnum, UT_DMatrix3 &immatrix) const |
|
SIM_PointImpulseMassMatrixResolver * | getPointImpulseMassMatrixResolver (const SIM_Object &object) const |
| Builds a resolver to efficiently compute mass matrices. More...
|
|
fpreal | getPropertyAtPosition (const SIM_Object &object, const UT_Vector3 &worldpos, const SIM_Property &property) const |
|
fpreal | getPropertyAtPoint (const SIM_Object &object, GA_Index ptnum, const SIM_Property &property) const |
|
SIM_PropertyResolver * | getPropertyResolver (const SIM_Object &object, const SIM_Property &property) const |
| Builds a resolver to efficiently compute property values. More...
|
|
void | getDefaultColliderLabel (const SIM_Object &object, UT_String &label) const |
| Gets the default collider label for an object using this solver. More...
|
|
void | getDefaultCollider (const SIM_Object &object, const UT_String &colliderlabel, UT_String &collidertype, bool &colliderreverseobjectroles) const |
|
void | setStartTime (const SIM_Time &starttime) |
|
bool | isStatic (const SIM_Object *obj) 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_SingleSolver (const SIM_DataFactory *factory) |
| Basic SIM_SingleSolver constructor. More...
|
|
| ~SIM_SingleSolver () override |
| Basic SIM_SingleSolver destructor. More...
|
|
SIM_Result | solveObjectsSubclass (SIM_Engine &engine, SIM_ObjectArray &objects, SIM_ObjectArray &newobjects, SIM_ObjectArray &feedbacktoobjects, const SIM_Time ×tep) override |
| Override this method to call solveSingleObject(). More...
|
|
virtual SIM_Result | solveSingleObjectSubclass (SIM_Engine &engine, SIM_Object &object, SIM_ObjectArray &feedbacktoobjects, const SIM_Time ×tep, bool newobject)=0 |
|
| SIM_Solver (const SIM_DataFactory *factory) |
| Basic SIM_Solver constructor. More...
|
|
| ~SIM_Solver () override |
| Basic SIM_Solver destructor. More...
|
|
bool | getStartTime (SIM_Time &time) |
|
void | clearStartTime () |
|
void | getSolverSubdata (SIM_SolverArray &subsolvers, UT_StringArray *subsolvernames) |
|
void | getConstSolverSubdata (SIM_ConstSolverArray &subsolvers, UT_StringArray *subsolvernames) const |
|
virtual bool | isStaticSubclass (const SIM_Object *obj) const |
| Determines if this solver does nothing on the object. More...
|
|
virtual SIM_Result | postSolveObjectsSubclass (SIM_Engine &engine, SIM_ObjectArray &objects, SIM_ObjectArray &newobjects, SIM_ObjectArray &feedbacktoobjects, const SIM_Time ×tep) |
|
virtual SIM_Result | solveRelationshipSubclass (SIM_Engine &engine, SIM_Relationship &relationship, const SIM_Time ×tep) |
|
virtual int | getRequestedCacheSubclass () const |
|
virtual void | getImpulseMassMatrixSubclass (const SIM_Object &object, const UT_Vector3 &impulseworldpos, UT_DMatrix3 &immatrix) const |
|
virtual void | getPointImpulseMassMatrixSubclass (const SIM_Object &object, int ptnum, UT_DMatrix3 &immatrix) const |
|
virtual
SIM_PointImpulseMassMatrixResolver * | getPointImpulseMassMatrixResolverSubclass (const SIM_Object &object) const |
| Builds a resolver for evaluating mass matrices swiftly. More...
|
|
virtual fpreal | getPropertyAtPositionSubclass (const SIM_Object &object, const UT_Vector3 &worldpos, const SIM_Property &property) const |
|
virtual fpreal | getPropertyAtPointSubclass (const SIM_Object &object, int ptnum, const SIM_Property &property) const |
|
virtual SIM_PropertyResolver * | getPropertyResolverSubclass (const SIM_Object &object, const SIM_Property &property) const |
| Builds a resolver for evaluating properties swiftly. More...
|
|
virtual void | getDefaultColliderLabelSubclass (const SIM_Object &object, UT_String &label) const |
| Gets the default collider label for an object using this solver. More...
|
|
virtual void | getDefaultColliderSubclass (const SIM_Object &object, const UT_String &colliderlabel, UT_String &collidertype, bool &colliderreverseobjectroles) const |
|
| 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 | initializeSubclass () |
|
virtual void | makeEqualSubclass (const SIM_Data *source) |
|
virtual void | saveSubclass (std::ostream &os) const |
|
virtual void | saveIOSubclass (std::ostream &os, SIM_DataThreadedIO *io) const |
|
virtual bool | loadSubclass (UT_IStream &is) |
|
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 int64 | getMemorySizeSubclass () const |
|
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 |
|
This class is a specialized version of SIM_Solver for solvers that handle all objects in mutual affector relationships independently. This class implements the solveObjectsSubclass() and initializeObjectsSubclass() functions by calling the new virtuals solveSingleObjectSubclass() and initializeSingleObjectSubclass() for each object.
- Examples:
- SIM/SIM_SolverHair.h, and SIM/SNOW_Solver.h.
Definition at line 22 of file SIM_SingleSolver.h.