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

A DtCigiCharacterEntity is a CIGI base entity that loads a character (Di Guy) model. More...

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

Public Member Functions

 DtCigiCharacterEntity (DtCigiConnection &connection, DtAgentManagerInterface &sceneInterface, int entityId, int entityType)
 Constructor.
virtual ~DtCigiCharacterEntity ()
 Destructor.
virtual void init ()
 Calls down to DtCigiBaseEntity::init(), creates an character model, provides a model definition to it, and adds it to the scene object created in DtCigiBaseEntity::init().
virtual void uninit ()
 Calls down to DtCigiBaseEntity::uninit(), and then deletes the character model created in init().
virtual void restart ()
 Calls down to DtCigiBaseEntity::restart(), then reinintializes art parts and alive state.
virtual void setPosition (const DtGeodeticCoord &pos, bool force=false)
 Set the entity's geodetic position.
virtual void setOrientation (const DtTaitBryan &orientation, bool force=false)
 Set the entity's orientation.
virtual void setCharacterPaused (bool paused)
 Set paused state without specifying an action.
virtual void setCharacterActionSpeed (float speed)
 Change action speed of an existing action.
virtual void unforceAction ()
 If a character action has been given earlier, it overrides any posture / weapon state settings.
virtual void setCharacterAction (const std::string &action)
 Set a character action. Will used saved previous paused and speed flags.
virtual void setCharacterAction (const std::string &action, bool paused, double speed)
 When you have all three, set together.
virtual void setCharacterPosture (DtCharacterModel::Posture posture)
 Set a character's posture.
virtual void setWeaponDeployed (bool deployed)
 Set whether the character's weapon is deployed.
virtual bool weaponDeployed () const
 Get whether the character's weapon is deployed.
virtual void setAlive (bool alive)
 Set whether the character is alive.
virtual bool alive () const
 Get whether the character is alive.
virtual void setWaterlineOriginOffset (float offset)
 Set the amount that a bouyant entity's origin is offset from the waterline.
virtual void startEmbarked ()
 Override to prevent amphibious behavior when embarked.
virtual void endEmbarked ()
 Override to restore amphibious behavior when disembarked.
virtual void setArtPartTranslation (int partId, float xOffset, float yOffset, float zOffset, bool xEnable, bool yEnable, bool zEnable)
 Set the relative position of an articulated part.
virtual void setArtPartOrientation (int partId, float yaw, float pitch, float roll, bool yawEnable, bool pitchEnable, bool rollEnable)
 Set the orientation of an articulated part.
virtual void setArtPartLinearRate (int partId, float xRate, float yRate, float zRate)
 Set the linear rate of an articulated part.
virtual void setArtPartAngularRate (int partId, float yawRate, float pitchRate, float rollRate)
 Set the angular rate of an articulated part.
virtual void setArtPartEnable (int partId, bool trueFalse)
 Enable/disable an articulated part.
- Public Member Functions inherited from makVrv::DtCigiBaseEntity
 DtCigiBaseEntity (DtCigiConnection &connection, DtAgentManagerInterface &sceneInterface, int entityId, int entityType)
 Constructor takes a DtCigiConnection, scene interface, and the CIGI entity ID/type.
virtual ~DtCigiBaseEntity ()
 Destructor.
virtual DtUniqueID uniqueId () const
 Returns the element ID of the entity's scene object.
virtual DtUniqueID elementId () const
 Returns the element ID of the entity's scene object.
virtual int cigiId () const
 Returns the CIGI Id of the CIGI entity.
virtual void restartRequest ()
 This is called to request that the entity be restarted.
virtual int entityType () const
 Get the entity type the entity was created with.
virtual void setVisible (bool yesNo)
 Set whether the entity is visible.
virtual bool isVisible () const
 Get the current visibility.
virtual void setDeadReckoningOn (bool onOff)
 Turns dead-reckoning on/off.
virtual bool isDeadReckoning () const
 Determine if the entity is ACTUALLY dead reckoning.
virtual const DtGeodeticCoord & position () const
 Returns the last position set by a CIGI entity control message.
virtual const DtVectorlocalPosition () const
 Returns the last computed local position set.
virtual const DtTaitBryan & orientation () const
 Returns the last orientation set by a CIGI entity control message.
virtual const DtTaitBryan & localOrientation () const
 Returns the computed last local orientation.
virtual const DtTaitBryan & geocentricOrientation () const
 Get the last computed geocentric orientation.
virtual void setLinearRate (const DtVector &rate, bool useWorldCoordinates, bool force=false)
 Sets the entity's linear rate.
virtual const DtVectorlinearRate () const
 Get the last set linear rate.
