VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | Friends
DtSimObject Class Reference

Represents a single simulation object in the exercise. Object may be VRF simulation, or non-VRF simulated, and may be simulated by the local sim engine, or by a remote sim engine. Only public (external) state of the object is available. All data is read-only. All access to data of the object is thread safe within the simulation frame.

Related Examples
Inheritance diagram for DtSimObject:
Inheritance graph
[legend]

Classes

struct  ExtentInformation
 

Public Member Functions

 DtSimObject (const DtSimulationServices *simManager, const DtUUID &uuid)
 
 DtSimObject (const DtSimulationServices *simManager, const DtEntityIdentifier &id)
 
 DtSimObject (const DtSimulationServices *simManager, const makVrf::DtExternalCurrentFrameState *)
 
virtual ~DtSimObject ()
 
DtSimObjectoperator= (const DtUUID &)
 
DtSimObjectoperator= (const DtSimObject &rhs)
 
bool operator== (const DtUUID &rhs) const
 
bool operator== (const DtSimObject &rhs) const
 
bool operator!= (const DtUUID &rhs) const
 
bool operator!= (const DtSimObject &rhs) const
 
const DtUUIDuuid () const
 
const DtStringobjectName () const
 
DtString label () const
 
DtEntityType entityType () const
 
DtObjectType objectType () const
 
bool isClutterEntity () const
 
makVrf::DtVrfObjectGeometry objectGeometry () const
 
Dt3dBoundingVolume boundingVolume () const
 
DtVector localBoundingVolumeCenterPosition () const
 
DtExtent extent () const
 
DtExtent roughExtent () const
 
void expandExtent (DtExtent &extent) const
 
const makVrf::DtIffStateComponentiffStateComponent () const
 
std::vector< const
makVrf::DtLaserDesignatorStateComponent * > 
laserDesignatorStateComponents () const
 
template<typename T_Component >
const T_Component * getStateComponent () const
 
template<typename T_Component >
std::vector< const T_Component * > getStateComponentList () const
 
template<typename T_Component >
bool hasStateComponent () const
 
virtual bool isLocal () const
 
DtForceType forceType () const
 
const DtEntityIdentifier & entityId () const
 
const DtEntityIdentifier & objectIdentifier () const
 
bool isDestroyed () const
 
int damageState () const
 
const DtStringglobalId () const
 
const DtPlatformSimObjectFacadeplatformSimObjectFacade () const
 
const
DtVrfSimulatedSimObjectFacade
vrfSimulatedSimObjectFacade () const
 
bool isEntityOrUnit () const
 
bool isSimulatedObject () const
 
bool isEntity () const
 
bool isValid () const
 
int sessionId () const
 
bool isVrfSimulatedObject () const
 
bool isOnTopOf (const DtSimObject *o) const
 
bool isOnTopOf (const DtSimObject *o, double d) const
 
bool isOnTopOf (const DtSimObject *o, double d, const DtVector &position) const
 
bool isDeleted () const
 
virtual
DtVrfLocalObjectCreateInformation 
vrfLocalObjectCreateInformation () const
 
virtual void makeInvalid ()
 
const DtSimulationServicessimulationServices () const
 
const DtVrfObjectParametersparameters () const
 
DtVrfObjectParametersduplicateParameters ()
 
double totalMass () const
 
const Coordinate_SystemcoordinateSystem () const
 
const DtLocalVertexListlocalVertices () const
 
const DtVertexListworldVertices () const
 
const DtLocalVertexListrelativeVertices () const
 
DtVector locationRelativeTo (const DtVector &, const DtSimObject *relativeTo) const
 
DtVector velocityRelativeTo (const DtVector &, const DtSimObject *relativeTo) const
 
DtVector accelerationRelativeTo (const DtVector &, const DtSimObject *relativeTo) const
 
DtTaitBryan orientationRelativeTo (const DtTaitBryan &, const DtSimObject *relativeTo) const
 
const DtRwPropertiesparameterProperties () const
 
double distanceToLocalVector (const DtVector &) const
 
DtSimObjectReference simObjectReference () const
 
unsigned long long legionGlobalId () const
 
DtString awaiting () const
 
bool advancedFrame () const
 
DtSimObjectReference superior () const
 
DtUUID superiorUUID () const
 
const DtSimObjectReferenceListattachments () const
 
bool isTopLevel () const
 
MAKVRinTerra::DtFeatureGeometry featureGeometry () const
 
const DtAttachedTerrainterrainAttachedTo () const
 
const
makVrf::DtSimulatedObjectStateComponent
currentFrameSimulatedObjectStateComponent () const
 
const
makVrf::DtLocationStateComponent
currentFrameLocationStateComponent () const
 
const
makVrf::DtVrfGeometryStateComponent
currentFrameVrfGeometryStateComponent () const
 
const
makVrf::DtEntityStateComponent
currentFrameEntityStateComponent () const
 
const makVrf::DtVrfStateComponentcurrentFrameVrfStateComponent () const
 
makVrf::DtRwVrfKinematicState kinematicState () const
 
const DtVectorworldPosition () const
 
const DtVectorlocalPosition () const
 
const DtVectorparentPosition () const
 
double distSquaredTo (const DtVector &) const
 
bool hasLocationChanged () const
 
bool objectVerticesChanged () const
 
bool worldVerticesChanged () const
 
bool haveVerticesChanged () const
 
virtual void frameAdvanced ()
 
virtual void firstFrameAdvance ()
 
const DtTaitBryan & topographicOrientation () const
 
const DtTaitBryan & worldOrientation () const
 
const DtTaitBryan & localOrientation () const
 
const DtTaitBryan & parentOrientation () const
 
const DtTaitBryan & localOrientationWrtDatabase () const
 
const DtDcm & localOrientationMatrix () const
 
const DtDcm & parentOrientationMatrix () const
 
const DtDcm & worldOrientationMatrix () const
 
double heading () const
 
double pitch () const
 
double roll () const
 
bool isUnit () const
 
bool isEmbarked () const
 
bool embarkedOnHighFidelityObject () const
 
DtUUID embarkedOn () const
 
DtSimObjectReference simObjectEmbarkedOn () const
 
bool isEmbarkedOn (const DtUUID &) const
 
virtual void clearDecorators ()
 
DtSimObjectDecoratorgetOrCreateDecorator (const std::string &Decorator) const
 
VRF4API_METHOD const DtSimObjectvrfState ()
 
VRF4API_METHOD const DtSimObjectvrfState () const
 
VRF4API_METHOD const DtSimObjectsimState ()
 
VRF4API_METHOD const DtSimObjectsimState () const
 
VRF4API_METHOD bool operator== (const DtSimObject *rhs) const
 
VRF4API_METHOD const
DtSimulationServices
simManager () const
 
VRF4API_METHOD
DtSimulationServices
simManager ()
 
VRF4API_METHOD
makVrf::DtVrfObjectGeometry 
vrfObjectGeometry () const
 
VRF4API_METHOD const
DtPhysicalWorld
physicalWorld () const
 
VRF4API_METHOD DtSimObjectReference sharedReference () const
 
VRF4API_METHOD const
DtVrfObjectParameters
parameterEntry () const
 
VRF4API_METHOD const
DtSimObjectManager
simObjectManager () const
 
VRF4API_METHOD DtSimObjectReference vrfObject () const
 
VRF4API_METHOD DtSimObjectReference parent () const
 
VRF4API_METHOD double currentHeading () const
 
VRF4API_METHOD double currentPitch () const
 
VRF4API_METHOD double currentRoll () const
 
VRF4API_METHOD const DtStringmarkingText () const
 
VRF4API_METHOD bool isSpatiallyFrozen () const
 
VRF4API_METHOD bool isFrozen () const
 
VRF4API_METHOD double speed () const
 
VRF4API_METHOD double forwardSpeed () const
 
VRF4API_METHOD DtVector worldVelocity () const
 
VRF4API_METHOD DtVector localVelocity () const
 
VRF4API_METHOD DtVector bodyVelocity () const
 
VRF4API_METHOD DtVector relativeVelocity () const
 
VRF4API_METHOD DtVector parentVelocity () const
 
VRF4API_METHOD DtVector rotationalVelocity () const
 
VRF4API_METHOD DtVector worldAcceleration () const
 
VRF4API_METHOD DtVector localAcceleration () const
 
VRF4API_METHOD DtVector relativeAcceleration () const
 

Public Attributes

boost::signals2::signal< void()> signal_objectVerticesChanged
 
boost::signals2::signal< void(const
DtSimObject *)> 
signal_extendedDataUpdated
 
boost::signals2::signal< void(const
DtSimObject *)> 
signal_simObjectDeleted
 
boost::signals2::signal< void(const
DtSimObject *, const DtString &)> 
signal_discoveredReference
 
boost::signals2::signal< void(const
DtUUID &oldUUID, const DtUUID
&newUUID)> 
signal_uuidChanged
 
boost::signals2::signal< void(const
DtSimObject *, const DtString
&oldName, const DtString
&newName)> 
signal_objectRenamed
 
boost::signals2::signal< void(const
DtSimObject *, const DtUUID
&oldSuperior, const DtUUID
&newSuperior)> 
signal_superiorChanged
 
boost::signals2::signal< void(const
DtSimObject *)> 
signal_isClutterChanged
 
boost::signals2::signal< void()> signal_advancedFrame
 
boost::signals2::signal< void()> signal_firstFrameAdvance
 

Protected Member Functions

void tickDecorators ()
 
void cacheComponents ()
 
void clearCachedComponents ()
 
virtual void createNavigationDecorator ()
 
void stateDataAdded (makVrf::DtStateData *)
 
virtual void setupVrfObjectParameters ()
 
virtual void setUUID (const DtUUID &)
 
bool checkAndConnectForVrfStateComponent ()
 
void uuidChanged (const DtUUID &, const DtUUID &)
 
void objectNameChanged (const DtString &oldText, const DtString &newText)
 
void attachmentsChanged ()
 
virtual void completeSetup ()
 
void extendedDataUpdated ()
 
void superiorChanged ()
 
