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

A DtCigiParticleCollisionObjectEntity is a CIGI entity that spawns an exclusion volume that particles are not rendered in. More...

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

Public Member Functions

 DtCigiParticleCollisionObjectEntity (DtCigiConnection &connection, DtAgentManagerInterface &sceneInterface, int entityId, int entityType)
 CTOR. More...
 
virtual ~DtCigiParticleCollisionObjectEntity ()
 DTOR. More...
 
virtual void init ()
 Initialiser Creates model and updater. More...
 
virtual void uninit ()
 Uninitialiser. More...
 
- 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. More...
 
virtual ~DtCigiBaseEntity ()
 Destructor. More...
 
virtual DtUniqueID uniqueId () const
 Returns the element ID of the entity's scene object. More...
 
virtual DtUniqueID elementId () const
 Returns the element ID of the entity's scene object. More...
 
virtual int cigiId () const
 Returns the CIGI Id of the CIGI entity. More...
 
virtual void restart ()
 Calls uninit(), init(), and then restores dead reckoning, embarkation, etc. More...
 
virtual void restartRequest ()
 This is called to request that the entity be restarted. More...
 
virtual int entityType () const
 Get the entity type the entity was created with. More...
 
virtual bool extendedEntityTypeOn () const
 Get whether the entity has extended type on. More...
 
virtual void setExtendedEntityTypeOn (bool onOff)
 Set whether this entity uses extended entity type. More...
 
virtual void setExtendedEntityType (DtEntityType &entityType)
 TODO Are we setting extended from CIGI or DIS? TODO Test whether this sets Set the extended type. More...
 
virtual void setVisible (bool yesNo)
 Set whether the entity is visible. More...
 
virtual bool isVisible () const
 Get the current visibility. More...
 
virtual void setDeadReckoningOn (bool onOff)
 Turns dead-reckoning on/off. More...
 
virtual bool isDeadReckoning () const
 Determine if the entity is ACTUALLY dead reckoning. More...
 
virtual void setPosition (const DtGeodeticCoord &pos, bool force=false)
 Set the entity's geodetic position. More...
 
virtual const DtGeodeticCoord & position () const
 Returns the last position set by a CIGI entity control message. More...
 
virtual const DtVectorlocalPosition () const
 Returns the last computed local position set. More...
 
virtual void setOrientation (const DtTaitBryan &orientation, bool force=false)
 Set the entity's orientation. More...
 
virtual const DtTaitBryan & orientation () const
 Returns the last orientation set by a CIGI entity control message. More...
 
virtual const DtTaitBryan & localOrientation () const
 Returns the computed last local orientation. More...
 
virtual const DtTaitBryan & geocentricOrientation () const
 Get the last computed geocentric orientation. More...
 
virtual void setLinearRate (const DtVector &rate, bool useWorldCoordinates, bool force=false)
 Sets the entity's linear rate. More...
 
virtual const DtVectorlinearRate () const
 Get the last set linear rate. More...
 
virtual void setAngularRate (const DtVector &rate, bool useWorldCoordinates, bool force=false)
 Set's the entity's angular rate. More...
 
virtual const DtVectorangularRate () const
 Get the last set angular rate. More...
 
virtual void slot_deadReckoningAllowed (bool allowed)
 Called when IG-wide extrapolation is turned on or off. More...
 
virtual void setAlpha (int alpha)
 Sets the entity's alpha value. More...
 
virtual int alpha () const
 Returns the entity's alpha value. More...
 
virtual void setInheritAlpha (bool inherit)
 Set whether the entity should inherit alpha from its parent. More...
 
virtual bool isInheritingAlpha () const
 Determine if the entity is inheriting alpha. More...
 
virtual void slot_alphaChanged (int alpha, DtUniqueID id)
 Slot so we can check if the parent's alpha has changed. More...
 
