8 #ifndef __SIM_Solver_h__
9 #define __SIM_Solver_h__
48 SIM_Result postSolveObjects(
SIM_Engine &engine,
56 SIM_Result solveRelationship(
SIM_Engine &engine,
62 int getRequestedCache()
const;
66 void getImpulseMassMatrix(
const SIM_Object &
object,
72 void getPointImpulseMassMatrix(
const SIM_Object &
object,
94 void getDefaultColliderLabel(
const SIM_Object &
object,
105 void getDefaultCollider(
const SIM_Object &
object,
108 bool &colliderreverseobjectroles)
const;
112 static const char *getPropertyAttribName(
const SIM_Property &property);
131 void setStartTime(
const SIM_Time &starttime);
147 void clearStartTime();
169 virtual SIM_Result solveObjectsSubclass(
SIM_Engine &engine,
180 const SIM_Time ×tep){
return SIM_SOLVER_SUCCESS; };
185 {
return SIM_SOLVER_SUCCESS; }
190 virtual int getRequestedCacheSubclass()
const;
194 virtual void getImpulseMassMatrixSubclass(
202 virtual void getPointImpulseMassMatrixSubclass(
223 virtual void getDefaultColliderLabelSubclass(
228 virtual void getDefaultColliderSubclass(
232 bool &colliderreverseobjectroles)
const;
244 bool myCurrentStartTimeValid;
#define DECLARE_STANDARD_GETCASTTOTYPE()
#define DECLARE_CLASSNAME(DataClass, SuperClass)
GLuint GLsizei const GLchar * label
GT_API const UT_StringHolder time
UT_ValArray< const SIM_Solver * > SIM_ConstSolverArray
UT_ValArray< SIM_Solver * > SIM_SolverArray
Holds pointers to a number of SIM_Object objects.
GA_Size GA_Index
Define the strictness of GA_Offset/GA_Index.
bool isStatic(const SIM_Object *obj) const
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 bool isStaticSubclass(const SIM_Object *obj) const
Determines if this solver does nothing on the object.