virtual void isClutterChanged ()
 
virtual void hostChanged (const DtUUID &oldHost, const DtUUID &newHost)
 
virtual void usingParameterSource (const DtString &)
 
virtual void externalFrameStateToBeDestroyed ()
 

Protected Attributes

const DtSimulationServicesmySimulationServices
 
const
makVrf::DtExternalCurrentFrameState
myExternalCurrentFrameState
 
boost::signals2::scoped_connection myDeletedConnection
 
boost::signals2::scoped_connection myAddedConnection
 
boost::signals2::scoped_connection myUUIDChangedConnection
 
boost::signals2::scoped_connection myObjectNameChangedConnection
 
boost::signals2::scoped_connection myExtendedDataUpdatedConnection
 
boost::signals2::scoped_connection myFirstFrameAdvancedConnection
 
boost::signals2::scoped_connection mySuperiorChangedConnection
 
boost::signals2::scoped_connection myAdvancedFrameConnection
 
boost::signals2::scoped_connection myIsClutterChangedConnection
 
ExtentInformation myExtentInformation
 
DtNavigationSimObjectDecoratormyNavigationSimDecorator = nullptr
 
DtString myAwaiting
 
DtUUID myUUID
 
unsigned long long myLegionGlobalId
 
const DtVrfObjectParametersmyParameters
 
DtVrfObjectParametersmyDuplicateParameters
 
bool myIsDeleted
 
DtString myObjectName
 
DtObjectType myEntityType
 
DtSimObjectReferenceListmyAttachments
 
boost::signals2::scoped_connection myAttachmentsChangedConnection
 
DtSimObjectReference mySuperior
 
bool myAdvancedFrame
 
DtSimObjectReference mySimObjectReference
 
tbb::spin_rw_mutex mySimObjectReferenceMutex
 
DtAttachedTerrainmyTerrainAttachedTo
 
boost::signals2::scoped_connection myHostChangedConnection
 
tbb::spin_rw_mutex myExternalCurrentFrameStateMutex
 
DtUUID myEmbarkedOn
 
const
makVrf::DtSimulatedObjectStateComponent
myCurrentFrameSimulatedObjectStateComponent
 
const makVrf::DtVrfStateComponentmyCurrentFrameVrfStateComponent
 
const
makVrf::DtEntityStateComponent
myCurrentFrameEntityStateComponent
 
const
makVrf::DtLocationStateComponent
myCurrentFrameLocationStateComponent
 
const
makVrf::DtVrfGeometryStateComponent
myCurrentFrameVrfGeometryStateComponent
 
bool myCachedComponents
 
DtAggregateSimObjectFacademyAggregateSimObjectFacade
 
DtPlatformSimObjectFacademyPlatformSimObjectFacade
 
DtVrfSimulatedSimObjectFacademyVrfSimulatedSimObjectFacade
 

Private Member Functions

 DtSimObject ()
 
 DtSimObject (const DtSimObject &)
 
void resetUUID (const DtUUID &)
 

Friends

class DtSimObjectManager
 
typedef std::map< std::string,
DtSimObjectDecorator * > 
SimObjectDecorators
 
SimObjectDecorators mySimObjectDecorators
 
tbb::spin_rw_mutex mySimObjectDecoratorMutex
 

Member Typedef Documentation

typedef std::map<std::string, DtSimObjectDecorator*> DtSimObject::SimObjectDecorators
protected

Decorator members.

Constructor & Destructor Documentation

DtSimObject::DtSimObject ( )
private

Creates an empty (invalid) object.

DtSimObject::DtSimObject ( const DtSimObject )
private
DtSimObject::DtSimObject ( const DtSimulationServices simManager,
const DtUUID uuid 
)
explicit

CTOR – Even though this takes a state data it will not keep a reference to that state data. It is only used to keep the pointer to the current frame state.

DtSimObject::DtSimObject ( const DtSimulationServices simManager,
const DtEntityIdentifier &  id 
)
explicit
DtSimObject::DtSimObject ( const DtSimulationServices simManager,
const makVrf::DtExternalCurrentFrameState  
)
explicit
virtual DtSimObject::~DtSimObject ( )
virtual

DTOR.

Member Function Documentation

DtSimObject& DtSimObject::operator= ( const DtUUID )
DtSimObject& DtSimObject::operator= ( const DtSimObject rhs)
inline

References operator=(), and uuid().

Referenced by operator=().

bool DtSimObject::operator== ( const DtUUID rhs) const
bool DtSimObject::operator== ( const DtSimObject rhs) const
inline

References uuid().

bool DtSimObject::operator!= ( const DtUUID rhs) const
inline
bool DtSimObject::operator!= ( const DtSimObject rhs) const
inline
const DtUUID& DtSimObject::uuid ( ) const

@ Convenience accessors for various pieces of state Data

Referenced by operator=(), and operator==().

const DtString& DtSimObject::objectName ( ) const
DtString DtSimObject::label ( ) const
DtEntityType DtSimObject::entityType ( ) const
DtObjectType DtSimObject::objectType ( ) const
bool DtSimObject::isClutterEntity ( ) const

