SIM_ForceVelImpulse Class Reference

#include <SIM_ForceVelImpulse.h>

Inheritance diagram for SIM_ForceVelImpulse:

SIM_Force SIM_OptionsUser SIM_Data

List of all members.

Public Member Functions

 GETSET_DATA_FUNCS_V3 ("deltavel", DeltaVel)
 Controls the magnitude and direction of the impulse.
 GETSET_DATA_FUNCS_I (SIM_NAME_SAMPLEMODE, SampleMode)
 Whether to sample by point, circle, or sphere.

Protected Member Functions

 SIM_ForceVelImpulse (const SIM_DataFactory *factory)
virtual ~SIM_ForceVelImpulse ()
virtual void getForceSubclass (const SIM_Object &object, const UT_Vector3 &position, const UT_Vector3 &velocity, const UT_Vector3 &angvel, const fpreal mass, UT_Vector3 &force, UT_Vector3 &torque) const
virtual void getForceOnCircleSubclass (const SIM_Object &object, const UT_Vector3 &position, const UT_Vector3 &normal, const fpreal radius, const UT_Vector3 &velocity, const UT_Vector3 &angvel, const fpreal mass, UT_Vector3 &force, UT_Vector3 &torque) const
virtual void getForceOnSphereSubclass (const SIM_Object &object, const UT_Vector3 &position, const fpreal radius, const UT_Vector3 &velocity, const UT_Vector3 &angvel, const fpreal mass, UT_Vector3 &force, UT_Vector3 &torque) const
virtual SIM_ForceSample getOptimalForceSamplingSubclass () const


Detailed Description

This is an implementation of the SIM_Force interface. This implementation returns a force value that is scaled by the timestep of the simulation.

Definition at line 29 of file SIM_ForceVelImpulse.h.


Constructor & Destructor Documentation

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

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


Member Function Documentation

virtual void SIM_ForceVelImpulse::getForceOnCircleSubclass ( const SIM_Object object,
const UT_Vector3 position,
const UT_Vector3 normal,
const fpreal  radius,
const UT_Vector3 velocity,
const UT_Vector3 angvel,
const fpreal  mass,
UT_Vector3 force,
UT_Vector3 torque 
) const [protected, virtual]

Calculates the impulse on a surface. This function simply calls getForceSubclass(), ignoring the circle parameters.

Reimplemented from SIM_Force.

virtual void SIM_ForceVelImpulse::getForceOnSphereSubclass ( const SIM_Object object,
const UT_Vector3 position,
const fpreal  radius,
const UT_Vector3 velocity,
const UT_Vector3 angvel,
const fpreal  mass,
UT_Vector3 force,
UT_Vector3 torque 
) const [protected, virtual]

Calculates the impulse on a volume. This function simply calls getForceSubclass(), ignoring the sphere parameters.

Reimplemented from SIM_Force.

virtual void SIM_ForceVelImpulse::getForceSubclass ( const SIM_Object object,
const UT_Vector3 position,
const UT_Vector3 velocity,
const UT_Vector3 angvel,
const fpreal  mass,
UT_Vector3 force,
UT_Vector3 torque 
) const [protected, virtual]

Calculates the impulse on a point. This force will be scaled by the timestep & optionally by the mass.

Reimplemented from SIM_Force.

virtual SIM_ForceSample SIM_ForceVelImpulse::getOptimalForceSamplingSubclass (  )  const [protected, virtual]

Allows solvers to query what the optimal sampling type for this force would be. Solvers do not have to respect this. This should be user overrideable so users can trade efficiency for accuracy.

Reimplemented from SIM_Force.

SIM_ForceVelImpulse::GETSET_DATA_FUNCS_I ( SIM_NAME_SAMPLEMODE  ,
SampleMode   
)

Whether to sample by point, circle, or sphere.

SIM_ForceVelImpulse::GETSET_DATA_FUNCS_V3 ( "deltavel"  ,
DeltaVel   
)

Controls the magnitude and direction of the impulse.


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

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