SIM_ForceVex Class Reference

A simple drag force that opposes velocities in the normal direction. More...

#include <SIM_ForceVex.h>

Inheritance diagram for SIM_ForceVex:

SIM_Force SIM_OptionsUser SIM_Data

List of all members.

Public Member Functions

 GETSET_DATA_FUNCS_S ("vexscript", VexScript)
 GETSET_DATA_FUNCS_I (SIM_NAME_SAMPLEMODE, SampleMode)
 Whether to sample by point, circle, or sphere.

Protected Member Functions

 SIM_ForceVex (const SIM_DataFactory *factory)
virtual ~SIM_ForceVex ()
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 bool getForceSetSubclass (const SIM_Object &object, const UT_Vector3Array &positions, const UT_Vector3Array &velocities, const UT_Vector3Array &angvelocities, const UT_FloatArray &masses, UT_Vector3Array &forces, UT_Vector3Array &torques) const
virtual SIM_ForceSample getOptimalForceSamplingSubclass () const


Detailed Description

A simple drag force that opposes velocities in the normal direction.

Definition at line 23 of file SIM_ForceVex.h.


Constructor & Destructor Documentation

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

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


Member Function Documentation

virtual bool SIM_ForceVex::getForceSetSubclass ( const SIM_Object object,
const UT_Vector3Array positions,
const UT_Vector3Array velocities,
const UT_Vector3Array angvelocities,
const UT_FloatArray masses,
UT_Vector3Array forces,
UT_Vector3Array torque 
) const [protected, virtual]

Returns the forces and torques applied by this force to a list of points. Returns true if ok, false otherwise. This return value is used to determine whether or not subclasses actually implement this function. If this is implemented, it is the implementations responsibility to resize the forces & torque arrays appropriately.

Reimplemented from SIM_Force.

virtual void SIM_ForceVex::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]

Override the surface force calculation. The drag force opposes velocities.

Reimplemented from SIM_Force.

virtual SIM_ForceSample SIM_ForceVex::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_ForceVex::GETSET_DATA_FUNCS_I ( SIM_NAME_SAMPLEMODE  ,
SampleMode   
)

Whether to sample by point, circle, or sphere.

SIM_ForceVex::GETSET_DATA_FUNCS_S ( "vexscript"  ,
VexScript   
)


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