Appearance attribute information.

makVrf::DtVrfObjectGeometry DtSimObject::objectGeometry ( ) const

Geometry.

Dt3dBoundingVolume DtSimObject::boundingVolume ( ) const
DtVector DtSimObject::localBoundingVolumeCenterPosition ( ) const
DtExtent DtSimObject::extent ( ) const
DtExtent DtSimObject::roughExtent ( ) const

Little bit bigger bounding box than extent() might give.

void DtSimObject::expandExtent ( DtExtent extent) const
const makVrf::DtIffStateComponent* DtSimObject::iffStateComponent ( ) const

Associated components.

std::vector<const makVrf::DtLaserDesignatorStateComponent*> DtSimObject::laserDesignatorStateComponents ( ) const
template<typename T_Component >
const T_Component* DtSimObject::getStateComponent ( ) const
inline

General call to get any component that does not have a method.

template<typename T_Component >
std::vector<const T_Component*> DtSimObject::getStateComponentList ( ) const
inline
template<typename T_Component >
bool DtSimObject::hasStateComponent ( ) const
inline
makVrf::DtRwVrfKinematicState DtSimObject::kinematicState ( ) const

Overall kinematic state.

const DtVector& DtSimObject::worldPosition ( ) const

TSP information Position.

const DtVector& DtSimObject::localPosition ( ) const

Overall kinematic state.

const DtVector& DtSimObject::parentPosition ( ) const

Overall kinematic state.

double DtSimObject::distSquaredTo ( const DtVector ) const

Overall kinematic state.

bool DtSimObject::hasLocationChanged ( ) const

In the last frame update, did the location of this object change.

bool DtSimObject::objectVerticesChanged ( ) const

Whether or not (if this is a multi point object) the body (object) vertices have changed (meaning has the user edited the vertices)

bool DtSimObject::worldVerticesChanged ( ) const

Whether or not the vertices of the object have changed from their last frame world positions. This can happen if the object is embarked and the host object has moved, or, if the user has edited the vertices.

bool DtSimObject::haveVerticesChanged ( ) const

Returns true if object or world vertices have changed.

virtual void DtSimObject::frameAdvanced ( )
virtual

Overall kinematic state.

virtual void DtSimObject::firstFrameAdvance ( )
virtual

Overall kinematic state.

const DtTaitBryan& DtSimObject::topographicOrientation ( ) const

Orientation.

const DtTaitBryan& DtSimObject::worldOrientation ( ) const

Overall kinematic state.

const DtTaitBryan& DtSimObject::localOrientation ( ) const

Overall kinematic state.

const DtTaitBryan& DtSimObject::parentOrientation ( ) const

Overall kinematic state.

const DtTaitBryan& DtSimObject::localOrientationWrtDatabase ( ) const

Overall kinematic state.

const DtDcm& DtSimObject::localOrientationMatrix ( ) const

Overall kinematic state.

const DtDcm& DtSimObject::parentOrientationMatrix ( ) const

Overall kinematic state.

const DtDcm& DtSimObject::worldOrientationMatrix ( ) const

Overall kinematic state.

double DtSimObject::heading ( ) const

Overall kinematic state.

double DtSimObject::pitch ( ) const

Overall kinematic state.

double DtSimObject::roll ( ) const

Overall kinematic state.

virtual bool DtSimObject::isLocal ( ) const
virtual

Returns true if this object is a locally simulated object.

Reimplemented in DtLocalObject.

DtForceType DtSimObject::forceType ( ) const

The force type of this object.

const DtEntityIdentifier& DtSimObject::entityId ( ) const

DIS object identifier.

const DtEntityIdentifier& DtSimObject::objectIdentifier ( ) const
inline
bool DtSimObject::isDestroyed ( ) const

Convenience method to see if this object is destroyed. Is not applicable to all object types (e.g. tactical graphics)

int DtSimObject::damageState ( ) const
const DtString& DtSimObject::globalId ( ) const
bool DtSimObject::isUnit ( ) const

Unit specific information Returns true if this object has a DtAggregateStateComponent.

const DtPlatformSimObjectFacade& DtSimObject::platformSimObjectFacade ( ) const

Convenience return. Check for nullptr as this is only valid after the first advance frame of this object.

const DtVrfSimulatedSimObjectFacade& DtSimObject::vrfSimulatedSimObjectFacade ( ) const

Convenience return. Check for nullptr as this is only valid after the first advance frame of this object.

bool DtSimObject::isEntityOrUnit ( ) const

Returns true if this object does not have the environmental state component.

bool DtSimObject::isSimulatedObject ( ) const
inline
bool DtSimObject::isEntity ( ) const

Returns true if this object does not have the environmental state or aggregate state component.

bool DtSimObject::isEmbarked ( ) const

Embarkation status.

bool DtSimObject::embarkedOnHighFidelityObject ( ) const

Embarkation status.

DtUUID DtSimObject::embarkedOn ( ) const

If embarked, the parent this object is embarked on.

DtSimObjectReference DtSimObject::simObjectEmbarkedOn ( ) const

Embarkation status.

bool DtSimObject::isEmbarkedOn ( const DtUUID ) const

