18 #include <vlutil/vlString.h>
19 #include <vlpi/disEnums.h>
21 #include <vlutil/vlString.h>
32 #include <tbb/spin_rw_mutex.h>
33 #include <boost/signals2.hpp>
50 class DtVrfGeometryStateComponent;
79 virtual const int objectStateRepositorySubType()
const;
84 virtual bool isEmbarkedOn(
const DtUUID& parent)
const;
88 virtual bool attachToParent(
const DtUUID& parent);
97 virtual void detachFromParent();
100 template <
typename T_SRType>
101 const T_SRType*
as()
const
103 return dynamic_cast<const T_SRType*
>(
this);
106 template <
typename T_SRType>
109 return dynamic_cast<T_SRType*
>(
this);
113 virtual void createLegacyRWData();
114 virtual void cleanupLegacyRWData();
115 virtual void restoreFromLegacyRWData();
116 virtual void setToLegacyRWData();
132 virtual void processSimObjectDeleted(
const DtSimObject*);
134 virtual void attachedParentUUIDChanged(
const DtUUID& oldUUID,
const DtUUID& newUUID);
138 virtual bool embarkOnParent(
const DtUUID& parent);
141 virtual bool setHostGlobalId(
const DtUUID&);
144 virtual double totalMass()
const;
150 virtual void processCompleteAttachment(
const DtSimObject*);
154 virtual void prepareForHandoff();
159 virtual void toBeRemoved();
265 VRF4API_METHOD const DtTaitBryan& localOrientationWrtDatabase()
const;
285 const DtTaitBryan& localOrientation);
307 VRF4API_METHOD void setLocalOrientation(
const DtTaitBryan & angles);
312 VRF4API_METHOD void setWorldOrientation(
const DtTaitBryan & angles);
313 VRF4API_METHOD void setWorldOrientationMatrix(
const DtDcm & angles);
315 VRF4API_METHOD void setLocalOrientationMatrix(
const DtDcm & orient);
329 VRF4API_METHOD void setHalfLengthWidthHeight(
double l,
double w,
double h);
347 #include "vrfobjcore/simObjectStateRepository.inl"
UUID is a unique ID wrapper class.
Definition: uuid.h:59
Instances of DtVrfObjectParameters are the readable/writeable objects that contain the information ne...
Definition: vrfObjectParameters.h:63
virtual void prePutSelf()
Called before either version of put self (file or environment). Default is no-op. ...
T_SRType * as()
Definition: simObjectStateRepository.h:107
DtMovementLocalObjectFacade myMovementLocalObjectFacade
Definition: simObjectStateRepository.h:167
VRF4API_METHOD const DtVrfSimKinematicState * vrfKinematicState() const
Definition: simObjectStateRepository.h:228
boost::signals2::scoped_connection myUUIDChangedConnection
Definition: simObjectStateRepository.h:169
virtual void postGetSelf()
Called after either version of getSelf (mtl or environment). Default is no-op.
The DtSimObjectReference is a shared pointer that can be used amongst many object for access to the u...
Definition: simObjectReference.h:26
Definition: readerWriter.h:85
Definition: simObjectStateRepository.h:59
Definition: readerWriterRegistry.h:39
Contains the DtUUID class declaration.
Definition: objectType.h:27
class DtRwSimKinematicState: This class encapsulates the kinematic state of an object wrt to the netw...
Definition: rwSimKinematicState.h:37
Definition: coordSystem.h:54
VRF4API_METHOD DtSimKinematicState * kinematicState()
Definition: simObjectStateRepository.h:230
VRF4API_METHOD const DtSimKinematicState * kinematicState() const
Definition: simObjectStateRepository.h:227
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
DtLegacySimObjectStateRepositoryRWData * myLegacyRWData
Old data to read for old scenario (can still be used to save for RW)
Definition: simObjectStateRepository.h:163
class DtVertexList:
Definition: vertexList.h:22
Definition: noArgumentCallbackList.h:91
DtSimObjectStateRepository DtVrfSimKinematicState
These are backwards compatible methods that can be used if you define ALLOW_VRF4API in your header fi...
Definition: simObjectStateRepository.h:195
DtSimBoundingGeometryType
Definition: simBoundingGeometry.h:61
DtCallbackList< DtSimObjectStateRepository * >::DtCallbackFunctionType DtSimObjectStateRepositoryAboutToBeDeletedCallbackFcn
Definition: simObjectStateRepository.h:44
virtual void preGetSelf()
Called before either version of get self (file or environment). Default is no-op. ...
DtLocalObject * myLocalObject
Private (only thread safe because handled in a single thread in a non contentious way) ...
Definition: simObjectStateRepository.h:166
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.
Definition: simObject.h:88
Definition: legacyRWData.h:72
DtSimObjectStateRepository DtSimKinematicState
These are backwards compatible methods that can be used if you define ALLOW_VRF4API in your header fi...
Definition: simObjectStateRepository.h:194
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
boost::signals2::scoped_connection myLocalObjectAddedConnection
Definition: simObjectStateRepository.h:170
Definition: rwVrfKinematicState.h:25
Contains the DtSimObjectReference class declaration.
const DtReaderWriter & operator=(const DtReaderWriter &orig)
assignment operator
const T_SRType * as() const
Convenience function to cast to particular state rep type.
Definition: simObjectStateRepository.h:101
VRF4API_METHOD DtVrfSimKinematicState * vrfKinematicState()
Definition: simObjectStateRepository.h:231
boost::signals2::scoped_connection myLocalObjectDeletedConnection
Definition: simObjectStateRepository.h:171
class DtLocalVertexList:
Definition: localVertexList.h:20
#define VRF4API_METHOD
Include this header file to allow for the definition/usage of the ability to mark something as deprec...
Definition: vrf4XAPI.h:22
A locally simulated VRF object. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86
virtual void postPutSelf()
Called after either version of put self (file or environment). Default is no-op.