![]() |
VR-Forces 4.7 Class Documentation
|
This class provides an abstract base class for CIGI entities. More...

Public Member Functions | |
| 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 | init () |
| Create the scene object used by the entity and report the entity element and its parameters. | |
| virtual void | uninit () |
| Destroy the scene object created in init(), any updaters created along the way, and report the element destroyed. | |
| virtual void | restart () |
| Calls uninit(), init(), and then restores dead reckoning, embarkation, etc. | |
| 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 void | setPosition (const DtGeodeticCoord &pos, bool force=false) |
| Set the entity's geodetic position. | |
| virtual const DtGeodeticCoord & | position () const |
| Returns the last position set by a CIGI entity control message. | |
| virtual const DtVector & | localPosition () const |
| Returns the last computed local position set. | |
| virtual void | setOrientation (const DtTaitBryan &orientation, bool force=false) |
| Set the entity's orientation. | |
| 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 DtVector & | linearRate () 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 DtVector & | angularRate () 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 | 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. | |
| virtual void | setGroundClampingOn (DtGroundClampingUpdater::GroundClampingMode clampType) |
| Turns ground clamping on/off. | |
| virtual DtGroundClampingUpdater::GroundClampingMode | groundClampingType () const |
| Get the current ground clamping type. | |
| 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 bool | getArtPartTranslation (int partId, int &mappedPartId, DtVector &translation) |
| Get the art part translation from a specified CIGI part id. | |
| 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 bool | getArtPartOrientation (int partId, int &mappedPartId, DtTaitBryan &orientation) |
| Returns false if the part id is not found. | |
| virtual void | setArtPartLinearRate (int partId, float xRate, float yRate, float zRate) |
| Set the linear rate of an articulated part. | |
| 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 void | setArtPartAngularRate (int partId, float yawRate, float pitchRate, float rollRate) |
| Set the angular rate of an articulated part. | |
| 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 void | setArtPartEnable (int partId, bool trueFalse) |
| Enable/disable an articulated part. | |
| 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. | |
Public Attributes | |
| boost::signal< void(int, DtUniqueID)> | signal_alphaChanged |
| Emitted when this entity's alpha has changed. | |
Protected Member Functions | |
| virtual void | startDeadReckoning () |
| Create and set up Dead Reckoning updater. | |
| virtual void | endDeadReckoning () |
| Remove the Dead Reckoning updater. | |
| virtual void | startEmbarked () |
| Create and set up Embarkation updater. | |
| virtual void | endEmbarked () |
| Remove the Embarkation updater. | |
| virtual void | startGroundClamping () |
| Create and set up Ground Clamping updater; uses buildGroundClampingUpdater() to create the updater agents. | |
| virtual void | buildGroundClampingUpdater () |
| Create and intialize the ground clamping updater agents. | |
| virtual void | endGroundClamping () |
| Remove the Ground Clamping updater. | |
| 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 (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. | |
| virtual DtDeadReckonUpdater * | findDRUpdaterInRenderThread (DtUniqueID drAgentId) const |
| Helper function called by queryExtrapolatedPositionAndOrientation to look up the the dead reckon updater object given its agent id. | |
This class provides an abstract base class for CIGI entities.
These are created by the DtCigiEntityVisualizer and updated as CIGI messages that pertain to entities are processed.
| makVrv::DtCigiBaseEntity::DtCigiBaseEntity | ( | DtCigiConnection & | connection, |
| DtAgentManagerInterface & | sceneInterface, | ||
| int | entityId, | ||
| int | entityType | ||
| ) |
Constructor takes a DtCigiConnection, scene interface, and the CIGI entity ID/type.
|
virtual |
Destructor.
|
virtual |
Returns the element ID of the entity's scene object.
Use of this method is deprecated; use elementId()
|
virtual |
Returns the element ID of the entity's scene object.
|
virtual |
Returns the CIGI Id of the CIGI entity.
|
virtual |
Create the scene object used by the entity and report the entity element and its parameters.
Reimplemented in makVrv::DtCigiWatercraftEntity, makVrv::DtCigiEntity, makVrv::DtCigiCharacterEntity, makVrv::DtCigiRibbonEntity, makVrv::DtCigiParticleSystemEntity, and makVrv::DtCigiAnimationEntity.
|
virtual |
Destroy the scene object created in init(), any updaters created along the way, and report the element destroyed.
Reimplemented in makVrv::DtCigiWatercraftEntity, makVrv::DtCigiEntity, makVrv::DtCigiCharacterEntity, makVrv::DtCigiWakeEntity, makVrv::DtCigiRibbonEntity, makVrv::DtCigiParticleSystemEntity, makVrv::DtCigiAnimationEntity, and makVrv::DtCigiRotorWashEntity.
|
virtual |
Calls uninit(), init(), and then restores dead reckoning, embarkation, etc.
If the entity is embarked, it will schedule restoration of embark state for the beginning of the next tick to ensure that the parent entity restoration is complete
Reimplemented in makVrv::DtCigiEntity, makVrv::DtCigiWatercraftEntity, makVrv::DtCigiCharacterEntity, makVrv::DtCigiParticleSystemEntity, makVrv::DtCigiAnimationEntity, and makVrv::DtCigiRotorWashEntity.
|
virtual |
This is called to request that the entity be restarted.
If not dead reckoned, restart() will be called immediately. Otherwise, the current position and orientation are requested from the render thread (and restart() will be called when those values are available.
Reimplemented in makVrv::DtCigiEntity.
|
virtual |
Get the entity type the entity was created with.
|
virtual |
Set whether the entity is visible.
Reimplemented in makVrv::DtCigiWakeEntity, and makVrv::DtCigiRotorWashEntity.
|
virtual |
Get the current visibility.
|
virtual |
Turns dead-reckoning on/off.
|
virtual |
Determine if the entity is ACTUALLY dead reckoning.
This is the logical && of its myDeadReckoningOn flag (which means that CIGI has requested that THIS entity be dead reckoned) and DtConnection::extrapolationEnabled(), which CIGI uses to globally allow or disallow dead reckoning
|
virtual |
Set the entity's geodetic position.
| [in] | pos | is the position set from the CIGI entity control message. |
| [in] | force | is a flag to force handling even if position has not changed. |
Reimplemented in makVrv::DtCigiWatercraftEntity, makVrv::DtCigiCharacterEntity, and makVrv::DtCigiWakeEntity.
|
virtual |
Returns the last position set by a CIGI entity control message.
|
virtual |
Returns the last computed local position set.
|
virtual |
Set the entity's orientation.
| [in] | orientation | is the orientation set from the CIGI entity control message. |
| [in] | force | is a flag to force handling even if orientation has not changed. |
Reimplemented in makVrv::DtCigiWatercraftEntity, makVrv::DtCigiCharacterEntity, and makVrv::DtCigiWakeEntity.
|
virtual |
Returns the last orientation set by a CIGI entity control message.
|
virtual |
Returns the computed last local orientation.
|
virtual |
Get the last computed geocentric orientation.
|
virtual |
Sets the entity's linear rate.
If useWorldCoordinates is set to true, sets the velocity according to the entity's rate with respect to the tangential reference plane of the entity. Otherwise, sets the velocity with respect to the entity's coordinate system.
Reimplemented in makVrv::DtCigiWakeEntity, and makVrv::DtCigiWatercraftEntity.
|
virtual |
Get the last set linear rate.
|
virtual |
Set's the entity's angular rate.
If useWorldCoordinates is set to true, sets the angular velocity with respect to the tangential reference plane of the entity. Otherwise, sets the velocity with respect to the entity's coordinate system.
|
virtual |
Get the last set angular rate.
|
virtual |
|
virtual |
Sets the entity's relative position (if attached).
Reimplemented in makVrv::DtCigiWakeEntity.
|
virtual |
Sets the entity's relative orientation (relative to the parent's body coordinates) if attached.
Reimplemented in makVrv::DtCigiWakeEntity.
|
virtual |
Determine if the entity is attached to a parent entity.
|
virtual |
Get the CIGI ID of the entity to which we are attached.
|
virtual |
Called when IG-wide extrapolation is turned on or off.
Stops the entity from dead reckoning if it currently is (but remembers if it was) and turns dead reckoning on if the entity has requested dead reckoning and it becomes allowed again
|
virtual |
Sets the entity's alpha value.
|
virtual |
Returns the entity's alpha value.
This needs to be checked if the entity is inheriting its parent's alpha.
|
virtual |
Set whether the entity should inherit alpha from its parent.
|
virtual |
Determine if the entity is inheriting alpha.
|
virtual |
Slot so we can check if the parent's alpha has changed.
|
virtual |
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.
|
virtual |
Turns ground clamping on/off.
|
virtual |
Get the current ground clamping type.
|
virtual |
Set the relative position of an articulated part.
Reimplemented in makVrv::DtCigiCharacterEntity, and makVrv::DtCigiEntity.
|
virtual |
Get the art part translation from a specified CIGI part id.
Returns false if the part id is not found.
|
virtual |
Set the orientation of an articulated part.
Reimplemented in makVrv::DtCigiCharacterEntity, and makVrv::DtCigiEntity.
|
virtual |
Returns false if the part id is not found.
|
virtual |
Set the linear rate of an articulated part.
Reimplemented in makVrv::DtCigiCharacterEntity, and makVrv::DtCigiEntity.
|
virtual |
Get the art part translation rate from a specified CIGI part id.
Returns false if the part id is not found.
|
virtual |
Get the art part translation and rate from a specified CIGI part id.
Returns false if the part id is not found.
|
virtual |
Set the angular rate of an articulated part.
Reimplemented in makVrv::DtCigiCharacterEntity, and makVrv::DtCigiEntity.
|
virtual |
Returns false if the part id is not found.
|
virtual |
Returns false if the part id is not found.
Enable/disable an articulated part.
Reimplemented in makVrv::DtCigiCharacterEntity, and makVrv::DtCigiEntity.
|
virtual |
|
protectedvirtual |
Create and set up Dead Reckoning updater.
Reimplemented in makVrv::DtCigiCharacterEntity, and makVrv::DtCigiWatercraftEntity.
|
protectedvirtual |
Remove the Dead Reckoning updater.
Reimplemented in makVrv::DtCigiCharacterEntity, and makVrv::DtCigiWatercraftEntity.
|
protectedvirtual |
Create and set up Embarkation updater.
Reimplemented in makVrv::DtCigiCharacterEntity, and makVrv::DtCigiWatercraftEntity.
|
protectedvirtual |
Remove the Embarkation updater.
Reimplemented in makVrv::DtCigiCharacterEntity, and makVrv::DtCigiWatercraftEntity.
|
protectedvirtual |
Create and set up Ground Clamping updater; uses buildGroundClampingUpdater() to create the updater agents.
Reimplemented in makVrv::DtCigiCharacterEntity.
|
protectedvirtual |
Create and intialize the ground clamping updater agents.
|
protectedvirtual |
Remove the Ground Clamping updater.
Reimplemented in makVrv::DtCigiCharacterEntity.
|
protectedvirtual |
Returns false if ground clamping type is DtGroundClampingUpdater::ClampNone true otherwise.
|
protectedvirtual |
Request position and orientation values from the render thread if this entity is dead reckoned.
Reimplemented in makVrv::DtCigiEntity.
|
protectedvirtual |
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).
This is the slot called when the attached-to boost signal preTick is raised. It detaches from the signal and then calls startEkbarked().
|
protectedvirtual |
This is the render thread-run method that collects dead reckoned position and orientation.
It is queued as a 'driver' function if the CIGI connection is running in its own thread
|
protectedvirtual |
This method returns the position and orientation collected from the render thread in the connection thread.
If the CIGI connection is running in its own thread, then queryExtrapolatedPositionAndOrientation() will queue this as a 'connection' function. If invokeRestart is true, then restart() will be called when before this function returns
|
protectedvirtual |
Helper function called by queryExtrapolatedPositionAndOrientation to look up the the dead reckon updater object given its agent id.
| boost::signal<void (int, DtUniqueID)> makVrv::DtCigiBaseEntity::signal_alphaChanged |
Emitted when this entity's alpha has changed.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |