VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
makVrv::DtDiGuyMotionModel Class Reference

A DiGuy based motion model for objects which have a DI Guy character. More...

Inheritance diagram for makVrv::DtDiGuyMotionModel:
Inheritance graph
[legend]

Classes

struct  CharacterUpdateInfoStruct
 

Public Member Functions

 DtDiGuyMotionModel (DtDe &igs, DtSceneObject *owner)
 CTOR. More...
 
 DtDiGuyMotionModel (const DtDiGuyMotionModel &orig, double time)
 Copy CTOR. More...
 
virtual ~DtDiGuyMotionModel ()
 DTOR. More...
 
virtual DtMotionModelclone (double simTime)
 Clone the motion model's externally visible state. More...
 
virtual bool motionModelHandlesUpdate () const
 Does the Di Guy motion model handle updates. More...
 
virtual void updateMotion (double simulationTime)
 Call to update the motion state of all characters. More...
 
virtual void updateCharacterMotion (DtDiGuyCharacterModel *characterModel, double simulationTime, bool needsTopoUpdate)
 
virtual const chargetActionFromDescription (DtDiGuyCharacterModel *characterModel, diguyMotionDirection direction, diguyMotionPosture posture, double actualSpeed)
 Get a DI-Guy action for the current character to match the direction/posture/speed. More...
 
virtual void modelAdded (DtModel *)
 Called whenever a model is added. More...
 
virtual void modelRemoved (DtModel *)
 Called whenever a model is removed. More...
 
virtual void setAll (const DtVector &loc, const DtVector32 &vel, const DtTaitBryan &ori, const DtVector32 &acc, const DtVector32 &rotVel, DtTime curTime)
 Coherently set all DR parameters, thus avoiding DR computations associated with a partial set. More...
 
virtual void setLocation (const DtVector &loc, DtTime t)
 Set absolute location. More...
 
virtual void setOrientation (const DtTaitBryan &ori, DtTime curTime)
 Set absolute orientation. More...
 
virtual void setVelocity (const DtVector32 &vel, DtTime curTime)
 Set absolute velocity. More...
 
virtual void setRotationalVelocity (const DtVector32 &vel, DtTime curTime)
 Set/Get absolute rotational velocity. More...
 
- Public Member Functions inherited from makVrv::DtVRLDeadReckonerMotionModel< DtExponentialSmoother >
 DtVRLDeadReckonerMotionModel ()
 CTOR. More...
 
 DtVRLDeadReckonerMotionModel (const DtVRLDeadReckonerMotionModel &orig, double time)
 Copy CTOR. More...
 
DtMotionModelclone (double time)
 Clone a DtVRLDeadReckonerMotionModel. More...
 
