VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
simObject.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2021 MAK Technologies, Inc.
3  * All rights reserved.
4  ****************************************************************************/
5 
6 #pragma once
7 
13 #include "vrfStateData/stateData.h"
23 #include "vlpi/entityIdentifier.h"
24 #include <boost/signals2.hpp>
25 #include <matrix/vlVector.h>
26 #include <geometry/extent.h>
27 #include <vrfutil/rwUUID.h>
28 #include <vlpi/appearance.h>
29 #include <vlpi/disEnums.h>
30 #include <matrix/vlDcm.h>
31 #include <matrix/vlTaitBryan.h>
32 #include <matrix/3dBoundingVolume.h>
33 #include <map>
34 #include <list>
35 #include <tbb/spin_rw_mutex.h>
37 #include <vrfutil/vrf4XAPI.h>
38 
40 
41 namespace makVrf
42 {
43  class DtIffStateComponent;
44  class DtLaserDesignatorStateComponent;
45  class DtExternalCurrentFrameState;
46  class DtStateData;
47 }
48 
51 class DtRangeItems;
52 class DtLocalVertexList;
53 class DtVertexList;
55 class DtSymbolString;
56 class DtRwProperties;
57 class DtRwReal;
59 class DtOutputStream;
60 class DtObjectConsole;
61 class Coordinate_System;
62 class DtSimObject;
63 class DtChord;
64 class DtAttachedTerrain;
65 class DtPhysicalWorld;
66 class DtSimObjectManager;
69 
80 {
81 private:
83  DtSimObject();
84  DtSimObject(const DtSimObject&);
85 
86 public:
89  explicit DtSimObject(const DtSimulationServices* simManager, const DtUUID& uuid);
90  explicit DtSimObject(const DtSimulationServices* simManager, const DtEntityIdentifier& id);
91  explicit DtSimObject(const DtSimulationServices* simManager, const makVrf::DtExternalCurrentFrameState*);
92 
94  virtual ~DtSimObject();
95 
96  DtSimObject& operator=(const DtUUID&);
97  DtSimObject& operator=(const DtSimObject& rhs) { return operator=(rhs.uuid()); };
98 
99  bool operator==(const DtUUID& rhs) const;
100  bool operator==(const DtSimObject& rhs) const { return (*this == rhs.uuid()); };
101 
102  bool operator!=(const DtUUID& rhs) const { return !(*this == rhs); };
103  bool operator!=(const DtSimObject& rhs) const { return !(*this == rhs); };
104 
106  const DtUUID& uuid() const;
107  const DtString& objectName() const;
108  DtEntityType entityType() const;
109  DtObjectType objectType() const;
110 
112  bool isBackgroundEntity() const;
113 
115  makVrf::DtVrfObjectGeometry objectGeometry() const;
116  Dt3dBoundingVolume boundingVolume() const;
117  DtVector localBoundingVolumeCenterPosition() const;
118  DtExtent extent() const;
119 
121  DtExtent roughExtent() const;
122  void expandExtent(DtExtent& extent) const;
123 
125  const makVrf::DtIffStateComponent* iffStateComponent() const;
126  std::vector<const makVrf::DtLaserDesignatorStateComponent*> laserDesignatorStateComponents() const;
127 
129  template <typename T_Component>
130  const T_Component* getStateComponent() const
131  {
132  return myExternalCurrentFrameState->getStateComponent<T_Component>();
133  }
134 
135  template <typename T_Component>
136  std::vector<const T_Component*> getStateComponentList() const
137  {
138  return myExternalCurrentFrameState->getStateComponentList<T_Component>();
139  }
140 
141  template <typename T_Component>
142  bool hasStateComponent() const
143  {
144  return myExternalCurrentFrameState->hasStateComponent<T_Component>();
145  }
147 
150  makVrf::DtRwVrfKinematicState kinematicState() const;
151 
154  const DtVector& worldPosition() const;
155  const DtVector&localPosition() const;
156  const DtVector&parentPosition() const;
157  double distSquaredTo(const DtVector&) const;
158 
160  bool hasLocationChanged() const;
161 
164  bool objectVerticesChanged() const;
165 
168  bool worldVerticesChanged() const;
169 
171  bool haveVerticesChanged() const;
172 
173  virtual void frameAdvanced();
174  virtual void firstFrameAdvance();
175 
177  const DtTaitBryan& topographicOrientation() const;
178  const DtTaitBryan& worldOrientation() const;
179  const DtTaitBryan& localOrientation() const;
180  const DtTaitBryan& parentOrientation() const;
181  const DtTaitBryan& localOrientationWrtDatabase() const;
182  const DtDcm& localOrientationMatrix() const;
183  const DtDcm& parentOrientationMatrix() const;
184  const DtDcm& worldOrientationMatrix() const;
185  double heading() const;
186  double pitch() const;
187  double roll() const;
189 
191  virtual bool isLocal() const;
192 
194  DtForceType forceType() const;
195 
197  const DtEntityIdentifier& entityId() const;
198  const DtEntityIdentifier& objectIdentifier() const
199  {
200  return entityId();
201  }
202 
204  bool isDestroyed() const;
205  int damageState() const;
206 
207  const DtString& globalId() const;
208 
212  bool isUnit() const;
214 
216  const DtPlatformSimObjectFacade& platformSimObjectFacade() const;
217 
219  const DtVrfSimulatedSimObjectFacade& vrfSimulatedSimObjectFacade() const;
220 
222  bool isEntityOrUnit() const;
223  bool isSimulatedObject() const { return isEntityOrUnit(); };
224 
226  bool isEntity() const;
227 
230  bool isEmbarked() const;
231 
233  DtUUID embarkedOn() const;
234  DtSimObjectReference simObjectEmbarkedOn() const;
235  bool isEmbarkedOn(const DtUUID&) const;
237 
240  bool isValid() const;
241 
242  int sessionId() const;
243  bool isVrfSimulatedObject() const;
244 
245  bool isOnTopOf(const DtSimObject* o) const;
246 
248  bool isOnTopOf(const DtSimObject* o, double d) const;
249 
250  bool isOnTopOf(const DtSimObject* o, double d, const DtVector& position) const;
251 
253  bool isDeleted() const;
254 
256  virtual DtVrfLocalObjectCreateInformation vrfLocalObjectCreateInformation() const;
257 
259  virtual void makeInvalid();
260 
262  {
263  return mySimulationServices;
264  }
265 
268  {
269  return myParameters;
270  }
271 
275  DtVrfObjectParameters* duplicateParameters();
276 
278  double totalMass() const;
279 
280  const Coordinate_System* coordinateSystem() const;
281 
282  const DtLocalVertexList& localVertices() const;
283  const DtVertexList& worldVertices() const;
284  const DtLocalVertexList& relativeVertices() const;
285 
288  DtVector locationRelativeTo(const DtVector&, const DtSimObject* relativeTo) const;
289 
292  DtVector velocityRelativeTo(const DtVector&, const DtSimObject* relativeTo) const;
293 
296  DtVector accelerationRelativeTo(const DtVector&, const DtSimObject* relativeTo) const;
297 
300  DtTaitBryan orientationRelativeTo(const DtTaitBryan&, const DtSimObject* relativeTo) const;
301 
304  const DtRwProperties& parameterProperties() const;
305 
307  double distanceToLocalVector(const DtVector&) const;
308 
310  DtSimObjectReference simObjectReference() const;
311 
313  unsigned long long legionGlobalId() const;
314 
317  {
318  return myAwaiting;
319  }
320 
322  bool advancedFrame() const
323  {
324  return myAdvancedFrame;
325  }
326 
327  DtSimObjectReference superior() const;
328  DtUUID superiorUUID() const;
329 
330  const DtSimObjectReferenceList& attachments() const;
331 
333  bool isTopLevel() const;
334 
336  MAKVRinTerra::DtFeatureGeometry featureGeometry() const;
337 
338  const DtAttachedTerrain* terrainAttachedTo() const;
339 
340 public:
343  boost::signals2::signal<void ()> signal_objectVerticesChanged;
344 
346  boost::signals2::signal<void (const DtSimObject*)> signal_extendedDataUpdated;
347 
348  mutable boost::signals2::signal<void (const DtSimObject*)> signal_simObjectDeleted;
349 
351  mutable boost::signals2::signal<void (const DtSimObject*, const DtString&)> signal_discoveredReference;
352 
354  mutable boost::signals2::signal<void (const DtUUID& oldUUID, const DtUUID& newUUID)> signal_uuidChanged;
355 
357  mutable boost::signals2::signal<void (const DtSimObject*, const DtString& oldName, const DtString& newName)> signal_objectRenamed;
358 
360  mutable boost::signals2::signal<void (const DtSimObject*, const DtUUID& oldSuperior, const DtUUID& newSuperior)> signal_superiorChanged;
361 
363  mutable boost::signals2::signal<void ()> signal_advancedFrame;
364 
366  boost::signals2::signal<void ()> signal_firstFrameAdvance;
367 
368 public:
372  virtual void clearDecorators();
373 
376  DtSimObjectDecorator* getOrCreateDecorator(const std::string& Decorator) const;
378 
380  {
381  if (myCurrentFrameSimulatedObjectStateComponent)
382  {
383  return myCurrentFrameSimulatedObjectStateComponent;
384  }
385  else if (!myCachedComponents && hasStateComponent<makVrf::DtSimulatedObjectStateComponent>())
386  {
387  return getStateComponent<makVrf::DtSimulatedObjectStateComponent>();
388  }
389  else
390  {
391  return nullptr;
392  }
393  }
394 
396  {
397  if (myCurrentFrameLocationStateComponent)
398  {
399  return myCurrentFrameLocationStateComponent;
400  }
401  else if (!myCachedComponents && hasStateComponent<makVrf::DtLocationStateComponent>())
402  {
403  return getStateComponent<makVrf::DtLocationStateComponent>();
404  }
405  else
406  {
407  return nullptr;
408  }
409  }
410 
412  {
413  if (myCurrentFrameVrfGeometryStateComponent)
414  {
415  return myCurrentFrameVrfGeometryStateComponent;
416  }
417  else if (!myCachedComponents && hasStateComponent<makVrf::DtVrfGeometryStateComponent>())
418  {
419  return getStateComponent<makVrf::DtVrfGeometryStateComponent>();
420  }
421  else
422  {
423  return nullptr;
424  }
425  }
426 
428  {
429  return myCurrentFrameEntityStateComponent;
430  }
431 
433  {
434  if (myCurrentFrameVrfStateComponent)
435  {
436  return myCurrentFrameVrfStateComponent;
437  }
438  else if (!myCachedComponents && hasStateComponent<makVrf::DtVrfStateComponent>())
439  {
440  return getStateComponent<makVrf::DtVrfStateComponent>();
441  }
442  else
443  {
444  return nullptr;
445  }
446  }
447 
448 protected:
449  void cacheComponents();
450  void clearCachedComponents();
451 
452  void stateDataAdded(makVrf::DtStateData*);
453  virtual void setupVrfObjectParameters();
454  virtual void setUUID(const DtUUID&);
455  bool checkAndConnectForVrfStateComponent();
456 
457  void uuidChanged(const DtUUID&, const DtUUID&);
458  void objectNameChanged(const DtString& oldText, const DtString& newText);
459 
460  void attachmentsChanged();
461  virtual void completeSetup();
462  void extendedDataUpdated();
463  void superiorChanged();
464 
465  virtual void hostChanged(const DtUUID& oldHost, const DtUUID& newHost);
466 
468  virtual void usingParameterSource(const DtString&);
469  virtual void externalFrameStateToBeDestroyed();
470 
471 private:
472  friend class DtSimObjectManager;
475  void resetUUID(const DtUUID&);
476 
477 protected:
480 
483  typedef std::map<std::string, DtSimObjectDecorator*> SimObjectDecorators;
485  mutable tbb::spin_rw_mutex mySimObjectDecoratorMutex;
487 
488  boost::signals2::scoped_connection myDeletedConnection;
489  boost::signals2::scoped_connection myAddedConnection;
490  boost::signals2::scoped_connection myUUIDChangedConnection;
491  boost::signals2::scoped_connection myObjectNameChangedConnection;
492  boost::signals2::scoped_connection myExtendedDataUpdatedConnection;
493  boost::signals2::scoped_connection myFirstFrameAdvancedConnection;
494  boost::signals2::scoped_connection mySuperiorChangedConnection;
495  boost::signals2::scoped_connection myAdvancedFrameConnection;
496 
499  {
500  ExtentInformation() : lastSimTime(-1.), physicalFootprint(nullptr) {};
501  double lastSimTime;
505  tbb::spin_rw_mutex mutex;
506  };
507 
509 
513 
516  unsigned long long myLegionGlobalId;
517 
520 
522 
524 
528 
531  boost::signals2::scoped_connection myAttachmentsChangedConnection;
532 
536 
539  mutable tbb::spin_rw_mutex mySimObjectReferenceMutex;
540 
542  boost::signals2::scoped_connection myHostChangedConnection;
543 
544  mutable tbb::spin_rw_mutex myExternalCurrentFrameStateMutex;
545 
547 
553 
558 
559 public:
564  VRF4API_METHOD const DtSimObject* vrfState();
565  VRF4API_METHOD const DtSimObject* vrfState() const;
566  VRF4API_METHOD const DtSimObject* simState();
567  VRF4API_METHOD const DtSimObject* simState() const;
568  VRF4API_METHOD bool operator==(const DtSimObject* rhs) const { if (!rhs) return false; else return (uuid() == rhs->uuid()); };
569  VRF4API_METHOD const DtSimulationServices* simManager() const;
570  VRF4API_METHOD DtSimulationServices* simManager();
571  VRF4API_METHOD makVrf::DtVrfObjectGeometry vrfObjectGeometry() const;
572  VRF4API_METHOD const DtPhysicalWorld* physicalWorld() const;
573  VRF4API_METHOD DtSimObjectReference sharedReference() const { return simObjectReference(); };
574  VRF4API_METHOD const DtVrfObjectParameters* parameterEntry() const;
575  VRF4API_METHOD const DtSimObjectManager* simObjectManager() const;
576  VRF4API_METHOD DtSimObjectReference vrfObject() const;
577  VRF4API_METHOD DtSimObjectReference parent() const;
578  VRF4API_METHOD double currentHeading() const;
579  VRF4API_METHOD double currentPitch() const;
580  VRF4API_METHOD double currentRoll() const;
581  VRF4API_METHOD const DtString& markingText() const;
582 
583  VRF4API_METHOD bool isSpatiallyFrozen() const;
584  VRF4API_METHOD bool isFrozen() const;
585 
587  VRF4API_METHOD double speed() const;
588 
593  VRF4API_METHOD double forwardSpeed() const;
594  VRF4API_METHOD DtVector worldVelocity() const;
595  VRF4API_METHOD DtVector localVelocity() const;
596  VRF4API_METHOD DtVector bodyVelocity() const;
597  VRF4API_METHOD DtVector relativeVelocity() const;
598  VRF4API_METHOD DtVector parentVelocity() const;
599  VRF4API_METHOD DtVector rotationalVelocity() const;
600 
602  VRF4API_METHOD DtVector worldAcceleration() const;
603  VRF4API_METHOD DtVector localAcceleration() const;
604  VRF4API_METHOD DtVector relativeAcceleration() const;
605 
607 };
608 
609 #include "simObject.inl"
const makVrf::DtSimulatedObjectStateComponent * myCurrentFrameSimulatedObjectStateComponent
Definition: simObject.h:548
UUID is a unique ID wrapper class.
Definition: rwUUID.h:229
bool hasStateComponent() const
Definition: simObject.h:142
Instances of DtVrfObjectParameters are the readable/writeable objects that contain the information ne...
Definition: vrfObjectParameters.h:63
const makVrf::DtVrfStateComponent * currentFrameVrfStateComponent() const
Definition: simObject.h:432
const DtEntityIdentifier & objectIdentifier() const
Definition: simObject.h:198
Extent information as to what it is and when it was last calculated.
Definition: simObject.h:498
NOTE: This entire class is deprecated, in favor of Dt3dChord.
Definition: chord.h:40
const makVrf::DtVrfStateComponent * myCurrentFrameVrfStateComponent
Definition: simObject.h:549
Definition: attachedTerrain.h:45
Objects may contain a collection of other objects, such as overlays or pseudo-aggregate entities...
Definition: subordinateManager.h:43
std::map< std::string, DtSimObjectDecorator * > SimObjectDecorators
Decorator members.
Definition: simObject.h:483
DtSimObjectReference mySuperior
Superior.
Definition: simObject.h:534
DtString myObjectName
This is for debug purposes only. It will get set when the bounding volume is checked (and locked) and...
Definition: simObject.h:526
std::vector< const T_Component * > getStateComponentList() const
Definition: simObject.h:136
Definition: symbolString.h:20
const DtSimulationServices * mySimulationServices
Definition: simObject.h:478
DtVrfSimulatedSimObjectFacade * myVrfSimulatedSimObjectFacade
Definition: simObject.h:557
If you use a list of object names to archive which objects are part of a controller (or any object) u...
Definition: simObjectReferenceList.h:122
The DtLocationStateComponent interface contains the interface that all DtLocationStateComponents can ...
Definition: locationStateComponent.h:25
DtUUID myUUID
Once assigned, the UUID of this object. This will be valid even after the object is deleted...
Definition: simObject.h:515
1) Define the interface class that will be used to represent the next and curent frames. The UNDEFINED_ macros are convenience macros that will define methods that throw exceptions (until they are implemented)
Definition: entityStateComponent.h:70
bool myIsDeleted
Definition: simObject.h:523
DtSimObjectReference mySimObjectReference
Back pointer to this objects reference.
Definition: simObject.h:538
The DtSimulatedObjectStateComponent is an interface that all main components (those that are consider...
Definition: simulatedObjectStateComponent.h:21
const makVrf::DtExternalCurrentFrameState * myExternalCurrentFrameState
Definition: simObject.h:479
tbb::spin_rw_mutex myExternalCurrentFrameStateMutex
Definition: simObject.h:544
tbb::spin_rw_mutex mySimObjectReferenceMutex
Definition: simObject.h:539
The DtSimObjectReference is a shared pointer that can be used amongst many object for access to the u...
Definition: simObjectReference.h:26
DT_DLL_terrainCS bool operator==(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
VRF4API_METHOD bool operator==(const DtSimObject *rhs) const
This is the deprecated API that can be used as a reference to migrate 4.X code to 5...
Definition: simObject.h:568
Contains the DtUUID class declaration.
The DtExtent represents an axis-aligned 3d bounding box.
Definition: extent.h:43
unsigned long long myLegionGlobalId
Definition: simObject.h:516
tbb::spin_rw_mutex mutex
Definition: simObject.h:505
boost::signals2::signal< void(const DtSimObject *, const DtString &)> signal_discoveredReference
Signal sent if this was awaiting for the base data to show up, and, it has.
Definition: simObject.h:351
boost::signals2::signal< void()> signal_firstFrameAdvance
Signal when the frame is advanced for the first time.
Definition: simObject.h:366
The DtLocalObjectCreateInformation class is a subset of the information used in the DtIfCreateVrfObje...
Definition: vrfLocalObjectCreateInformation.h:26
Description: This repository is an internal repository accessible only by local objects. It holds all information that is common to all the forms of all entity/aggregate/control objects within VR-Forces.
Definition: vrfObjectStateRepository.h:90
ExtentInformation myExtentInformation
Definition: simObject.h:508
bool advancedFrame() const
Will be true if this object has advanced at least one frame.
Definition: simObject.h:322
1) Define the interface class that will be used to represent the next and curent frames. The UNDEFINED_ macros are convenience macros that will define methods that throw exceptions (until they are implemented)
Definition: vrfGeometryStateComponent.h:54
bool myCachedComponents
Definition: simObject.h:554
Definition: objectType.h:27
const DtSimulationServices * simulationServices() const
Definition: simObject.h:261
DtAggregateSimObjectFacade * myAggregateSimObjectFacade
Definition: simObject.h:555
DtExtent extent
Definition: simObject.h:503
boost::signals2::signal< void(const DtSimObject *, const DtString &oldName, const DtString &newName)> signal_objectRenamed
Signal sent when the uuid of this object has changed. Sent during a frame advance.
Definition: simObject.h:357
const DtVrfObjectParameters * parameters() const
VR-Forces parameters.
Definition: simObject.h:267
1) Define the interface class that will be used to represent the next and curent frames. The UNDEFINED_ macros are convenience macros that will define methods that throw exceptions (until they are implemented)
Definition: vrfStateComponent.h:55
This class represents the console for an individual object. It owns a set of streams for various noti...
Definition: objectConsole.h:49
The DtPhysicalWorld is the primary interface to and manager of all of the &quot;physical&quot; aspects of the s...
Definition: physicalWorld.h:102
Definition: coordSystem.h:54
boost::signals2::signal< void(const DtUUID &oldUUID, const DtUUID &newUUID)> signal_uuidChanged
Signal sent when the uuid of this object has changed. Sent during a frame advance.
Definition: simObject.h:354
The overall structure of the DtStateData mechanism is: The DtStateData contains a list of double buff...
Definition: stateData.h:336
const makVrf::DtEntityStateComponent * currentFrameEntityStateComponent() const
Definition: simObject.h:427
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
DtVrfObjectParameters * myDuplicateParameters
Definition: simObject.h:521
class DtVertexList:
Definition: vertexList.h:22
const DtVrfObjectParameters * myParameters
Referenced from the simulation services object database based on entity type.
Definition: simObject.h:519
DtObjectType myEntityType
Definition: simObject.h:527
boost::signals2::scoped_connection myDeletedConnection
Definition: simObject.h:488
DtString myAwaiting
If this object is awaiting for its reference to show up, this will be either a UUID or an entity id s...
Definition: simObject.h:512
bool operator!=(const DtUUID &rhs) const
Definition: simObject.h:102
boost::signals2::signal< void(const DtSimObject *)> signal_simObjectDeleted
Definition: simObject.h:348
boost::signals2::signal< void(const DtSimObject *)> signal_extendedDataUpdated
Signal sent out (during advance frame) when the extended data has been updated.
Definition: simObject.h:346
Definition: stateData.h:260
Definition: rangeItem.h:206
const DtUUID & uuid() const
@ Convenience accessors for various pieces of state Data
DtUUID myEmbarkedOn
Definition: simObject.h:546
This class maintains a rectangular bounding volume and an ordered list of vertices describing the phy...
Definition: vrfObjectGeometry.h:39
DtString awaiting() const
If awaiting, who awaiting for.
Definition: simObject.h:316
SimObjectDecorators mySimObjectDecorators
Decorator members.
Definition: simObject.h:484
const makVrf::DtLocationStateComponent * myCurrentFrameLocationStateComponent
Definition: simObject.h:551
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
const makVrf::DtEntityStateComponent * myCurrentFrameEntityStateComponent
Definition: simObject.h:550
This is a convenience list that will add DtSimObjectReference objects and modify the list as objects ...
Definition: simObjectReferenceList.h:22
const DtRwReal * physicalFootprint
Definition: simObject.h:502
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:90
This class is the central access point for all current-frame state of all objects in the simulation i...
Definition: simObjectManager.h:42
const makVrf::DtVrfGeometryStateComponent * currentFrameVrfGeometryStateComponent() const
Definition: simObject.h:411
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:79
Contains the declaration of the DtExtent class.
boost::signals2::signal< void()> signal_objectVerticesChanged
Signal sent when the user changes the vertices via a set command. If this is a remote object...
Definition: simObject.h:343
DtSimObjectReferenceList * myAttachments
Attachments.
Definition: simObject.h:530
bool operator==(const DtSimObject &rhs) const
Definition: simObject.h:100
Definition: decoratorBase.h:30
DtPlatformSimObjectFacade * myPlatformSimObjectFacade
Definition: simObject.h:556
boost::signals2::scoped_connection myAttachmentsChangedConnection
Definition: simObject.h:531
boost::signals2::scoped_connection myExtendedDataUpdatedConnection
Definition: simObject.h:492
boost::signals2::scoped_connection myAddedConnection
Definition: simObject.h:489
boost::signals2::signal< void(const DtSimObject *, const DtUUID &oldSuperior, const DtUUID &newSuperior)> signal_superiorChanged
Signal sent when superior has changed.
Definition: simObject.h:360
Definition: rwVrfKinematicState.h:25
Contains the DtSimObjectReference class declaration.
tbb::spin_rw_mutex mySimObjectDecoratorMutex
Decorator members.
Definition: simObject.h:485
bool isSimulatedObject() const
Definition: simObject.h:223
A list of properties. A DtPropertyInterface object that is a specialized version of DtRwVariableBindi...
Definition: rwProperties.h:126
const makVrf::DtLocationStateComponent * currentFrameLocationStateComponent() const
Definition: simObject.h:395
boost::signals2::scoped_connection myObjectNameChangedConnection
Definition: simObject.h:491
VRF4API_METHOD DtSimObjectReference sharedReference() const
This is the deprecated API that can be used as a reference to migrate 4.X code to 5...
Definition: simObject.h:573
1) Define the interface class that will be used to represent the next and curent frames. The UNDEFINED_ macros are convenience macros that will define methods that throw exceptions (until they are implemented)
Definition: iffStateComponent.h:428
DtVector lastPosition
Definition: simObject.h:504
boost::signals2::scoped_connection myUUIDChangedConnection
Definition: simObject.h:490
boost::signals2::scoped_connection mySuperiorChangedConnection
Definition: simObject.h:494
const makVrf::DtSimulatedObjectStateComponent * currentFrameSimulatedObjectStateComponent() const
Definition: simObject.h:379
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
boost::signals2::scoped_connection myAdvancedFrameConnection
Definition: simObject.h:495
bool myAdvancedFrame
Definition: simObject.h:535
bool operator!=(const DtSimObject &rhs) const
Definition: simObject.h:103
boost::signals2::signal< void()> signal_advancedFrame
Signal sent when the state data signals that the frame has been advanced.
Definition: simObject.h:363
boost::signals2::scoped_connection myHostChangedConnection
Definition: simObject.h:542
Represents a feature geometry.
Definition: featureGeometry.h:39
DtAttachedTerrain * myTerrainAttachedTo
Definition: simObject.h:541
DtSimObject & operator=(const DtSimObject &rhs)
Definition: simObject.h:97
const T_Component * getStateComponent() const
General call to get any component that does not have a method.
Definition: simObject.h:130
boost::signals2::scoped_connection myFirstFrameAdvancedConnection
Definition: simObject.h:493
const makVrf::DtVrfGeometryStateComponent * myCurrentFrameVrfGeometryStateComponent
Definition: simObject.h:552

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)