virtual void setAngularRate (const DtVector &rate, bool useWorldCoordinates, bool force=false)
 Set's the entity's angular rate.
virtual const DtVectorangularRate () const
 Get the last set angular rate.
virtual void slot_deadReckoningAllowed (bool allowed)
 Called when IG-wide extrapolation is turned on or off.
virtual void setAlpha (int alpha)
 Sets the entity's alpha value.
virtual int alpha () const
 Returns the entity's alpha value.
virtual void setInheritAlpha (bool inherit)
 Set whether the entity should inherit alpha from its parent.
virtual bool isInheritingAlpha () const
 Determine if the entity is inheriting alpha.
virtual void slot_alphaChanged (int alpha, DtUniqueID id)
 Slot so we can check if the parent's alpha has changed.
virtual void setGroundClampingOn (DtGroundClampingUpdater::GroundClampingMode clampType)
 Turns ground clamping on/off.
virtual
DtGroundClampingUpdater::GroundClampingMode 
groundClampingType () const
 Get the current ground clamping type.
virtual bool getArtPartTranslation (int partId, int &mappedPartId, DtVector &translation)
 Get the art part translation from a specified CIGI part id.
virtual bool getArtPartOrientation (int partId, int &mappedPartId, DtTaitBryan &orientation)
 Returns false if the part id is not found.
virtual bool getArtPartLinearRate (int partId, int &mappedPartId, DtVector &rate)
 Get the art part translation rate from a specified CIGI part id.
virtual bool getArtPartTranslationAndRate (int partId, int &mappedPartId, DtVector &translation, DtVector &rate)
 Get the art part translation and rate from a specified CIGI part id.
virtual bool getArtPartAngularRate (int partId, int &mappedPartId, DtVector &rate)
 Returns false if the part id is not found.
virtual bool getArtPartOrientationAndRate (int partId, int &mappedPartId, DtTaitBryan &orientation, DtVector &rate)
 Returns false if the part id is not found.
virtual DtSceneObjectAgent * findSceneObjectAgent ()
virtual void setRelativeTo (DtCigiBaseEntity *parent)
 Attachment control.
virtual void setRelativePosition (const DtVector &pos)
 Sets the entity's relative position (if attached).
virtual void setRelativeOrientation (const DtTaitBryan &orient)
 Sets the entity's relative orientation (relative to the parent's body coordinates) if attached.
virtual bool isEmbarked () const
 Determine if the entity is attached to a parent entity.
virtual int embarkedParentId () const
 Get the CIGI ID of the entity to which we are attached.

Protected Member Functions

virtual void startDeadReckoning ()
 Override to specify the correct motion model.
virtual void endDeadReckoning ()
 Remove the Dead Reckoning updater.
virtual void startGroundClamping ()
 Override to work with surface clamping updater, because character's are amphibious.
virtual void endGroundClamping ()
 Remove the ground clamping updater.
- Protected Member Functions inherited from makVrv::DtCigiBaseEntity
virtual void buildGroundClampingUpdater ()
 Create and intialize the ground clamping updater agents.
virtual bool isGroundClamping () const
 Returns false if ground clamping type is DtGroundClampingUpdater::ClampNone true otherwise.
virtual void getExtrapolatedValuesAndRestart ()
 Request position and orientation values from the render thread if this entity is dead reckoned.
virtual void delayedStartEmbarked ()
 When an embarked entity is restarted, it needs to be reattached to its parent at the start of the next frame (after all other entities have been restarted).
virtual void queryExtrapolatedPositionAndOrientation (DtUniqueID drAgentId, bool relative)
 This is the render thread-run method that collects dead reckoned position and orientation.
virtual void returnExtrapolatedPositionAndOrientation (DtVector resultPos, DtTaitBryan resultOri, bool relative, bool invokeRestart)
 This method returns the position and orientation collected from the render thread in the connection thread.
virtual DtDeadReckonUpdaterfindDRUpdaterInRenderThread (DtUniqueID drAgentId) const
 Helper function called by queryExtrapolatedPositionAndOrientation to look up the the dead reckon updater object given its agent id.

Protected Attributes

