SIM_SolverPop Class Reference

#include <SIM_SolverPop.h>

Inheritance diagram for SIM_SolverPop:

SIM_SingleSolver SIM_OptionsUser SIM_Solver SIM_Data

List of all members.

Public Member Functions

 GETSET_DATA_FUNCS_B ("usepoppath", UsePopPath)
 GETSET_DATA_FUNCS_S (SIM_NAME_POPPATH, PopPath)
 GETSET_DATA_FUNCS_B (SIM_NAME_MAKEPOINTSPARTICLES, MakePointsParticles)
 GETSET_DATA_FUNCS_B (SIM_NAME_INHERITVELOCITY, InheritVelocity)
 GETSET_DATA_FUNCS_S (SIM_NAME_GENERATOR, Generator)
 GETSET_DATA_FUNCS_F (SIM_NAME_LIFESPAN, Lifespan)
 GETSET_DATA_FUNCS_S (SIM_NAME_COLLIDESTOP, CollideStop)
 GETSET_DATA_FUNCS_S (SIM_NAME_COLLIDEKILL, CollideKill)
 GETSET_DATA_FUNCS_S (SIM_NAME_COLLIDECONTINUE, CollideContinue)
 GETSET_DATA_FUNCS_S (SIM_NAME_COLLIDESTICK, CollideStick)
 GETSET_DATA_FUNCS_S (SIM_NAME_COLLIDEBOUNCE, CollideBounce)
 GETSET_DATA_FUNCS_I ("rehome", RehomeParticles)
 GETSET_DATA_FUNCS_S ("homepath", RehomeParticlePath)
 GETSET_DATA_FUNCS_S (SIM_NAME_INITIALSTATE, InitialState)
 GETSET_DATA_FUNCS_I (SIM_NAME_RANDOMSEED, RandomSeed)
 GETSET_DATA_FUNCS_I (SIM_NAME_OVERSAMPLE, OverSample)
 GETSET_DATA_FUNCS_I (SIM_NAME_MAXPARTICLES, MaxParticles)
 GETSET_DATA_FUNCS_B (SIM_NAME_REMOVEUNUSED, RemoveUnused)
 GETSET_DATA_FUNCS_S (SIM_NAME_PATH1, Path1)
 GETSET_DATA_FUNCS_S (SIM_NAME_PATH2, Path2)
 GETSET_DATA_FUNCS_S (SIM_NAME_PATH3, Path3)
 GETSET_DATA_FUNCS_S (SIM_NAME_PATH4, Path4)
 GETSET_DATA_FUNCS_S ("datapath1", DataPath1)
 GETSET_DATA_FUNCS_S ("datapath2", DataPath2)
 GETSET_DATA_FUNCS_S ("datapath3", DataPath3)
 GETSET_DATA_FUNCS_S ("datapath4", DataPath4)
 GETSET_DATA_FUNCS_S ("geo", GeometryName)
 GETSET_DATA_FUNCS_I ("solvemode", SolveMode)
 GETSET_DATA_FUNCS_B ("doreapparticles", DoReapParticles)
 GETSET_DATA_FUNCS_B ("doapplyrules", DoApplyRules)
 GETSET_DATA_FUNCS_B ("suppresspos", SuppressPos)
 GETSET_DATA_FUNCS_B ("suppressvel", SuppressVel)
 GETSET_DATA_FUNCS_B ("suppressup", SuppressUp)
 GETSET_DATA_FUNCS_B ("suppressage", SuppressAge)
 GETSET_DATA_FUNCS_B ("suppressrot", SuppressRot)
 GETSET_DATA_FUNCS_B ("suppressangvel", SuppressAngVel)
 GETSET_DATA_FUNCS_B ("doprepparticles", DoPrepParticles)
 GETSET_DATA_FUNCS_B ("docookpop", DoCookPOP)
 GETSET_DATA_FUNCS_B ("docookfirst", DoCookFirst)
 GETSET_DATA_FUNCS_B ("doimpacts", DoImpacts)
 GETSET_DATA_FUNCS_B ("dodopforces", DoDopForces)
 GETSET_DATA_FUNCS_B ("convertacceltoforce", ConvertAccelToForce)