Embarkation status.

bool DtSimObject::isValid ( ) const

Returns true if myExternalCurrentFrameState is not nullptr. Not virtual on purpose as even though local object subclasses from this, this only wants to check if the read portion is valid.

Referenced by DtLocalObject::addStateComponent().

int DtSimObject::sessionId ( ) const
bool DtSimObject::isVrfSimulatedObject ( ) const
bool DtSimObject::isOnTopOf ( const DtSimObject o) const
bool DtSimObject::isOnTopOf ( const DtSimObject o,
double  d 
) const

Calls isOnTopOf with localPosition()

bool DtSimObject::isOnTopOf ( const DtSimObject o,
double  d,
const DtVector position 
) const
bool DtSimObject::isDeleted ( ) const

Returns true if this object was valid and has since been deleted.

virtual DtVrfLocalObjectCreateInformation DtSimObject::vrfLocalObjectCreateInformation ( ) const
virtual

Enough information to create an object list this as a local object.

virtual void DtSimObject::makeInvalid ( )
virtual

Make this invalid by clearing the myExternalCurrentFrameState. This will also set the myIsDeleted flag to true.

Reimplemented in DtLocalObject.

const DtSimulationServices* DtSimObject::simulationServices ( ) const
inline
const DtVrfObjectParameters* DtSimObject::parameters ( ) const
inline

VR-Forces parameters.

DtVrfObjectParameters* DtSimObject::duplicateParameters ( )

This call is not thread safe. Only call outside of component ticks when you want do duplicate the parameters to be able to modify them for this object only. This is used by the remote attachment system. Once created this will replace the myParameters.

double DtSimObject::totalMass ( ) const

Will look up unit specific data for mass.

const Coordinate_System* DtSimObject::coordinateSystem ( ) const
const DtLocalVertexList& DtSimObject::localVertices ( ) const
const DtVertexList& DtSimObject::worldVertices ( ) const
const DtLocalVertexList& DtSimObject::relativeVertices ( ) const
DtVector DtSimObject::locationRelativeTo ( const DtVector ,
const DtSimObject relativeTo 
) const

Given the local position vector, return a location that is relative to this entity given that position (in parent coordinates)

DtVector DtSimObject::velocityRelativeTo ( const DtVector ,
const DtSimObject relativeTo 
) const

Given the local velocity vector, return a velocity that is relative to this entity given that velocity (in parent coordinates)

DtVector DtSimObject::accelerationRelativeTo ( const DtVector ,
const DtSimObject relativeTo 
) const

Given the local acceleration vector, return an acceleration that is relative to this entity given that acceleration (in parent coordinates)

DtTaitBryan DtSimObject::orientationRelativeTo ( const DtTaitBryan &  ,
const DtSimObject relativeTo 
) const

Given the local orientation vector, return an orientation that is relative to this entity given that orientation (in parent coordinates)

const DtRwProperties& DtSimObject::parameterProperties ( ) const

Since this is a function of the object parameters, this will always return a value whether or not this is vrf simulated.

double DtSimObject::distanceToLocalVector ( const DtVector ) const

Returns the distance from this objects local distance to the given local vector.

DtSimObjectReference DtSimObject::simObjectReference ( ) const

Returns the original instance to this state data by looking up the legion global id in the state data manager.

unsigned long long DtSimObject::legionGlobalId ( ) const

The internal legion global id that this object represents.

DtString DtSimObject::awaiting ( ) const
inline

If awaiting, who awaiting for.

bool DtSimObject::advancedFrame ( ) const
inline

Will be true if this object has advanced at least one frame.

DtSimObjectReference DtSimObject::superior ( ) const
DtUUID DtSimObject::superiorUUID ( ) const
const DtSimObjectReferenceList& DtSimObject::attachments ( ) const
bool DtSimObject::isTopLevel ( ) const

Convenience method to see if this is a top level object. It is if it is local and the entity type is DtTopLevelEntityType.

MAKVRinTerra::DtFeatureGeometry DtSimObject::featureGeometry ( ) const

Compute DtFeatureGeometry representation of object geometry.

const DtAttachedTerrain* DtSimObject::terrainAttachedTo ( ) const
virtual void DtSimObject::clearDecorators ( )
virtual

This code will keep track of DtSimObject decorator only. The DtLocalObject will be able to use this decorator, however, it will also keep a "next frame" decorator for the decorator that only works on DtLocalObject.

Reimplemented in DtLocalObject.

DtSimObjectDecorator* DtSimObject::getOrCreateDecorator ( const std::string &  Decorator) const

This will get or create a decorator based on the decorator name. This is not virtual such that the DtLocalObject can implement its own version. DO NOT delete this returned pointer. This class owns the decorator.