DtCharacterModelAgent * myCharacterModel
bool myCharacterPaused
float myCharacterActionSpeed
bool myWeaponDeployed
bool myAlive
std::string myCharacterAction
DtCharacterModel::Posture myPosture
float myWaterlineOriginOffset
DtSurfaceClampingUpdaterAgent * mySurfaceClampingUpdaterAgent
DtWaterClampingUpdaterAgent * myWaterClampingUpdaterAgent
- Protected Attributes inherited from makVrv::DtCigiBaseEntity
DtSceneObjectAgent * mySceneObject
DtModelAgent * myModel
std::string myEntityModelDefName
DtDeadReckonUpdaterAgent * myDeadReckonUpdaterAgent
DtGroundClampingUpdaterAgent * myGroundClampingUpdaterAgent
DtEmbarkationUpdaterAgent * myEmbarkationUpdaterAgent
bool myDeadReckoningOn
bool myEmbarked
DtGroundClampingUpdater::GroundClampingMode myGroundClampingType
DtGeodeticCoord myLastPosition
DtVector myLastLocalPosition
DtTaitBryan myLastOrientation
DtTaitBryan myLastLocalOrientation
DtTaitBryan myLastGeocentricOrientation
DtVector myLastRelativePosition
DtTaitBryan myLastRelativeOrientation
DtVector myLastVelocity
bool myLastVelocityWorldCoordinates
DtVector myLastAngularVelocity
bool myLastAngularVelocityWorldCoordinates
DtCigiConnectionmyConnection
DtAgentManagerInterfacemySceneInterface
int myEntityId
int myEntityType
DtCigiBaseEntitymyParent
int myEmbarkedParentID
bool myInheritAlpha
int myAlpha
bool myVisiblity
std::map< int, DtTaitBryan > myLastArtPartOrientation
std::map< int, DtVectormyLastArtPartTranslation
std::map< int, DtVectormyArtPartAngularRate
std::map< int, DtVectormyArtPartLinearRate
DtSignalConnectionManager mySignalConnections

Additional Inherited Members

- Public Attributes inherited from makVrv::DtCigiBaseEntity
boost::signal< void(int,
DtUniqueID)> 
signal_alphaChanged
 Emitted when this entity's alpha has changed.

Detailed Description

A DtCigiCharacterEntity is a CIGI base entity that loads a character (Di Guy) model.

Constructor & Destructor Documentation

makVrv::DtCigiCharacterEntity::DtCigiCharacterEntity ( DtCigiConnection connection,
DtAgentManagerInterface sceneInterface,
int  entityId,
int  entityType 
)

Constructor.

virtual makVrv::DtCigiCharacterEntity::~DtCigiCharacterEntity ( )
virtual

Destructor.

Member Function Documentation

virtual void makVrv::DtCigiCharacterEntity::init ( )
virtual

Calls down to DtCigiBaseEntity::init(), creates an character model, provides a model definition to it, and adds it to the scene object created in DtCigiBaseEntity::init().

It also provides default values to the character model's character action, paused state, action speed, posture, and weapon deployment. It also creates a surface and water clamping updater, as character models are amphibious (will float in water as well as walk on land).

Reimplemented from makVrv::DtCigiBaseEntity.

virtual void makVrv::DtCigiCharacterEntity::uninit ( )
virtual

Calls down to DtCigiBaseEntity::uninit(), and then deletes the character model created in init().

It also deletes the surface and water clamping updaters.

Reimplemented from makVrv::DtCigiBaseEntity.

virtual void makVrv::DtCigiCharacterEntity::restart ( )
virtual

Calls down to DtCigiBaseEntity::restart(), then reinintializes art parts and alive state.

Reimplemented from makVrv::DtCigiBaseEntity.

virtual void makVrv::DtCigiCharacterEntity::setPosition ( const DtGeodeticCoord &  pos,
bool  force = false 
)
virtual

Set the entity's geodetic position.

Parameters
[in]posis the position set from the CIGI entity control message.
[in]forceis a flag to force handling even if position has not changed.

Reimplemented from makVrv::DtCigiBaseEntity.

virtual void makVrv::DtCigiCharacterEntity::setOrientation ( const DtTaitBryan &  orientation,
bool  force = false 
)
virtual

Set the entity's orientation.

Parameters
[in]orientationis the orientation set from the CIGI entity control message.
[in]forceis a flag to force handling even if orientation has not changed.

Reimplemented from makVrv::DtCigiBaseEntity.

virtual void makVrv::DtCigiCharacterEntity::setCharacterPaused ( bool  paused)
virtual

Set paused state without specifying an action.

virtual void makVrv::DtCigiCharacterEntity::setCharacterActionSpeed ( float  speed)
virtual

Change action speed of an existing action.

virtual void makVrv::DtCigiCharacterEntity::unforceAction ( )
virtual

If a character action has been given earlier, it overrides any posture / weapon state settings.

This needs to be called to go back to using posture/weapon state instead of explicit animation

virtual void makVrv::DtCigiCharacterEntity::setCharacterAction ( const std::string &  action)
virtual

Set a character action. Will used saved previous paused and speed flags.

virtual void makVrv::DtCigiCharacterEntity::setCharacterAction ( const std::string &  action,
bool  paused,
double  speed 
)
virtual

When you have all three, set together.