Protected Member Functions

 SIM_SolverPop (const SIM_DataFactory *factory)
virtual ~SIM_SolverPop ()
virtual SIM_Result solveSingleObjectSubclass (SIM_Engine &engine, SIM_Object &object, SIM_ObjectArray &feedbacktoobjects, const SIM_Time &timestep, bool newobject)
virtual int getRequestedCacheSubclass ()
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 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
virtual SIM_GuidecreateGuideObjectSubclass () const
virtual void buildGuideGeometrySubclass (const SIM_RootData &root, const SIM_Options &options, const GU_DetailHandle &gdh, UT_DMatrix4 *xform, const SIM_Time &t) const


Detailed Description

Definition at line 46 of file SIM_SolverPop.h.


Constructor & Destructor Documentation

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

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


Member Function Documentation

virtual void SIM_SolverPop::buildGuideGeometrySubclass ( const SIM_RootData root,
const SIM_Options options,
const GU_DetailHandle gdh,
UT_DMatrix4 xform,
const SIM_Time t 
) const [protected, virtual]

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.

virtual SIM_Guide* SIM_SolverPop::createGuideObjectSubclass (  )  const [protected, virtual]

Override this to create a custom SIM_Guide subclass. The SIM_Guide class controls how requests for guide geometry are translated into actual geometry creation.

Reimplemented from SIM_Data.

virtual void SIM_SolverPop::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_SolverPop::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_SolverPop::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_SolverPop::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 int SIM_SolverPop::getRequestedCacheSubclass (  )  [protected, virtual]

Returns the amount of history required by this solver. Override this function if your solver requires past data to calculate the next time step. The default implementation returns 0.

Reimplemented from SIM_Solver.

SIM_SolverPop::GETSET_DATA_FUNCS_B ( "convertacceltoforce"  ,
ConvertAccelToForce   
)

SIM_SolverPop::GETSET_DATA_FUNCS_B ( "dodopforces"  ,
DoDopForces   
)

SIM_SolverPop::GETSET_DATA_FUNCS_B ( "doimpacts"  ,
DoImpacts   
)

SIM_SolverPop::GETSET_DATA_FUNCS_B ( "docookfirst"  ,
DoCookFirst   
)

SIM_SolverPop::GETSET_DATA_FUNCS_B ( "docookpop"  ,
DoCookPOP   
)

SIM_SolverPop::GETSET_DATA_FUNCS_B ( "doprepparticles"  ,
DoPrepParticles   
)

SIM_SolverPop::GETSET_DATA_FUNCS_B ( "suppressangvel"  ,
SuppressAngVel   
)

SIM_SolverPop::GETSET_DATA_FUNCS_B ( "suppressrot"  ,
SuppressRot   
)

SIM_SolverPop::GETSET_DATA_FUNCS_B ( "suppressage"  ,
SuppressAge   
)

SIM_SolverPop::GETSET_DATA_FUNCS_B ( "suppressup"  ,
SuppressUp   
)

SIM_SolverPop::GETSET_DATA_FUNCS_B ( "suppressvel"  ,
SuppressVel   
)

SIM_SolverPop::GETSET_DATA_FUNCS_B ( "suppresspos"  ,
SuppressPos   
)

SIM_SolverPop::GETSET_DATA_FUNCS_B ( "doapplyrules"  ,
DoApplyRules   
)

SIM_SolverPop::GETSET_DATA_FUNCS_B ( "doreapparticles"  ,
DoReapParticles   
)

SIM_SolverPop::GETSET_DATA_FUNCS_B ( SIM_NAME_REMOVEUNUSED  ,
RemoveUnused   
)

SIM_SolverPop::GETSET_DATA_FUNCS_B ( SIM_NAME_INHERITVELOCITY  ,
InheritVelocity   
)

SIM_SolverPop::GETSET_DATA_FUNCS_B ( SIM_NAME_MAKEPOINTSPARTICLES  ,
MakePointsParticles   
)

SIM_SolverPop::GETSET_DATA_FUNCS_B ( "usepoppath"  ,
UsePopPath   
)

SIM_SolverPop::GETSET_DATA_FUNCS_F ( SIM_NAME_LIFESPAN  ,
Lifespan   
)

SIM_SolverPop::GETSET_DATA_FUNCS_I ( "solvemode"  ,
SolveMode   
)

SIM_SolverPop::GETSET_DATA_FUNCS_I ( SIM_NAME_MAXPARTICLES  ,
MaxParticles   
)

SIM_SolverPop::GETSET_DATA_FUNCS_I ( SIM_NAME_OVERSAMPLE  ,
OverSample   
)

SIM_SolverPop::GETSET_DATA_FUNCS_I ( SIM_NAME_RANDOMSEED  ,
RandomSeed   
)

SIM_SolverPop::GETSET_DATA_FUNCS_I ( "rehome"  ,
RehomeParticles   
)

SIM_SolverPop::GETSET_DATA_FUNCS_S ( "geo"  ,
GeometryName   
)

SIM_SolverPop::GETSET_DATA_FUNCS_S ( "datapath4"  ,
DataPath4   
)

SIM_SolverPop::GETSET_DATA_FUNCS_S ( "datapath3"  ,
DataPath3   
)

SIM_SolverPop::GETSET_DATA_FUNCS_S ( "datapath2"  ,
DataPath2   
)

SIM_SolverPop::GETSET_DATA_FUNCS_S ( "datapath1"  ,
DataPath1   
)

SIM_SolverPop::GETSET_DATA_FUNCS_S ( SIM_NAME_PATH4  ,
Path4   
)

SIM_SolverPop::GETSET_DATA_FUNCS_S ( SIM_NAME_PATH3  ,
Path3   
)

SIM_SolverPop::GETSET_DATA_FUNCS_S ( SIM_NAME_PATH2  ,
Path2   
)

SIM_SolverPop::GETSET_DATA_FUNCS_S ( SIM_NAME_PATH1  ,
Path1   
)

SIM_SolverPop::GETSET_DATA_FUNCS_S ( SIM_NAME_INITIALSTATE  ,
InitialState   
)

SIM_SolverPop::GETSET_DATA_FUNCS_S ( "homepath"  ,
RehomeParticlePath   
)

SIM_SolverPop::GETSET_DATA_FUNCS_S ( SIM_NAME_COLLIDEBOUNCE  ,
CollideBounce   
)

SIM_SolverPop::GETSET_DATA_FUNCS_S ( SIM_NAME_COLLIDESTICK  ,
CollideStick   
)

SIM_SolverPop::GETSET_DATA_FUNCS_S ( SIM_NAME_COLLIDECONTINUE  ,
CollideContinue   
)

SIM_SolverPop::GETSET_DATA_FUNCS_S ( SIM_NAME_COLLIDEKILL  ,
CollideKill   
)

SIM_SolverPop::GETSET_DATA_FUNCS_S ( SIM_NAME_COLLIDESTOP  ,
CollideStop   
)

SIM_SolverPop::GETSET_DATA_FUNCS_S ( SIM_NAME_GENERATOR  ,
Generator   
)

SIM_SolverPop::GETSET_DATA_FUNCS_S ( SIM_NAME_POPPATH  ,
PopPath   
)

virtual SIM_Result SIM_SolverPop::solveSingleObjectSubclass ( SIM_Engine engine,
SIM_Object object,
SIM_ObjectArray feedbacktoobjects,
const SIM_Time timestep,
bool  newobject 
) [protected, virtual]

This method is called for each object passed to solveObjectsSubclass().

Implements SIM_SingleSolver.


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

Generated on Mon Jan 28 00:48:57 2013 for HDK by  doxygen 1.5.9