const makVrf::DtSimulatedObjectStateComponent* DtSimObject::currentFrameSimulatedObjectStateComponent ( ) const
inline
const makVrf::DtLocationStateComponent* DtSimObject::currentFrameLocationStateComponent ( ) const
inline
const makVrf::DtVrfGeometryStateComponent* DtSimObject::currentFrameVrfGeometryStateComponent ( ) const
inline
const makVrf::DtEntityStateComponent* DtSimObject::currentFrameEntityStateComponent ( ) const
inline
const makVrf::DtVrfStateComponent* DtSimObject::currentFrameVrfStateComponent ( ) const
inline
void DtSimObject::tickDecorators ( )
protected
void DtSimObject::cacheComponents ( )
protected
void DtSimObject::clearCachedComponents ( )
protected
virtual void DtSimObject::createNavigationDecorator ( )
protectedvirtual

Reimplemented in DtLocalObject.

void DtSimObject::stateDataAdded ( makVrf::DtStateData )
protected
virtual void DtSimObject::setupVrfObjectParameters ( )
protectedvirtual

Reimplemented in DtLocalObject.

virtual void DtSimObject::setUUID ( const DtUUID )
protectedvirtual

Reimplemented in DtLocalObject.

bool DtSimObject::checkAndConnectForVrfStateComponent ( )
protected
void DtSimObject::uuidChanged ( const DtUUID ,
const DtUUID  
)
protected
void DtSimObject::objectNameChanged ( const DtString oldText,
const DtString newText 
)
protected
void DtSimObject::attachmentsChanged ( )
protected
virtual void DtSimObject::completeSetup ( )
protectedvirtual

Reimplemented in DtLocalObject.

void DtSimObject::extendedDataUpdated ( )
protected
void DtSimObject::superiorChanged ( )
protected
virtual void DtSimObject::isClutterChanged ( )
protectedvirtual

Reimplemented in DtLocalObject.

virtual void DtSimObject::hostChanged ( const DtUUID oldHost,
const DtUUID newHost 
)
protectedvirtual

Reimplemented in DtLocalObject.

virtual void DtSimObject::usingParameterSource ( const DtString )
protectedvirtual

Called when the parameter is set up, this is the source it is using.

Reimplemented in DtLocalObject.

virtual void DtSimObject::externalFrameStateToBeDestroyed ( )
protectedvirtual
void DtSimObject::resetUUID ( const DtUUID )
private

Called only when the original UUID has changed. If this already has a pointer to the external state will only set the new UUID, else it will try and look up the new data. This is not thread safe, so, make sure to only call in a way that you know will not cause threading issues.

VRF4API_METHOD const DtSimObject* DtSimObject::vrfState ( )

This is the deprecated API that can be used as a reference to migrate 4.X code to 5.X. Please refer to the simObject.inl file for a reference as to how you can do this.

VRF4API_METHOD const DtSimObject* DtSimObject::vrfState ( ) const

This is the deprecated API that can be used as a reference to migrate 4.X code to 5.X. Please refer to the simObject.inl file for a reference as to how you can do this.

VRF4API_METHOD const DtSimObject* DtSimObject::simState ( )

This is the deprecated API that can be used as a reference to migrate 4.X code to 5.X. Please refer to the simObject.inl file for a reference as to how you can do this.

VRF4API_METHOD const DtSimObject* DtSimObject::simState ( ) const

This is the deprecated API that can be used as a reference to migrate 4.X code to 5.X. Please refer to the simObject.inl file for a reference as to how you can do this.

VRF4API_METHOD bool DtSimObject::operator== ( const DtSimObject rhs) const
inline

This is the deprecated API that can be used as a reference to migrate 4.X code to 5.X. Please refer to the simObject.inl file for a reference as to how you can do this.

References uuid().

VRF4API_METHOD const DtSimulationServices* DtSimObject::simManager ( ) const

This is the deprecated API that can be used as a reference to migrate 4.X code to 5.X. Please refer to the simObject.inl file for a reference as to how you can do this.

VRF4API_METHOD DtSimulationServices* DtSimObject::simManager ( )

This is the deprecated API that can be used as a reference to migrate 4.X code to 5.X. Please refer to the simObject.inl file for a reference as to how you can do this.

VRF4API_METHOD makVrf::DtVrfObjectGeometry DtSimObject::vrfObjectGeometry ( ) const

This is the deprecated API that can be used as a reference to migrate 4.X code to 5.X. Please refer to the simObject.inl file for a reference as to how you can do this.

VRF4API_METHOD const DtPhysicalWorld* DtSimObject::physicalWorld ( ) const

This is the deprecated API that can be used as a reference to migrate 4.X code to 5.X. Please refer to the simObject.inl file for a reference as to how you can do this.

VRF4API_METHOD DtSimObjectReference DtSimObject::sharedReference ( ) const
inline

This is the deprecated API that can be used as a reference to migrate 4.X code to 5.X. Please refer to the simObject.inl file for a reference as to how you can do this.

VRF4API_METHOD const DtVrfObjectParameters* DtSimObject::parameterEntry ( ) const

This is the deprecated API that can be used as a reference to migrate 4.X code to 5.X. Please refer to the simObject.inl file for a reference as to how you can do this.

VRF4API_METHOD const DtSimObjectManager* DtSimObject::simObjectManager ( ) const

This is the deprecated API that can be used as a reference to migrate 4.X code to 5.X. Please refer to the simObject.inl file for a reference as to how you can do this.