virtual void makVrv::DtCigiCharacterEntity::setCharacterPosture ( DtCharacterModel::Posture  posture)
virtual

Set a character's posture.

virtual void makVrv::DtCigiCharacterEntity::setWeaponDeployed ( bool  deployed)
virtual

Set whether the character's weapon is deployed.

Note that not all postures or animations will support a deployed weapon

virtual bool makVrv::DtCigiCharacterEntity::weaponDeployed ( ) const
virtual

Get whether the character's weapon is deployed.

virtual void makVrv::DtCigiCharacterEntity::setAlive ( bool  alive)
virtual

Set whether the character is alive.

The transition from alive to not alive will result in an animation; and from not alive to alive the entity will be restored to its last state

virtual bool makVrv::DtCigiCharacterEntity::alive ( ) const
virtual

Get whether the character is alive.

virtual void makVrv::DtCigiCharacterEntity::setWaterlineOriginOffset ( float  offset)
virtual

Set the amount that a bouyant entity's origin is offset from the waterline.

virtual void makVrv::DtCigiCharacterEntity::startEmbarked ( )
virtual

Override to prevent amphibious behavior when embarked.

Reimplemented from makVrv::DtCigiBaseEntity.

virtual void makVrv::DtCigiCharacterEntity::endEmbarked ( )
virtual

Override to restore amphibious behavior when disembarked.

Reimplemented from makVrv::DtCigiBaseEntity.

virtual void makVrv::DtCigiCharacterEntity::setArtPartTranslation ( int  partId,
float  xOffset,
float  yOffset,
float  zOffset,
bool  xEnable,
bool  yEnable,
bool  zEnable 
)
virtual

Set the relative position of an articulated part.

Reimplemented from makVrv::DtCigiBaseEntity.

virtual void makVrv::DtCigiCharacterEntity::setArtPartOrientation ( int  partId,
float  yaw,
float  pitch,
float  roll,
bool  yawEnable,
bool  pitchEnable,
bool  rollEnable 
)
virtual

Set the orientation of an articulated part.

Reimplemented from makVrv::DtCigiBaseEntity.

virtual void makVrv::DtCigiCharacterEntity::setArtPartLinearRate ( int  partId,
float  xRate,
float  yRate,
float  zRate 
)
virtual

Set the linear rate of an articulated part.

Reimplemented from makVrv::DtCigiBaseEntity.

virtual void makVrv::DtCigiCharacterEntity::setArtPartAngularRate ( int  partId,
float  yawRate,
float  pitchRate,
float  rollRate 
)
virtual

Set the angular rate of an articulated part.

Reimplemented from makVrv::DtCigiBaseEntity.

virtual void makVrv::DtCigiCharacterEntity::setArtPartEnable ( int  partId,
bool  trueFalse 
)
virtual

Enable/disable an articulated part.

Reimplemented from makVrv::DtCigiBaseEntity.

virtual void makVrv::DtCigiCharacterEntity::startDeadReckoning ( )
protectedvirtual

Override to specify the correct motion model.

Reimplemented from makVrv::DtCigiBaseEntity.

virtual void makVrv::DtCigiCharacterEntity::endDeadReckoning ( )
protectedvirtual

Remove the Dead Reckoning updater.

Reimplemented from makVrv::DtCigiBaseEntity.

virtual void makVrv::DtCigiCharacterEntity::startGroundClamping ( )
protectedvirtual

Override to work with surface clamping updater, because character's are amphibious.

Reimplemented from makVrv::DtCigiBaseEntity.

virtual void makVrv::DtCigiCharacterEntity::endGroundClamping ( )
protectedvirtual

Remove the ground clamping updater.

Reimplemented from makVrv::DtCigiBaseEntity.

Member Data Documentation

DtCharacterModelAgent* makVrv::DtCigiCharacterEntity::myCharacterModel
protected
bool makVrv::DtCigiCharacterEntity::myCharacterPaused
protected
float makVrv::DtCigiCharacterEntity::myCharacterActionSpeed
protected
bool makVrv::DtCigiCharacterEntity::myWeaponDeployed
protected
bool makVrv::DtCigiCharacterEntity::myAlive
protected
std::string makVrv::DtCigiCharacterEntity::myCharacterAction
protected
DtCharacterModel::Posture makVrv::DtCigiCharacterEntity::myPosture
protected
float makVrv::DtCigiCharacterEntity::myWaterlineOriginOffset
protected
DtSurfaceClampingUpdaterAgent* makVrv::DtCigiCharacterEntity::mySurfaceClampingUpdaterAgent
protected
DtWaterClampingUpdaterAgent* makVrv::DtCigiCharacterEntity::myWaterClampingUpdaterAgent
protected

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

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)