virtual void slot_entityToBeDeleted (int cigiEntityId)
 Connected to the signal raised by the entity manager when an entity is removed, this is used to insure that signals connected to an embarkation parent are managed correctly if/when that parent is deleted. More...
 
virtual void setGroundClampingOn (DtGroundClampingUpdater::GroundClampingMode clampType)
 Turns ground clamping on/off. More...
 
virtual
DtGroundClampingUpdater::GroundClampingMode 
groundClampingType () const
 Get the current ground clamping type. More...
 
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. More...
 
virtual bool getArtPartTranslation (int partId, DtVector &translation)
 Get the art part translation from a specified CIGI part id. More...
 
virtual void setArtPartOrientation (int partId, float yaw, float pitch, float roll, bool yawEnable, bool pitchEnable, bool rollEnable)
 Set the orientation of an articulated part. More...
 
virtual bool getArtPartOrientation (int partId, DtTaitBryan &orientation)
 Returns false if the part id is not found. More...
 
virtual void setArtPartLinearRate (int partId, float xRate, float yRate, float zRate)
 Set the linear rate of an articulated part. More...
 
virtual bool getArtPartLinearRate (int partId, DtVector &rate)
 Get the art part translation rate from a specified CIGI part id. More...
 
virtual bool getArtPartTranslationAndRate (int partId, DtVector &translation, DtVector &rate)
 Get the art part translation and rate from a specified CIGI part id. More...
 
virtual void setArtPartAngularRate (int partId, float yawRate, float pitchRate, float rollRate)
 Set the angular rate of an articulated part. More...
 
virtual bool getArtPartAngularRate (int partId, DtVector &rate)
 Returns false if the part id is not found. More...
 
virtual bool getArtPartOrientationAndRate (int partId, DtTaitBryan &orientation, DtVector &rate)
 Returns false if the part id is not found. More...
 
virtual void setArtPartEnable (int partId, bool trueFalse)
 Enable/disable an articulated part. More...
 
virtual DtSceneObjectAgent * findSceneObjectAgent ()
 
virtual void setRelativeTo (DtCigiBaseEntity *parent)
 Attachment control. More...
 
virtual void setRelativePosition (const DtVector &pos)
 Sets the entity's relative position (if attached). More...
 
virtual void setRelativeOrientation (const DtTaitBryan &orient)
 Sets the entity's relative orientation (relative to the parent's body coordinates) if attached. More...
 
virtual bool isEmbarked () const
 Determine if the entity is attached to a parent entity. More...
 
virtual int embarkedParentId () const
 Get the CIGI ID of the entity to which we are attached. More...
 
virtual const DtVectorrelativePosition () const
 Returns the last relative offset position. More...
 
virtual const DtTaitBryan & relativeOrientation () const
 Returns the last relative orientation. More...
 
virtual void addCollisionSegmentID (unsigned int segmentId)
 Methods for adding a removing collision segment IDs that are associated with this entity. More...
 
virtual void removeCollisionSegmentID (unsigned int segmentId)
 

Protected Attributes

DtParticleCollisionObjectModelAgent * myCollisionObjectModel
 
DtParticleCollisionObjectUpdaterAgent * myCollisionObjectUpdater
 
DtParticleCollisionObjectInfo myParticleCollisionObjectInfo
 
- 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
 
bool myExtendedEntityTypeOn
 
DtEntityType * myExtendedEntityType
 
DtCigiBaseEntitymyParent
 
int myEmbarkedParentID
 
bool myInheritAlpha
 
int myAlpha
 
bool myVisiblity
 
bool myPositionSet
 
bool myOrientationSet
 
std::map< int, DtTaitBryan > myLastArtPartOrientation
 
std::map< int, DtVectormyLastArtPartTranslation
 
std::map< int, DtVectormyArtPartAngularRate
 
std::map< int, DtVectormyArtPartLinearRate
 