VRF4API_METHOD DtSimObjectReference DtSimObject::vrfObject ( ) const

This is the deprecated API that can be used as a reference to migrate 4.X code to 5.X. Please refer to the simObject.inl file for a reference as to how you can do this.

VRF4API_METHOD DtSimObjectReference DtSimObject::parent ( ) const

This is the deprecated API that can be used as a reference to migrate 4.X code to 5.X. Please refer to the simObject.inl file for a reference as to how you can do this.

VRF4API_METHOD double DtSimObject::currentHeading ( ) const

This is the deprecated API that can be used as a reference to migrate 4.X code to 5.X. Please refer to the simObject.inl file for a reference as to how you can do this.

VRF4API_METHOD double DtSimObject::currentPitch ( ) const

This is the deprecated API that can be used as a reference to migrate 4.X code to 5.X. Please refer to the simObject.inl file for a reference as to how you can do this.

VRF4API_METHOD double DtSimObject::currentRoll ( ) const

This is the deprecated API that can be used as a reference to migrate 4.X code to 5.X. Please refer to the simObject.inl file for a reference as to how you can do this.

VRF4API_METHOD const DtString& DtSimObject::markingText ( ) const

This is the deprecated API that can be used as a reference to migrate 4.X code to 5.X. Please refer to the simObject.inl file for a reference as to how you can do this.

VRF4API_METHOD bool DtSimObject::isSpatiallyFrozen ( ) const

This is the deprecated API that can be used as a reference to migrate 4.X code to 5.X. Please refer to the simObject.inl file for a reference as to how you can do this.

VRF4API_METHOD bool DtSimObject::isFrozen ( ) const

This is the deprecated API that can be used as a reference to migrate 4.X code to 5.X. Please refer to the simObject.inl file for a reference as to how you can do this.

VRF4API_METHOD double DtSimObject::speed ( ) const

Velocity.

VRF4API_METHOD double DtSimObject::forwardSpeed ( ) const
Returns
The current forward component of the entity's velocity. This value will be negative in the entity is moving in reverse. Sideways and vertical components of the velocity are ignored. The full velocity magnitude can by found by currentSpeed().
VRF4API_METHOD DtVector DtSimObject::worldVelocity ( ) const

This is the deprecated API that can be used as a reference to migrate 4.X code to 5.X. Please refer to the simObject.inl file for a reference as to how you can do this.

VRF4API_METHOD DtVector DtSimObject::localVelocity ( ) const

This is the deprecated API that can be used as a reference to migrate 4.X code to 5.X. Please refer to the simObject.inl file for a reference as to how you can do this.

VRF4API_METHOD DtVector DtSimObject::bodyVelocity ( ) const

This is the deprecated API that can be used as a reference to migrate 4.X code to 5.X. Please refer to the simObject.inl file for a reference as to how you can do this.

VRF4API_METHOD DtVector DtSimObject::relativeVelocity ( ) const

This is the deprecated API that can be used as a reference to migrate 4.X code to 5.X. Please refer to the simObject.inl file for a reference as to how you can do this.

VRF4API_METHOD DtVector DtSimObject::parentVelocity ( ) const

This is the deprecated API that can be used as a reference to migrate 4.X code to 5.X. Please refer to the simObject.inl file for a reference as to how you can do this.

VRF4API_METHOD DtVector DtSimObject::rotationalVelocity ( ) const

This is the deprecated API that can be used as a reference to migrate 4.X code to 5.X. Please refer to the simObject.inl file for a reference as to how you can do this.

VRF4API_METHOD DtVector DtSimObject::worldAcceleration ( ) const

Acceleration.

VRF4API_METHOD DtVector DtSimObject::localAcceleration ( ) const

This is the deprecated API that can be used as a reference to migrate 4.X code to 5.X. Please refer to the simObject.inl file for a reference as to how you can do this.

VRF4API_METHOD DtVector DtSimObject::relativeAcceleration ( ) const

This is the deprecated API that can be used as a reference to migrate 4.X code to 5.X. Please refer to the simObject.inl file for a reference as to how you can do this.

Friends And Related Function Documentation

friend class DtSimObjectManager
friend

Member Data Documentation

boost::signals2::signal<void ()> DtSimObject::signal_objectVerticesChanged

Signal sent when the user changes the vertices via a set command. If this is a remote object, this signal may be sent any time the vertices change if the object is embarked on a host. This signal is only send for multiple vertex objects (routes/areas).

boost::signals2::signal<void (const DtSimObject*)> DtSimObject::signal_extendedDataUpdated
mutable

Signal sent out (during advance frame) when the extended data has been updated.

boost::signals2::signal<void (const DtSimObject*)> DtSimObject::signal_simObjectDeleted
mutable
boost::signals2::signal<void (const DtSimObject*, const DtString&)> DtSimObject::signal_discoveredReference
mutable

Signal sent if this was awaiting for the base data to show up, and, it has.

boost::signals2::signal<void (const DtUUID& oldUUID, const DtUUID& newUUID)> DtSimObject::signal_uuidChanged
mutable

Signal sent when the uuid of this object has changed. Sent during a frame advance.

