18 #include <vlutil/vlString.h>
19 #include <vlpi/disEnums.h>
20 #include <vlpi/entityType.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();
237 VRF4API_METHOD virtual void addLocalVertex(
const DtVector& vertex);
238 VRF4API_METHOD virtual void addLocalVertex(
const DtVector& vertex, DtVector& newGeometricCenter);
240 VRF4API_METHOD virtual void setLocalVertices(
const DtList& vertices, DtVector& newGeometricCenter);
246 VRF4API_METHOD virtual void addWorldVertex(
const DtVector& vertex, DtVector& newGeometricCenter);
248 VRF4API_METHOD virtual void setWorldVertices(
const DtList& vertices, DtVector& newGeometricCenter);
265 VRF4API_METHOD const DtTaitBryan& localOrientationWrtDatabase()
const;
285 const DtTaitBryan& localOrientation);
306 VRF4API_METHOD void setRelativeAcceleration(
const DtVector & acc);
307 VRF4API_METHOD void setLocalOrientation(
const DtTaitBryan & angles);
312 VRF4API_METHOD void setWorldOrientation(
const DtTaitBryan & angles);
313 VRF4API_METHOD void setWorldOrientationMatrix(
const DtDcm & angles);
314 VRF4API_METHOD void setRotationalVelocity(
const DtVector& rotationalVelocity);
315 VRF4API_METHOD void setLocalOrientationMatrix(
const DtDcm & orient);
329 VRF4API_METHOD void setHalfLengthWidthHeight(
double l,
double w,
double h);
338 VRF4API_METHOD virtual double distanceToLocalVector(
const DtVector& localVector)
const;
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:64
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.
Definition: readerWriter.h:85
Definition: simObjectStateRepository.h:59
Definition: readerWriterRegistry.h:39
Contains the DtUUID class declaration.
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:90
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:80
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:26
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:23
A locally simulated VRF object.
Definition: localObject.h:98
virtual void postPutSelf()
Called after either version of put self (file or environment). Default is no-op.