SIM_ForceVortex Class Reference

#include <SIM_ForceVortex.h>

Inheritance diagram for SIM_ForceVortex:

SIM_Force SIM_OptionsUser SIM_Data

List of all members.

Public Member Functions

 GETSET_DATA_FUNCS_S (SIM_NAME_RADIUS, RadiusAttribName)
 The name of the point attribute holding the radius values.
 GETSET_DATA_FUNCS_S (SIM_NAME_VELOCITY, VelocityAttribName)
 The name of the velocity of the orbit.
 GETSET_DATA_FUNCS_I (SIM_NAME_VELOCITYTYPE, VelocityType)
 Get the veloicty type.
 GETSET_DATA_FUNCS_S (SIM_NAME_DIRECTION, DirectionAttribName)
 The name of the direction of the orbit.
 GETSET_DATA_FUNCS_I (SIM_NAME_DIRECTIONTYPE, DirectionType)
 Get the direction type.
 GETSET_DATA_FUNCS_F (SIM_NAME_DRAGCONSTANT, DragConstant)
 The drag constant for going into orbit.
 GETSET_DATA_FUNCS_S (SIM_NAME_MAXDISTANCE, MaxDistanceAttribName)
 The name of maximum distance we are allowed to search for a point.
 GETSET_DATA_FUNCS_F (SIM_NAME_DENSITY, Density)
 The linear orbital density.
 GETSET_DATA_FUNCS_S (SIM_NAME_LIFTFORCE, LiftForceAttribName)
 The lift force.
 GETSET_DATA_FUNCS_F (SIM_NAME_FALLOFF, Falloff)
 The falloff of lift force.
 GETSET_DATA_FUNCS_F (SIM_NAME_LIFTMULT, LiftMult)
 The lift radius multiplier.
 GETSET_DATA_FUNCS_I (SIM_NAME_SAMPLEMODE, SampleMode)
 Whether to sample by point, circle, or sphere.

Protected Member Functions

 SIM_ForceVortex (const SIM_DataFactory *factory)
virtual ~SIM_ForceVortex ()
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
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
bool shouldMultiThread () const


Detailed Description

This is an implementation of the SIM_Force interface. This implementation calculates the interpolated value from a point cloud with force and torque attributes attached to it.

Definition at line 31 of file SIM_ForceVortex.h.


Constructor & Destructor Documentation

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

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


Member Function Documentation

virtual void SIM_ForceVortex::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_ForceVortex::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 bool SIM_ForceVortex::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 [protected, virtual]

Returns the forces and torques on a set of points. The results will be same as those produced by getForceSubclass, with the exception that this method computes forces for a set of points instead of a single point.

Reimplemented from SIM_Force.

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

Returns the force and torque on a point. The returned values are exact copies of the force and torque attributes. The getForceOnCircleSubclass() and getForceOnSphereSubclass() functions use the default implementations which scale the point force by the area or volume of the circle or sphere. This means that regardless of the size of samples used to quantize an object, the total force on the object should remain roughly constant.

Reimplemented from SIM_Force.

virtual SIM_ForceSample SIM_ForceVortex::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_ForceVortex::GETSET_DATA_FUNCS_F ( SIM_NAME_LIFTMULT  ,
LiftMult   
)

The lift radius multiplier.

SIM_ForceVortex::GETSET_DATA_FUNCS_F ( SIM_NAME_FALLOFF  ,
Falloff   
)

The falloff of lift force.

SIM_ForceVortex::GETSET_DATA_FUNCS_F ( SIM_NAME_DENSITY  ,
Density   
)

The linear orbital density.

SIM_ForceVortex::GETSET_DATA_FUNCS_F ( SIM_NAME_DRAGCONSTANT  ,
DragConstant   
)

The drag constant for going into orbit.

SIM_ForceVortex::GETSET_DATA_FUNCS_I ( SIM_NAME_SAMPLEMODE  ,
SampleMode   
)

Whether to sample by point, circle, or sphere.

SIM_ForceVortex::GETSET_DATA_FUNCS_I ( SIM_NAME_DIRECTIONTYPE  ,
DirectionType   
)

Get the direction type.

SIM_ForceVortex::GETSET_DATA_FUNCS_I ( SIM_NAME_VELOCITYTYPE  ,
VelocityType   
)

Get the veloicty type.

SIM_ForceVortex::GETSET_DATA_FUNCS_S ( SIM_NAME_LIFTFORCE  ,
LiftForceAttribName   
)

The lift force.

SIM_ForceVortex::GETSET_DATA_FUNCS_S ( SIM_NAME_MAXDISTANCE  ,
MaxDistanceAttribName   
)

The name of maximum distance we are allowed to search for a point.

SIM_ForceVortex::GETSET_DATA_FUNCS_S ( SIM_NAME_DIRECTION  ,
DirectionAttribName   
)

The name of the direction of the orbit.

SIM_ForceVortex::GETSET_DATA_FUNCS_S ( SIM_NAME_VELOCITY  ,
VelocityAttribName   
)

The name of the velocity of the orbit.

SIM_ForceVortex::GETSET_DATA_FUNCS_S ( SIM_NAME_RADIUS  ,
RadiusAttribName   
)

The name of the point attribute holding the radius values.

bool SIM_ForceVortex::shouldMultiThread (  )  const [inline, protected]

Definition at line 99 of file SIM_ForceVortex.h.


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

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