boost::signals2::signal<void (const DtSimObject*, const DtString& oldName, const DtString& newName)> DtSimObject::signal_objectRenamed
mutable

Signal sent when the uuid of this object has changed. Sent during a frame advance.

boost::signals2::signal<void (const DtSimObject*, const DtUUID& oldSuperior, const DtUUID& newSuperior)> DtSimObject::signal_superiorChanged
mutable

Signal sent when superior has changed.

boost::signals2::signal<void(const DtSimObject*)> DtSimObject::signal_isClutterChanged
mutable

Signal sent out (during advance frame) when the is-clutter flag has been updated.

boost::signals2::signal<void ()> DtSimObject::signal_advancedFrame
mutable

Signal sent when the state data signals that the frame has been advanced WARNING: This signal will be called from within the overall AdvanceFrame section while other entities are advancing frames in parallel threads. It is unsafe to inspect any other object's at this time, and unsafe to make changes to this object's public state.

boost::signals2::signal<void ()> DtSimObject::signal_firstFrameAdvance

Signal when the frame is advanced for the first time.

const DtSimulationServices* DtSimObject::mySimulationServices
protected
const makVrf::DtExternalCurrentFrameState* DtSimObject::myExternalCurrentFrameState
protected
SimObjectDecorators DtSimObject::mySimObjectDecorators
mutableprotected

Decorator members.

tbb::spin_rw_mutex DtSimObject::mySimObjectDecoratorMutex
mutableprotected

Decorator members.

boost::signals2::scoped_connection DtSimObject::myDeletedConnection
protected
boost::signals2::scoped_connection DtSimObject::myAddedConnection
protected
boost::signals2::scoped_connection DtSimObject::myUUIDChangedConnection
protected
boost::signals2::scoped_connection DtSimObject::myObjectNameChangedConnection
protected
boost::signals2::scoped_connection DtSimObject::myExtendedDataUpdatedConnection
protected
boost::signals2::scoped_connection DtSimObject::myFirstFrameAdvancedConnection
protected
boost::signals2::scoped_connection DtSimObject::mySuperiorChangedConnection
protected
boost::signals2::scoped_connection DtSimObject::myAdvancedFrameConnection
protected
boost::signals2::scoped_connection DtSimObject::myIsClutterChangedConnection
protected
ExtentInformation DtSimObject::myExtentInformation
mutableprotected
DtNavigationSimObjectDecorator* DtSimObject::myNavigationSimDecorator = nullptr
protected
DtString DtSimObject::myAwaiting
protected

If this object is awaiting for its reference to show up, this will be either a UUID or an entity id string.

DtUUID DtSimObject::myUUID
protected

Once assigned, the UUID of this object. This will be valid even after the object is deleted.

unsigned long long DtSimObject::myLegionGlobalId
protected
const DtVrfObjectParameters* DtSimObject::myParameters
protected

Referenced from the simulation services object database based on entity type.

DtVrfObjectParameters* DtSimObject::myDuplicateParameters
protected
bool DtSimObject::myIsDeleted
protected
DtString DtSimObject::myObjectName
mutableprotected

This is for debug purposes only. It will get set when the bounding volume is checked (and locked) and this value is empty.

DtObjectType DtSimObject::myEntityType
mutableprotected
DtSimObjectReferenceList* DtSimObject::myAttachments
protected

Attachments.

boost::signals2::scoped_connection DtSimObject::myAttachmentsChangedConnection
protected
DtSimObjectReference DtSimObject::mySuperior
protected

Superior.

bool DtSimObject::myAdvancedFrame
protected
DtSimObjectReference DtSimObject::mySimObjectReference
mutableprotected

Back pointer to this objects reference.

tbb::spin_rw_mutex DtSimObject::mySimObjectReferenceMutex
mutableprotected
DtAttachedTerrain* DtSimObject::myTerrainAttachedTo
protected
boost::signals2::scoped_connection DtSimObject::myHostChangedConnection
protected
tbb::spin_rw_mutex DtSimObject::myExternalCurrentFrameStateMutex
mutableprotected
DtUUID DtSimObject::myEmbarkedOn
protected
const makVrf::DtSimulatedObjectStateComponent* DtSimObject::myCurrentFrameSimulatedObjectStateComponent
protected
const makVrf::DtVrfStateComponent* DtSimObject::myCurrentFrameVrfStateComponent
protected
const makVrf::DtEntityStateComponent* DtSimObject::myCurrentFrameEntityStateComponent
protected
const makVrf::DtLocationStateComponent* DtSimObject::myCurrentFrameLocationStateComponent
protected
const makVrf::DtVrfGeometryStateComponent* DtSimObject::myCurrentFrameVrfGeometryStateComponent
protected
bool DtSimObject::myCachedComponents
protected
DtAggregateSimObjectFacade* DtSimObject::myAggregateSimObjectFacade
protected
DtPlatformSimObjectFacade* DtSimObject::myPlatformSimObjectFacade
protected
DtVrfSimulatedSimObjectFacade* DtSimObject::myVrfSimulatedSimObjectFacade
protected

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

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)