std::list< unsigned intmyCollisionSegmentIdList
 List for Collision Detection Segment IDs from collision segment detection definition packets. More...
 
DtSignalConnectionManager mySignalConnections
 

Additional Inherited Members

- Public Types inherited from makVrv::DtCigiBaseEntity
enum  AnimationStateGroup { Stop = 0, Pause = 1, Play = 2, Continue = 3 }
 AnimationStateGroup in Cigi Order. More...
 
- Public Attributes inherited from makVrv::DtCigiBaseEntity
boost::signal< void(int,
DtUniqueID)> 
signal_alphaChanged
 Emitted when this entity's alpha has changed. More...
 
- Protected Member Functions inherited from makVrv::DtCigiBaseEntity
virtual void startDeadReckoning ()
 Create and set up Dead Reckoning updater. More...
 
virtual void endDeadReckoning ()
 Remove the Dead Reckoning updater. More...
 
virtual void startEmbarked ()
 Create and set up Embarkation updater. More...
 
virtual void endEmbarked ()
 Remove the Embarkation updater. More...
 
virtual void startGroundClamping ()
 Create and set up Ground Clamping updater; uses buildGroundClampingUpdater() to create the updater agents. More...
 
virtual void buildGroundClampingUpdater ()
 Create and intialize the ground clamping updater agents. More...
 
virtual void endGroundClamping ()
 Remove the Ground Clamping updater. More...
 
virtual bool isGroundClamping () const
 Returns false if ground clamping type is DtGroundClampingUpdater::ClampNone true otherwise. More...
 
virtual void getExtrapolatedValuesAndRestart ()
 Request position and orientation values from the render thread if this entity is dead reckoned. More...
 
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). More...
 
virtual void queryExtrapolatedPositionAndOrientation (DtUniqueID drAgentId, bool relative)
 This is the render thread-run method that collects dead reckoned position and orientation. More...
 
virtual void returnExtrapolatedPositionAndOrientation (const DtVector &resultPos, const DtTaitBryan &resultOri, bool relative, bool invokeRestart)
 This method returns the position and orientation collected from the render thread in the connection thread. More...
 
virtual DtDeadReckonUpdaterfindDRUpdaterInRenderThread (DtUniqueID drAgentId) const
 Helper function called by queryExtrapolatedPositionAndOrientation to look up the the dead reckon updater object given its agent id. More...
 

Detailed Description

A DtCigiParticleCollisionObjectEntity is a CIGI entity that spawns an exclusion volume that particles are not rendered in.

This entity must be created through Entity Control Packets, and attached or placed via Entity Position Packets (V4). A new entity schema "ParticleCollisionObject" was created for this class so that the cigi object factory knows to spawn this type of entity. This entity is currently mapped with a short entity type of 11000 in the default cigi mappings. The specifications for this entity, sphere ellipsoid, radaii, position offset come from the model definition file.

Constructor & Destructor Documentation

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

CTOR.

virtual makVrv::DtCigiParticleCollisionObjectEntity::~DtCigiParticleCollisionObjectEntity ( )
virtual

DTOR.

Member Function Documentation

virtual void makVrv::DtCigiParticleCollisionObjectEntity::init ( )
virtual

Initialiser Creates model and updater.

Reimplemented from makVrv::DtCigiBaseEntity.

virtual void makVrv::DtCigiParticleCollisionObjectEntity::uninit ( )
virtual

Uninitialiser.

Reimplemented from makVrv::DtCigiBaseEntity.

Member Data Documentation

DtParticleCollisionObjectModelAgent* makVrv::DtCigiParticleCollisionObjectEntity::myCollisionObjectModel
protected
DtParticleCollisionObjectUpdaterAgent* makVrv::DtCigiParticleCollisionObjectEntity::myCollisionObjectUpdater
protected
DtParticleCollisionObjectInfo makVrv::DtCigiParticleCollisionObjectEntity::myParticleCollisionObjectInfo
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)