VR-Forces 5.0.1 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 
208  const DtString& globalId() const;
209 
213  bool isUnit() const;
215 
217  const DtPlatformSimObjectFacade& platformSimObjectFacade() const;
218 
220  const DtVrfSimulatedSimObjectFacade& vrfSimulatedSimObjectFacade() const;
221 
223  bool isEntityOrUnit() const;
224  bool isSimulatedObject() const { return isEntityOrUnit(); };
225 
227  bool isEntity() const;
228 
231  bool isEmbarked() const;
232 
234  DtUUID embarkedOn() const;
235  DtSimObjectReference simObjectEmbarkedOn() const;
236  bool isEmbarkedOn(const DtUUID&) const;
238 
241  bool isValid() const;
242 
243  int sessionId() const;
244  bool isVrfSimulatedObject() const;
245 
246  bool isOnTopOf(const DtSimObject* o) const;
247 
249  bool isOnTopOf(const DtSimObject* o, double d) const;
250 
251  bool isOnTopOf(const DtSimObject* o, double d, const DtVector& position) const;
252 
254  bool isDeleted() const;
255 
257  virtual DtVrfLocalObjectCreateInformation vrfLocalObjectCreateInformation() const;
258 
260  virtual void makeInvalid();
261 
263  {
264  return mySimulationServices;
265  }
266 
269  {
270  return myParameters;
271  }
272 
276  DtVrfObjectParameters* duplicateParameters();
277 
279  double totalMass() const;
280 
281  const Coordinate_System* coordinateSystem() const;
282 
283  const DtLocalVertexList& localVertices() const;
284  const DtVertexList& worldVertices() const;
285  const DtLocalVertexList& relativeVertices() const;
286 
289  DtVector locationRelativeTo(const DtVector&, const DtSimObject* relativeTo) const;
290 
293  DtVector velocityRelativeTo(const DtVector&, const DtSimObject* relativeTo) const;
294 
297  DtVector accelerationRelativeTo(const DtVector&, const DtSimObject* relativeTo) const;
298 
301  DtTaitBryan orientationRelativeTo(const DtTaitBryan&, const DtSimObject* relativeTo) const;
302 
305  const DtRwProperties& parameterProperties() const;
306 
308  double distanceToLocalVector(const DtVector&) const;
309 
311  DtSimObjectReference simObjectReference() const;
312 
314  unsigned long long legionGlobalId() const;
315 
318  {
319  return myAwaiting;
320  }
321 
323  bool advancedFrame() const
324  {
325  return myAdvancedFrame;
326  }
327 
328  DtSimObjectReference superior() const;
329  DtUUID superiorUUID() const;
330 
331  const DtSimObjectReferenceList& attachments() const;
332 
334  bool isTopLevel() const;
335 
337  MAKVRinTerra::DtFeatureGeometry featureGeometry() const;
338 
339  const DtAttachedTerrain* terrainAttachedTo() const;
340 
341 public:
344  boost::signals2::signal<void ()> signal_objectVerticesChanged;
345 
347  boost::signals2::signal<void (const DtSimObject*)> signal_extendedDataUpdated;
348 
349  mutable boost::signals2::signal<void (const DtSimObject*)> signal_simObjectDeleted;
350 
352  mutable boost::signals2::signal<void (const DtSimObject*, const DtString&)> signal_discoveredReference;
353 
355  mutable boost::signals2::signal<void (const DtUUID& oldUUID, const DtUUID& newUUID)> signal_uuidChanged;
356 
358  mutable boost::signals2::signal<void (const DtSimObject*, const DtString& oldName, const DtString& newName)> signal_objectRenamed;
359 
361  mutable boost::signals2::signal<void (const DtSimObject*, const DtUUID& oldSuperior, const DtUUID& newSuperior)> signal_superiorChanged;
362 
364  mutable boost::signals2::signal<void ()> signal_advancedFrame;
365 
367  boost::signals2::signal<void ()> signal_firstFrameAdvance;
368 
369 public:
373  virtual void clearDecorators();
374 
377  DtSimObjectDecorator* getOrCreateDecorator(const std::string& Decorator) const;
379 
381  {
382  if (myCurrentFrameSimulatedObjectStateComponent)
383  {
384  return myCurrentFrameSimulatedObjectStateComponent;
385  }
386  else if (!myCachedComponents && hasStateComponent<makVrf::DtSimulatedObjectStateComponent>())
387  {
388  return getStateComponent<makVrf::DtSimulatedObjectStateComponent>();
389  }
390  else
391  {
392  return nullptr;
393  }
394  }
395 
397  {
398  if (myCurrentFrameLocationStateComponent)
399  {
400  return myCurrentFrameLocationStateComponent;
401  }
402  else if (!myCachedComponents && hasStateComponent<makVrf::DtLocationStateComponent>())
403  {
404  return getStateComponent<makVrf::DtLocationStateComponent>();
405  }
406  else
407  {
408  return nullptr;
409  }
410  }
411 
413  {
414  if (myCurrentFrameVrfGeometryStateComponent)
415  {
416  return myCurrentFrameVrfGeometryStateComponent;
417  }
418  else if (!myCachedComponents && hasStateComponent<makVrf::DtVrfGeometryStateComponent>())
419  {
420  return getStateComponent<makVrf::DtVrfGeometryStateComponent>();
421  }
422  else
423  {
424  return nullptr;
425  }
426  }
427 
429  {
430  return myCurrentFrameEntityStateComponent;
431  }
432 
434  {
435  if (myCurrentFrameVrfStateComponent)
436  {
437  return myCurrentFrameVrfStateComponent;
438  }
439  else if (!myCachedComponents && hasStateComponent<makVrf::DtVrfStateComponent>())
440  {
441  return getStateComponent<makVrf::DtVrfStateComponent>();
442  }
443  else
444  {
445  return nullptr;
446  }
447  }
448 
449 protected:
450  void cacheComponents();
451  void clearCachedComponents();
452 
453  void stateDataAdded(makVrf::DtStateData*);
454  virtual void setupVrfObjectParameters();
455  virtual void setUUID(const DtUUID&);
456  bool checkAndConnectForVrfStateComponent();
457 
458  void uuidChanged(const DtUUID&, const DtUUID&);
459  void objectNameChanged(const DtString& oldText, const DtString& newText);
460 
461  void attachmentsChanged();
462  virtual void completeSetup();
463  void extendedDataUpdated();
464  void superiorChanged();
465 
466  virtual void hostChanged(const DtUUID& oldHost, const DtUUID& newHost);
467 
469  virtual void usingParameterSource(const DtString&);
470  virtual void externalFrameStateToBeDestroyed();
471 
472 private:
473  friend class DtSimObjectManager;
476  void resetUUID(const DtUUID&);
477 
478 protected:
481 
484  typedef std::map<std::string, DtSimObjectDecorator*> SimObjectDecorators;
486  mutable tbb::spin_rw_mutex mySimObjectDecoratorMutex;
488 
489  boost::signals2::scoped_connection myDeletedConnection;
490  boost::signals2::scoped_connection myAddedConnection;
491  boost::signals2::scoped_connection myUUIDChangedConnection;
492  boost::signals2::scoped_connection myObjectNameChangedConnection;
493  boost::signals2::scoped_connection myExtendedDataUpdatedConnection;
494  boost::signals2::scoped_connection myFirstFrameAdvancedConnection;
495  boost::signals2::scoped_connection mySuperiorChangedConnection;
496  boost::signals2::scoped_connection myAdvancedFrameConnection;
497 
500  {
501  ExtentInformation() : lastSimTime(-1.), physicalFootprint(nullptr) {};
502  double lastSimTime;
506  tbb::spin_rw_mutex mutex;
507  };
508 
510 
514 
517  unsigned long long myLegionGlobalId;
518 
521 
523 
525 
529 
532  boost::signals2::scoped_connection myAttachmentsChangedConnection;
533 
537 
540  mutable tbb::spin_rw_mutex mySimObjectReferenceMutex;
541 
543  boost::signals2::scoped_connection myHostChangedConnection;
544 
545  mutable tbb::spin_rw_mutex myExternalCurrentFrameStateMutex;
546 
548 
554 
559 
560 public:
565  VRF4API_METHOD const DtSimObject* vrfState();
566  VRF4API_METHOD const DtSimObject* vrfState() const;
567  VRF4API_METHOD const DtSimObject* simState();
568  VRF4API_METHOD const DtSimObject* simState() const;
569  VRF4API_METHOD bool operator==(const DtSimObject* rhs) const { if (!rhs) return false; else return (uuid() == rhs->uuid()); };
570  VRF4API_METHOD const DtSimulationServices* simManager() const;
571  VRF4API_METHOD DtSimulationServices* simManager();
572  VRF4API_METHOD makVrf::DtVrfObjectGeometry vrfObjectGeometry() const;
573  VRF4API_METHOD const DtPhysicalWorld* physicalWorld() const;
574  VRF4API_METHOD DtSimObjectReference sharedReference() const { return simObjectReference(); };
575  VRF4API_METHOD const DtVrfObjectParameters* parameterEntry() const;
576  VRF4API_METHOD const DtSimObjectManager* simObjectManager() const;
577  VRF4API_METHOD DtSimObjectReference vrfObject() const;
578  VRF4API_METHOD DtSimObjectReference parent() const;
579  VRF4API_METHOD double currentHeading() const;
580  VRF4API_METHOD double currentPitch() const;
581  VRF4API_METHOD double currentRoll() const;
582  VRF4API_METHOD const DtString& markingText() const;
583 
584  VRF4API_METHOD bool isSpatiallyFrozen() const;
585  VRF4API_METHOD bool isFrozen() const;
586 
588  VRF4API_METHOD double speed() const;
589 
594  VRF4API_METHOD double forwardSpeed() const;
595  VRF4API_METHOD DtVector worldVelocity() const;
596  VRF4API_METHOD DtVector localVelocity() const;
597  VRF4API_METHOD DtVector bodyVelocity() const;
598  VRF4API_METHOD DtVector relativeVelocity() const;
599  VRF4API_METHOD DtVector parentVelocity() const;
600  VRF4API_METHOD DtVector rotationalVelocity() const;
601 
603  VRF4API_METHOD DtVector worldAcceleration() const;
604  VRF4API_METHOD DtVector localAcceleration() const;
605  VRF4API_METHOD DtVector relativeAcceleration() const;
606 
608 };
609 
610 #include "simObject.inl"
const makVrf::DtSimulatedObjectStateComponent * myCurrentFrameSimulatedObjectStateComponent
Definition: simObject.h:549
UUID is a unique ID wrapper class.
Definition: rwUUID.h:226
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:433
const DtEntityIdentifier & objectIdentifier() const
Definition: simObject.h:198
Extent information as to what it is and when it was last calculated.
Definition: simObject.h:499
NOTE: This entire class is deprecated, in favor of Dt3dChord.
Definition: chord.h:40
const makVrf::DtVrfStateComponent * myCurrentFrameVrfStateComponent
Definition: simObject.h:550
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:484
DtSimObjectReference mySuperior
Superior.
Definition: simObject.h:535
DtString myObjectName
This is for debug purposes only. It will get set when the bounding volume is checked (and locked) and...
Definition: simObject.h:527
std::vector< const T_Component * > getStateComponentList() const
Definition: simObject.h:136
Definition: symbolString.h:20
const DtSimulationServices * mySimulationServices
Definition: simObject.h:479
DtVrfSimulatedSimObjectFacade * myVrfSimulatedSimObjectFacade
Definition: simObject.h:558
If you use a list of object names to archive which objects are part of a controller (or any object) u...
Definition: simObjectReferenceList.h:115
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:516
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:524
DtSimObjectReference mySimObjectReference
Back pointer to this objects reference.
Definition: simObject.h:539
The DtSimulatedObjectStateComponent is an interface that all main components (those that are consider...
Definition: simulatedObjectStateComponent.h:21
const makVrf::DtExternalCurrentFrameState * myExternalCurrentFrameState
Definition: simObject.h:480
tbb::spin_rw_mutex myExternalCurrentFrameStateMutex
Definition: simObject.h:545
tbb::spin_rw_mutex mySimObjectReferenceMutex
Definition: simObject.h:540
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:569
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:517
tbb::spin_rw_mutex mutex
Definition: simObject.h:506
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:352
boost::signals2::signal< void()> signal_firstFrameAdvance
Signal when the frame is advanced for the first time.
Definition: simObject.h:367
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:509
bool advancedFrame() const
Will be true if this object has advanced at least one frame.
Definition: simObject.h:323
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:555
Definition: objectType.h:27
const DtSimulationServices * simulationServices() const
Definition: simObject.h:262
DtAggregateSimObjectFacade * myAggregateSimObjectFacade
Definition: simObject.h:556
DtExtent extent
Definition: simObject.h:504
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:358
const DtVrfObjectParameters * parameters() const
VR-Forces parameters.
Definition: simObject.h:268
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:355
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:428
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
DtVrfObjectParameters * myDuplicateParameters
Definition: simObject.h:522
class DtVertexList:
Definition: vertexList.h:22
const DtVrfObjectParameters * myParameters
Referenced from the simulation services object database based on entity type.
Definition: simObject.h:520
DtObjectType myEntityType
Definition: simObject.h:528
boost::signals2::scoped_connection myDeletedConnection
Definition: simObject.h:489
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:513
bool operator!=(const DtUUID &rhs) const
Definition: simObject.h:102
boost::signals2::signal< void(const DtSimObject *)> signal_simObjectDeleted
Definition: simObject.h:349
boost::signals2::signal< void(const DtSimObject *)> signal_extendedDataUpdated
Signal sent out (during advance frame) when the extended data has been updated.
Definition: simObject.h:347
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:547
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:317
SimObjectDecorators mySimObjectDecorators
Decorator members.
Definition: simObject.h:485
const makVrf::DtLocationStateComponent * myCurrentFrameLocationStateComponent
Definition: simObject.h:552
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
const makVrf::DtEntityStateComponent * myCurrentFrameEntityStateComponent
Definition: simObject.h:551
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:503
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:89
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:412
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:344
DtSimObjectReferenceList * myAttachments
Attachments.
Definition: simObject.h:531
bool operator==(const DtSimObject &rhs) const
Definition: simObject.h:100
Definition: decoratorBase.h:30
DtPlatformSimObjectFacade * myPlatformSimObjectFacade
Definition: simObject.h:557
boost::signals2::scoped_connection myAttachmentsChangedConnection
Definition: simObject.h:532
boost::signals2::scoped_connection myExtendedDataUpdatedConnection
Definition: simObject.h:493
boost::signals2::scoped_connection myAddedConnection
Definition: simObject.h:490
boost::signals2::signal< void(const DtSimObject *, const DtUUID &oldSuperior, const DtUUID &newSuperior)> signal_superiorChanged
Signal sent when superior has changed.
Definition: simObject.h:361
Definition: rwVrfKinematicState.h:25
Contains the DtSimObjectReference class declaration.
tbb::spin_rw_mutex mySimObjectDecoratorMutex
Decorator members.
Definition: simObject.h:486
bool isSimulatedObject() const
Definition: simObject.h:224
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:396
boost::signals2::scoped_connection myObjectNameChangedConnection
Definition: simObject.h:492
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:574
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:505
boost::signals2::scoped_connection myUUIDChangedConnection
Definition: simObject.h:491
boost::signals2::scoped_connection mySuperiorChangedConnection
Definition: simObject.h:495
const makVrf::DtSimulatedObjectStateComponent * currentFrameSimulatedObjectStateComponent() const
Definition: simObject.h:380
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:496
bool myAdvancedFrame
Definition: simObject.h:536
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:364
boost::signals2::scoped_connection myHostChangedConnection
Definition: simObject.h:543
Represents a feature geometry.
Definition: featureGeometry.h:39
DtAttachedTerrain * myTerrainAttachedTo
Definition: simObject.h:542
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:494
const makVrf::DtVrfGeometryStateComponent * myCurrentFrameVrfGeometryStateComponent
Definition: simObject.h:553

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)