![]() |
VR-Forces 5.0.3 Developer's Guide
|
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.

Classes | |
| struct | ExtentInformation |
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()> | signal_advancedFrame |
| boost::signals2::signal< void()> | signal_firstFrameAdvance |
Protected Member Functions | |
| void | cacheComponents () |
| void | clearCachedComponents () |
| 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 | hostChanged (const DtUUID &oldHost, const DtUUID &newHost) |
| virtual void | usingParameterSource (const DtString &) |
| virtual void | externalFrameStateToBeDestroyed () |
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 |
|
protected |
Decorator members.
|
private |
Creates an empty (invalid) object.
|
private |
|
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.
|
explicit |
|
explicit |
|
virtual |
DTOR.
| DtSimObject& DtSimObject::operator= | ( | const DtUUID & | ) |
|
inline |
References operator=(), and uuid().
Referenced by operator=().
|
inline |
References uuid().
|
inline |
| const DtUUID& DtSimObject::uuid | ( | ) | const |
@ Convenience accessors for various pieces of state Data
Referenced by operator=(), and operator==().
| const DtString& DtSimObject::objectName | ( | ) | const |
| DtEntityType DtSimObject::entityType | ( | ) | const |
| DtObjectType DtSimObject::objectType | ( | ) | const |
| bool DtSimObject::isBackgroundEntity | ( | ) | 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 |
|
inline |
General call to get any component that does not have a method.
|
inline |
|
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.
| 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 |
Overall kinematic state.
|
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 |
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.
|
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.
|
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.
| DtUUID DtSimObject::embarkedOn | ( | ) | const |
If embarked, the parent this object is embarked on.
| DtSimObjectReference DtSimObject::simObjectEmbarkedOn | ( | ) | 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 |
Enough information to create an object list this as a local object.
|
virtual |
Make this invalid by clearing the myExternalCurrentFrameState. This will also set the myIsDeleted flag to true.
Reimplemented in DtLocalObject.
|
inline |
|
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.
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.
The internal legion global id that this object represents.
|
inline |
If awaiting, who awaiting for.
|
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 |
This code will keep track of DtSimObject decorator only. The DtLocalObject will be able to use this decorator, howerver, 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.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
protected |
|
protected |
|
protected |
|
protectedvirtual |
Reimplemented in DtLocalObject.
|
protectedvirtual |
Reimplemented in DtLocalObject.
|
protected |
|
protected |
|
protected |
|
protectedvirtual |
Reimplemented in DtLocalObject.
|
protected |
|
protected |
|
protectedvirtual |
Reimplemented in DtLocalObject.
|
protectedvirtual |
Called when the parameter is set up, this is the source it is using.
Reimplemented in DtLocalObject.
|
protectedvirtual |
|
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.
|
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.
|
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 |
| 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.
|
friend |
| 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 |
Signal sent out (during advance frame) when the extended data has been updated.
|
mutable |
|
mutable |
Signal sent if this was awaiting for the base data to show up, and, it has.
|
mutable |
Signal sent when the uuid of this object has changed. Sent during a frame advance.
|
mutable |
Signal sent when the uuid of this object has changed. Sent during a frame advance.
|
mutable |
Signal sent when superior has changed.
|
mutable |
Signal sent when the state data signals that the frame has been advanced.
| boost::signals2::signal<void ()> DtSimObject::signal_firstFrameAdvance |
Signal when the frame is advanced for the first time.
|
protected |
|
protected |
|
mutableprotected |
Decorator members.
|
mutableprotected |
Decorator members.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
mutableprotected |
|
protected |
If this object is awaiting for its reference to show up, this will be either a UUID or an entity id string.
|
protected |
Once assigned, the UUID of this object. This will be valid even after the object is deleted.
|
protected |
Referenced from the simulation services object database based on entity type.
|
protected |
|
protected |
|
mutableprotected |
This is for debug purposes only. It will get set when the bounding volume is checked (and locked) and this value is empty.
|
mutableprotected |
|
protected |
Attachments.
|
protected |
|
protected |
Superior.
|
protected |
|
mutableprotected |
Back pointer to this objects reference.
|
mutableprotected |
|
protected |
|
protected |
|
mutableprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |