SIM_SolverBlend Class Reference

#include <SIM_SolverBlend.h>

Inheritance diagram for SIM_SolverBlend:

SIM_Solver SIM_OptionsUser SIM_Data

List of all members.

Public Member Functions

 GETSET_DATA_FUNCS_S (SIM_NAME_BLENDDATANAME, BlendDataName)
 GETSET_DATA_FUNCS_S (SIM_NAME_BLENDFACTORSROOTNAME, BlendFactorsRootName)
 GETSET_DATA_FUNCS_B (SIM_NAME_MATCHBYNAME, MatchByName)
 GETSET_DATA_FUNCS_I (SIM_NAME_PRIMARYSOLVER, PrimarySolver)

Protected Member Functions

 SIM_SolverBlend (const SIM_DataFactory *factory)
 Basic SIM_SolverBlend constructor.
virtual ~SIM_SolverBlend ()
 Basic SIM_SolverBlend destructor.
virtual SIM_Result solveObjectsSubclass (SIM_Engine &engine, SIM_ObjectArray &objects, SIM_ObjectArray &newobjects, SIM_ObjectArray &feedbacktoobjects, const SIM_Time &timestep)
 Override this function to pass this call along to our child solvers.
virtual int getRequestedCacheSubclass ()
 Override this function to get the requirements of our child solvers.
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 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 void getDefaultColliderLabelSubclass (const SIM_Object &object, UT_String &label) const
 Gets the default collider label for an object using this solver.
virtual void getDefaultColliderSubclass (const SIM_Object &object, const UT_String &colliderlabel, UT_String &collidertype, bool &colliderreverseobjectroles) const
void getBlendFactorsSubdata (const SIM_ObjectArray &objects, const SIM_ObjectArray &newobjects, const char *blenddataname, const char *solverparmsroot, SIM_PerObjectBlendData *blenddata, UT_StringArray *subsolvernames)
 Gets the SIM_BlendFactor data for all the objects in an array.


Detailed Description

This solver class passes the solve responsibility to one or more other solvers. It searches for any SIM_Solver subdata attached to itself, and calls each one in turn.

Definition at line 27 of file SIM_SolverBlend.h.


Constructor & Destructor Documentation

SIM_SolverBlend::SIM_SolverBlend ( const SIM_DataFactory factory  )  [explicit, protected]

Basic SIM_SolverBlend constructor.

virtual SIM_SolverBlend::~SIM_SolverBlend (  )  [protected, virtual]

Basic SIM_SolverBlend destructor.


Member Function Documentation

void SIM_SolverBlend::getBlendFactorsSubdata ( const SIM_ObjectArray objects,
const SIM_ObjectArray newobjects,
const char *  blenddataname,
const char *  solverparmsroot,
SIM_PerObjectBlendData *  blenddata,
UT_StringArray subsolvernames 
) [protected]

Gets the SIM_BlendFactor data for all the objects in an array.

virtual void SIM_SolverBlend::getDefaultColliderLabelSubclass ( const SIM_Object object,
UT_String label 
) const [protected, virtual]

Gets the default collider label for an object using this solver.

Reimplemented from SIM_Solver.

virtual void SIM_SolverBlend::getDefaultColliderSubclass ( const SIM_Object object,
const UT_String colliderlabel,
UT_String collidertype,
bool &  colliderreverseobjectroles 
) const [protected, virtual]

Gets the default collider type for use on an object with a particular collider label.

Reimplemented from SIM_Solver.

virtual void SIM_SolverBlend::getImpulseMassMatrixSubclass ( const SIM_Object object,
const UT_Vector3 impulseworldpos,
UT_DMatrix3 immatrix 
) const [protected, virtual]

Gets the impulse mass matrix of an object for an impulse at the provided world space position. The default implementation gets the closest point in the geometry and calls getPointImpulseMassMatrix().

Reimplemented from SIM_Solver.

virtual void SIM_SolverBlend::getPointImpulseMassMatrixSubclass ( const SIM_Object object,
int  ptnum,
UT_DMatrix3 immatrix 
) const [protected, virtual]

Gets the impulse mass matrix of an object for an impulse at the provided point on the geometry of the object. The default implementation finds the world space position of the point and calls getImpulseMassMatrix().

Reimplemented from SIM_Solver.

virtual fpreal SIM_SolverBlend::getPropertyAtPointSubclass ( const SIM_Object object,
int  ptnum,
const SIM_Property property 
) const [protected, virtual]

Gets the value of some physical property for the supplied object at a given point on the object's geometry.

Reimplemented from SIM_Solver.

virtual fpreal SIM_SolverBlend::getPropertyAtPositionSubclass ( const SIM_Object object,
const UT_Vector3 worldpos,
const SIM_Property property 
) const [protected, virtual]

Gets the value of some physical property for the supplied object at a given position in world space.

Reimplemented from SIM_Solver.

virtual int SIM_SolverBlend::getRequestedCacheSubclass (  )  [protected, virtual]

Override this function to get the requirements of our child solvers.

Reimplemented from SIM_Solver.

SIM_SolverBlend::GETSET_DATA_FUNCS_B ( SIM_NAME_MATCHBYNAME  ,
MatchByName   
)

SIM_SolverBlend::GETSET_DATA_FUNCS_I ( SIM_NAME_PRIMARYSOLVER  ,
PrimarySolver   
)

SIM_SolverBlend::GETSET_DATA_FUNCS_S ( SIM_NAME_BLENDFACTORSROOTNAME  ,
BlendFactorsRootName   
)

SIM_SolverBlend::GETSET_DATA_FUNCS_S ( SIM_NAME_BLENDDATANAME  ,
BlendDataName   
)

virtual SIM_Result SIM_SolverBlend::solveObjectsSubclass ( SIM_Engine engine,
SIM_ObjectArray objects,
SIM_ObjectArray newobjects,
SIM_ObjectArray feedbacktoobjects,
const SIM_Time timestep 
) [protected, virtual]

Override this function to pass this call along to our child solvers.

Implements SIM_Solver.


The documentation for this class was generated from the following file:

Generated on Fri May 25 00:10:41 2012 for HDK by  doxygen 1.5.9