virtual const DtVectorapproxLocation (DtTime curTime) const
 Get the approximated (i.e. More...
 
virtual const DtVector32 & approxVelocity (DtTime curTime) const
 Get the approximated (i.e. More...
 
virtual const DtVector32 & approxUnsmoothedVelocity (DtTime curTime) const
 Get the approximated (i.e. More...
 
virtual void setSmoothPeriod (float period)
 Set the smoothing period. More...
 
virtual void setSmoothingEnabled (bool enabled)
 Enable or disable smoothing. More...
 
virtual const DtTaitBryan & approxEuler (DtTime curTime) const
 Get the approximated (i.e. More...
 
virtual void setAcceleration (const DtVector32 &acc, DtTime curTime)
 Set/Get absolute acceleration. More...
 
virtual const DtVector32 & acceleration (DtTime curTime) const
 
virtual const DtVector32 & rotationalVelocity (DtTime curTime) const
 
virtual void setAlgorithm (DtDeadReckonTypes alg)
 Set/Get the dead reckoning algorithm used for generating the approximated values from the absolute values. More...
 
virtual DtDeadReckonTypes algorithm () const
 
virtual void reset ()
 Used to reset the DeadReckoner. More...
 
virtual void setFrozen (bool frozen)
 Get/Set the frozen state (enable/disable dead reckoning) More...
 
virtual bool isFrozen () const
 
virtual void setDeadReckoningEnabled (bool enabled)
 Get/Set whether dead reckoning is disabled (independently from frozen/paused state). More...
 
virtual bool isDeadReckoningEnabled () const
 
- Public Member Functions inherited from makVrv::DtMotionModel
 DtMotionModel ()
 
virtual ~DtMotionModel ()
 

Protected Types

typedef std::map
< DtDiGuyCharacterModel
*, CharacterUpdateInfoStruct * > 
CharacterInfoMap
 

Protected Member Functions

int calculateDirectionFBLR (const DtTaitBryan &ori, const DtVector32 &vel)
 
int calculateDirectionFB (const DtTaitBryan &ori, const DtVector32 &vel)
 
void addCharacter (DtDiGuyCharacterModel *character)
 Add the character model to the list of models to control. More...
 

Protected Attributes

DtDemyDe
 
DtSceneObjectmySceneObject
 
CharacterInfoMap myCharacters
 
DtVector myApproxLocation
 
DtTaitBryan myApproxOrientation
 
DtVector myLastTopoUpdateLocation
 
DtVector myAcceleration
 
bool myIsGeocentric
 
bool myNeedsInit
 
DtVector myLastFirmLocation
 
DtTaitBryan myLastFirmOrientation
 
DtVector32 myLastFirmVelocity
 
DtVector32 myLastFirmRotationalVelocity
 
DtTime myLastFirmRotationalVelocityTime
 
- Protected Attributes inherited from makVrv::DtVRLDeadReckonerMotionModel< DtExponentialSmoother >
bool myDeadReckoningEnabledFlag
 

Detailed Description

A DiGuy based motion model for objects which have a DI Guy character.

Member Typedef Documentation

Constructor & Destructor Documentation

makVrv::DtDiGuyMotionModel::DtDiGuyMotionModel ( DtDe igs,
DtSceneObject owner 
)

CTOR.

makVrv::DtDiGuyMotionModel::DtDiGuyMotionModel ( const DtDiGuyMotionModel orig,
double  time 
)

Copy CTOR.

virtual makVrv::DtDiGuyMotionModel::~DtDiGuyMotionModel ( )
virtual

DTOR.

Member Function Documentation

virtual DtMotionModel* makVrv::DtDiGuyMotionModel::clone ( double  simTime)
virtual

Clone the motion model's externally visible state.

Implements makVrv::DtMotionModel.

virtual bool makVrv::DtDiGuyMotionModel::motionModelHandlesUpdate ( ) const
virtual

Does the Di Guy motion model handle updates.

Returns
true As characters are moved by the scenario.
virtual void makVrv::DtDiGuyMotionModel::updateMotion ( double  simulationTime)
virtual

Call to update the motion state of all characters.

Reimplemented from makVrv::DtVRLDeadReckonerMotionModel< DtExponentialSmoother >.

virtual void makVrv::DtDiGuyMotionModel::updateCharacterMotion ( DtDiGuyCharacterModel characterModel,
double  simulationTime,
bool  needsTopoUpdate 
)
virtual
virtual const char* makVrv::DtDiGuyMotionModel::getActionFromDescription ( DtDiGuyCharacterModel characterModel,
diguyMotionDirection  direction,
diguyMotionPosture  posture,
double  actualSpeed 
)
virtual

Get a DI-Guy action for the current character to match the direction/posture/speed.

virtual void makVrv::DtDiGuyMotionModel::modelAdded ( DtModel )
virtual

Called whenever a model is added.

Reimplemented from makVrv::DtVRLDeadReckonerMotionModel< DtExponentialSmoother >.

virtual void makVrv::DtDiGuyMotionModel::modelRemoved ( DtModel )
virtual

Called whenever a model is removed.

Reimplemented from makVrv::DtVRLDeadReckonerMotionModel< DtExponentialSmoother >.

virtual void makVrv::DtDiGuyMotionModel::setAll ( const DtVector loc,
const DtVector32 &  vel,
const DtTaitBryan &  ori,
const DtVector32 &  acc,
const DtVector32 &  rotVel,
DtTime  curTime 
)
virtual

Coherently set all DR parameters, thus avoiding DR computations associated with a partial set.

Reimplemented from makVrv::DtVRLDeadReckonerMotionModel< DtExponentialSmoother >.

virtual void makVrv::DtDiGuyMotionModel::setLocation ( const DtVector loc,
DtTime  curTime 
)
virtual

Set absolute location.

Reimplemented from makVrv::DtVRLDeadReckonerMotionModel< DtExponentialSmoother >.

virtual void makVrv::DtDiGuyMotionModel::setOrientation ( const DtTaitBryan &  ori,
DtTime  curTime 
)
virtual

Set absolute orientation.

Reimplemented from makVrv::DtVRLDeadReckonerMotionModel< DtExponentialSmoother >.

virtual void makVrv::DtDiGuyMotionModel::setVelocity ( const DtVector32 &  vel,
DtTime  curTime 
)
virtual

Set absolute velocity.

Reimplemented from makVrv::DtVRLDeadReckonerMotionModel< DtExponentialSmoother >.

virtual void makVrv::DtDiGuyMotionModel::setRotationalVelocity ( const DtVector32 &  vel,
DtTime  curTime 
)
virtual

Set/Get absolute rotational velocity.

Reimplemented from makVrv::DtVRLDeadReckonerMotionModel< DtExponentialSmoother >.

int makVrv::DtDiGuyMotionModel::calculateDirectionFBLR ( const DtTaitBryan &  ori,
const DtVector32 &  vel 
)
protected
int makVrv::DtDiGuyMotionModel::calculateDirectionFB ( const DtTaitBryan &  ori,
const DtVector32 &  vel 
)
protected
void makVrv::DtDiGuyMotionModel::addCharacter ( DtDiGuyCharacterModel character)
protected

Add the character model to the list of models to control.

Member Data Documentation

DtDe& makVrv::DtDiGuyMotionModel::myDe
protected
DtSceneObject* makVrv::DtDiGuyMotionModel::mySceneObject
protected
CharacterInfoMap makVrv::DtDiGuyMotionModel::myCharacters
protected
DtVector makVrv::DtDiGuyMotionModel::myApproxLocation
protected
DtTaitBryan makVrv::DtDiGuyMotionModel::myApproxOrientation
protected
DtVector makVrv::DtDiGuyMotionModel::myLastTopoUpdateLocation
protected
DtVector makVrv::DtDiGuyMotionModel::myAcceleration
protected
bool makVrv::DtDiGuyMotionModel::myIsGeocentric
protected
bool makVrv::DtDiGuyMotionModel::myNeedsInit
protected
DtVector makVrv::DtDiGuyMotionModel::myLastFirmLocation
protected
DtTaitBryan makVrv::DtDiGuyMotionModel::myLastFirmOrientation
protected
DtVector32 makVrv::DtDiGuyMotionModel::myLastFirmVelocity
protected
DtVector32 makVrv::DtDiGuyMotionModel::myLastFirmRotationalVelocity
protected
DtTime makVrv::DtDiGuyMotionModel::myLastFirmRotationalVelocityTime
protected

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

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)