VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfObjectStateRepository.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
16 #include "vrfobjparam/simSector.h"
19 #include "vrfutil/echelonId.h"
27 #include "tbb/mutex.h"
28 #include "tbb/queuing_rw_mutex.h"
32 
34 #include <vlpi/disEnums.h>
35 #include <vlpi/artPartSpec.h>
36 #include <vlutil/vlString.h>
37 #include <vlpi/thresholder.h>
38 
40 #include <vlutil/vlConfig.h>
41 #include <map>
42 #include <list>
43 
44 #include "boost/logic/tribool.hpp"
45 #include <boost/signals2.hpp>
46 
51 class DtVrfWeaponPSR;
52 class DtRwAppearance;
53 class DtTaskMessage;
59 class DtVrfObjectMessage;
62 class DtPhysicalWorld;
63 class DtAttachedTerrain;
64 
65 namespace makVrf
66 {
67  class DtArticulatedPartStateRepository;
68  class DtArticulatedPartManager;
69 }
70 
71 const int DtEntityVisibilityTest = 1;
74 
75 typedef bool (*DtVisibilityTest)(double rangeSquared, const DtEntityIdentifier& eyeKey,
76  const DtVector& localEyePoint, const DtVector& localEndPoint, const DtVrfObjectStateRepository* sr);
77 
91 {
92 protected:
95 
96 public:
97  typedef std::map<int, DtString> ExtendedLabels;
98  typedef std::map<DtString, DtString> ExtendedData;
99 
101  typedef std::map<DtString, std::map<DtString, DtRwJoystickControl> > JoystickControls;
102 
104  DtVrfObjectStateRepository(DtLocalObject* vrfObject, const DtString& rwName = DtString::nullString(),
105  DtReaderWriterRegistry* parentRegistry = 0);
106 
108  virtual ~DtVrfObjectStateRepository();
109 
110 private:
113 
116  const DtVrfObjectStateRepository& orig);
117 
118 public:
119  virtual DtString type() const;
120 
122  virtual const int objectStateRepositorySubType() const;
123 
125  virtual const int vrfObjectStateRepositorySubType() const;
126 
127  virtual bool init();
128  virtual void initializeFromParameters();
129 
131  boost::signals2::signal<void (DtVrfObjectStateRepository*)> signal_postInitFromParams;
132 
134  boost::signals2::signal<void ()> signal_statePropertiesRestored;
135 
137  virtual void setJoystickMovementControlled(bool);
138  virtual bool joystickMovementControlled() const;
139 
144  virtual DtVrfStateRepositoryUserExtension* userExtension() const;
145 
148  virtual void restoreEntity();
149 
152  virtual void addJoystickControls(const DtRwJoystickControls&);
153  virtual const JoystickControls& joystickControls() const;
155 
166 
167  virtual const DtObjectResourceManager* objectResourceManager() const;
168  virtual DtObjectResourceManager* objectResourceManager();
170 
179  virtual const DtSimResourceManager& oldResourceManager() const;
181  virtual DtSimResourceManager& oldResourceManager();
182 
184  virtual DtSimResource* oldLookupResource(const DtString & resourceName);
185  virtual const DtSimResource* oldLookupResource(const DtString & resourceName) const;
186 
189  virtual void oldAddResource(DtSimResource* resource);
190 
192  virtual void oldRemoveResource(DtSimResource* resource);
194 
197  virtual void setNavigationEnabled(bool);
198  virtual bool navigationEnabled() const;
200 
201  virtual void restoreResourcesFromParameters();
202 
205 
206  virtual void setSOR(DtReal center, DtReal size);
207 
208  virtual DtReal SORSize() const;
209  virtual DtReal SORCenter() const;
210 
211  virtual const DtSimSector& SOR() const;
213 
216  virtual void upgradeFromImport();
217 
220  virtual bool isContactHostile(DtRwSensorContactInfo*) const;
221 
223  virtual bool isContactHostile(const DtSimObject*) const;
224 
227  virtual bool isContactHostile(const DtVector& location, int perceivedForce) const;
228 
231  virtual bool inSOR(const DtSimObject* entity) const;
232 
235  virtual bool canFireAt(const DtVector& location) const;
236 
238 
239  virtual void setRequestTaskNeeded(bool value);
240  virtual bool requestTaskNeeded() const;
242 
245  virtual bool hasTasks() const;
246 
248  virtual void clearCurrentTaskMsg(const DtSymbolString& componentName);
249 
251  virtual void clearCurrentTaskMsg(const DtSymbolString& componentName, int taskId);
252 
254 
255  virtual void setCurrentTaskMsg(const DtSymbolString& componentName,
256  const DtTaskMessage & taskMsg);
257 
258  virtual void setCurrentTaskMsg(const DtSymbolString& componentName,
259  const DtTaskMessage & taskMsg, int taskId);
261 
263  virtual const DtTaskStatusList* taskStatusList() const;
264  virtual DtTaskStatusList* taskStatusList();
265  virtual DtSuspendedTaskStatusList* suspendedTaskStatusList();
266 
268  virtual DtTaskMessage* taskByType(const DtSimTaskMessageType& task) const;
269 
272  virtual DtTaskMessage* currentTaskMsg(const DtSymbolString& componentName) const;
273 
275  virtual DtTaskMessage* currentTaskMsg(const DtSymbolString& componentName, int taskId) const;
276 
278  virtual std::list<DtTaskMessage*> allCurrentTaskMsg(const DtSymbolString& componentName) const;
279 
280  virtual void putSelf(std::string& fp,
281  int indentLevel = 0,
282  bool writeUnspecified = false,
283  const DtFilename& path = DtReaderWriter::appPath());
284 
297  virtual bool placePoints(const DtAttachedTerrain& attachedTerrain,
298  std::vector<DtGroundInteractionPt*> groundInteractionPts,
299  bool* terrainDataAvailable = 0) const;
300 
304  virtual void updateSupportPoints(const DtVector& newPosition,
305  const DtReal newHeading);
306 
309 
310  virtual void processSimObjectDeleted( const DtSimObject* pRemovedObject );
312 
314  static DtVrfObjectStateRepository* createRepository(const DtString & name,
315  const DtString & type, DtLocalObject* simObject,
316  DtReaderWriterRegistry* parentRegistry = 0);
317 
318  static void addSimObjectStateRepositoryCreatorFcn(const DtString & type,
320 
325 
327  static void setFactory(DtSimObjectStateRepositoryFactory* factory);
329 
332 
333  virtual DtSimulationServices* simulationServices();
334  virtual const DtSimulationServices* simulationServices() const;
336 
339 
340  virtual DtPhysicalWorld* physicalWorld();
341  virtual const DtPhysicalWorld* physicalWorld() const;
343 
346  virtual void tick();
347 
352  virtual void timedTick();
353 
356  virtual void setMinTickPeriod(double minTickPeriod);
357 
359  virtual double minTickPeriod() const;
360 
362  virtual void setMinTickPeriodVariance(double minTickPeriodVariance);
363 
365  virtual double minTickPeriodVariance() const;
366 
370  virtual void setNextTickTime(double nextTickTime);
371 
373  virtual double nextTickTime() const;
374 
380  virtual double calculateNextTickTime() const;
381 
382  virtual bool createProcessStateRepositoryManager();
387 
388  virtual const DtVrfProcessStateRepositoryManager*
389  systemProcessStateRepositoryManager() const;
390  virtual DtVrfProcessStateRepositoryManager* systemProcessStateRepositoryManager();
392 
397  virtual DtVrfWeaponPSR* firstWeaponPSR() const;
398 
403  virtual void processObjectGeometry(const DtList& vertices);
404  virtual void processObjectGeometry(const DtLocalVertexList& vertices);
405 
412  virtual void processObjectGeometry();
413 
414  virtual DtGroundInteractionPt* groundCenter();
415  virtual const DtGroundInteractionPt* groundCenter() const;
416 
431  virtual void place(const DtVector& location, bool* dataAvailable = 0,
432  bool requireAllData = false);
433 
448  virtual void place(const DtReal heading, bool* dataAvailable = 0,
449  bool requireAllData = false);
450 
463  virtual void place(const DtVector& location, const DtReal heading,
464  bool clampToGroundFlag = true, bool* dataAvailable = 0,
465  bool requireAllData = false);
466 
469  virtual void reclampToGround();
470 
471  virtual DtReal mass() const;
472  virtual void setMass(const DtReal mass);
473 
474  virtual DtTime lastTimeFiredUpon() const;
475  virtual void setLastTimeFiredUpon(const DtTime time);
476 
477  virtual bool systemEnabled(const DtString& systemName) const;
478  virtual void setSystemEnabled(const DtString& systemName, bool enabled);
479 
481  virtual const DtRwPriorityTargetListMap& targetPriorityList() const;
482  virtual DtRwPriorityTargetListMap& targetPriorityList();
483  virtual void setTargetPriorityList(const DtRwPriorityTargetListMap& targetPriorityList);
484  virtual void appendToTargetPriorityList(const DtRwPriorityTargetListMap& targetPriorityList);
485 
488  virtual int targetPriorityLevel(const DtUUID& obj) const;
489 
495  DtNoSuppression = 0,
496  DtSuppressed1 = 1,
497  DtSuppressed2 = 2,
498  DtSuppressed3 = 3
499  };
500  virtual suppressionLevels suppressionLevel() const;
501  virtual void setSuppressionLevel(const suppressionLevels l);
502  virtual bool isSuppressed() const;
504 
506  virtual const DtString& nonLethalDamageEffect() const;
507  virtual void setNonLethalDamageEffect(const DtString& nonLethalDamageEffect);
508 
511 
512  virtual const DtUUID & occupyingObjectId() const;
513  virtual void setOccupyingObjectId(const DtUUID & objId);
515 
520  virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
521  const DtVariableBindingsList& variableBindings);
522 
524  virtual int nextTaskId();
525 
527  virtual int nextSuspendId();
528 
534 
535 
538  virtual int spawningTaskId(int subtaskId) const;
539 
540  virtual void addPendingSubtaskId(const DtSymbolString& componentName, int subtaskId);
541  virtual void addPendingSubtaskId(const DtSymbolString& componentName, int taskId, int subtaskId);
542  virtual bool findPendingSubtaskId(const DtSymbolString& componentName, int subtaskId);
543  virtual bool isSubtasked(const DtSymbolString& componentName) const;
544  virtual bool findPendingSubtaskId(const DtSymbolString& componentName, int taskId, int subtaskId);
545  virtual void removePendingSubtaskId(const DtSymbolString& componentName, int subtaskId);
546  virtual void removePendingSubtaskId(const DtSymbolString& componentName, int taskId, int subtaskId);
547  virtual void removeAllPendingSubtaskIds(const DtSymbolString& componentName);
548  virtual void removeAllPendingSubtaskIds(const DtSymbolString& componentName, int taskId);
549  virtual void removeInactiveSubtaskStatus(const DtSymbolString& componentName);
550  virtual void removeInactiveSubtaskStatus(const DtSymbolString& componentName, int taskId);
551  virtual void printPendingSubtaskIds(const DtSymbolString& componentName) const;
552  virtual std::vector<int> currentPendingSubstaskIds(const DtSymbolString& componentName) const;
553  virtual std::vector<int> currentPendingSubstaskIds(const DtSymbolString& componentName, int taskId) const;
554  virtual DtSubtaskStatusEntry* pendingSubtaskStatus(const DtSymbolString& componentName, int subtaskId);
555  virtual DtSubtaskStatusEntry* pendingSubtaskStatus(const DtSymbolString& componentName, int taskId, int subtaskId);
557 
560  virtual DtTaskMessage* pendingSubtask(int subtaskId, DtString& controller) const;
561 
565  virtual bool taskedBySuperiorUponTaskComplete() const;
566 
567  virtual void setParentWasDestroyedWhenEmbarked(bool);
568  virtual bool parentWasDestroyedWhenEmbarked() const;
569 
570  virtual void detachFromParent();
571  virtual bool attachToParent(const DtUUID& parent);
572  virtual bool attachToParent(DtSimObjectReference parent);
573 
577  DtVector localBoundingVolumeCenterPosition() const;
578 
580 
581  void setCurrentHeading(const DtReal heading);
583 
585 
586  virtual const DtRwNLengthUUIDVector& engagementZones() const;
587  virtual void setEngagementZones(const DtRwNLengthUUIDVector&);
589 
591  virtual void restoreStateProperties();
592 
594  virtual void initStatePropertiesNotToBeRestored();
595 
598  virtual void updateCachedStateProperties();
599 
601 
602  virtual void setTasked(const DtSymbolString& componentName, bool tasked);
603  virtual void setTasked(const DtSymbolString& componentName, int taskID, bool tasked);
604  virtual bool tasked(const DtSymbolString& componentName) const;
606 
607 protected:
608 
611  virtual void initializeNextTaskId();
612 
614  virtual void setOrientationRelativeToParent();
615 
616  virtual void postGetSelf();
617 
618 public:
619 
624  virtual double sensorSignature(const DtSymbolString& sensorDomain) const;
625 
628  virtual std::list<DtSymbolString> sensorSignatureDomains() const;
629 
636 
637  virtual DtSensorContactInfoList& objectContactList();
638  virtual const DtSensorContactInfoList& objectContactList() const;
640 
643  virtual DtString stringFromExtendedData(const DtString&) const;
644 
647  virtual void setFiredLaserMissileAtTarget(const DtUUID&);
648  virtual const DtUUID& firedLaserMissileAtTarget() const;
649 
650 protected:
652  virtual bool createObjectResourceManager();
653 
655  virtual void createLegacyRWData();
656  virtual void restoreFromLegacyRWData();
657  virtual void setToLegacyRWData();
658 
660  virtual void embarkedParentDeleted();
661 
662 public:
664 
665  static void taskCompleteCallback(const DtVrfObjectMessage* msg, void* usr);
666  virtual void processTaskComplete(const DtVrfObjectMessage* msg);
668 
669  static DtVrfObjectStateRepository * creator(const DtString& name,
670  DtLocalObject* simObject, DtReaderWriterRegistry * parentRegistry);
671 
672 protected:
678 
681 
683 
686 
690 
694 
695  DtReal myMass;
697 
702 
706 
709 
714 
716 
720 
725 
728 
731 
735 
736 protected:
738 
740 
741 protected:
742  //***** Important API change note
744  //*****
750 
756 
760 
762  std::vector<DtString> myStatePropertiesNotToBeRestored;
763 
766 
769 
770  bool myPaused;
772 
774 
775 public:
778 
781 
782  VRF4API_METHOD virtual void setDestroyed(bool isDestroyed);
783  VRF4API_METHOD virtual void setDamageState(int);
784  VRF4API_METHOD virtual const int damageState() const;
785  VRF4API_METHOD virtual int damageState();
786  VRF4API_METHOD virtual bool isDestroyed() const;
788 
791  VRF4API_METHOD virtual void setConcealed(bool);
792 
796 
797  VRF4API_METHOD virtual const DtAppearance appearance() const;
798  VRF4API_METHOD virtual const unsigned int appearanceBits() const;
799  VRF4API_METHOD virtual unsigned int appearanceBits();
800  VRF4API_METHOD virtual void setAppearance(int);
801  VRF4API_METHOD virtual void setAppearance(const DtAppearance& app);
802 
804 
808 
809  VRF4API_METHOD virtual void setCapabilities(int cap);
810  VRF4API_METHOD virtual int capabilities() const;
812 
813  VRF4API_METHOD virtual void setPowerPlantOn(bool);
814  VRF4API_METHOD bool powerPlantOn() const;
815 
816  VRF4API_METHOD virtual void setFrozen(bool);
817  VRF4API_METHOD bool frozen() const;
818 
821  VRF4API_METHOD virtual void setInvisible(bool);
822  VRF4API_METHOD virtual bool invisible() const;
823 
825  VRF4API_METHOD virtual void setHasPlan(bool);
826  VRF4API_METHOD bool hasPlan() const;
827 
829  VRF4API_METHOD virtual void setExecutingPlan(bool);
830  VRF4API_METHOD bool executingPlan() const;
831 
836 
837  VRF4API_METHOD virtual void setOccupantsHidden(bool v);
838  VRF4API_METHOD virtual bool occupantsHidden() const;
840 
842  VRF4API_METHOD virtual void setInvulnerable(bool);
843  VRF4API_METHOD virtual bool invulnerable() const;
844 
846  VRF4API_METHOD virtual void setUndetectable(bool);
847  VRF4API_METHOD virtual bool undetectable() const;
848 
851  VRF4API_METHOD virtual void setInvisibleSetByUser(bool);
852  VRF4API_METHOD virtual bool invisibleSetByUser() const;
853 
861 
862  VRF4API_METHOD DtReal healthPct() const;
863  VRF4API_METHOD void setHealthPct(DtReal pct);
865 
868 
869  VRF4API_METHOD bool firePowerKilled() const;
870  VRF4API_METHOD void setFirePowerKilled(const bool firePowerKilled);
871 
872  VRF4API_METHOD bool mobilityKilled() const;
873  VRF4API_METHOD void setMobilityKilled(const bool mobilityKilled);
874 
875  VRF4API_METHOD bool flaming() const;
876  VRF4API_METHOD void setFlaming(const bool flaming);
877 
878  VRF4API_METHOD bool smoking() const;
879  VRF4API_METHOD void setSmoking(const bool smoking);
881 
883  VRF4API_METHOD bool sensorsKilled() const;
884  VRF4API_METHOD void setSensorsKilled(bool sensorsKilled);
885 
891  VRF4API_METHOD void addSubordinate(const DtSimObject* subordinateEntity);
892 
894  VRF4API_METHOD void removeSubordinate(const DtSimObject* subordinateEntity);
895 
897  VRF4API_METHOD virtual DtSimObjectReference leadEntity();
898 
900  VRF4API_METHOD virtual DtSimObjectReference firstSubordinate();
901 
903  VRF4API_METHOD virtual DtSimObjectReference lastSubordinate();
904 
906  VRF4API_METHOD virtual DtSimObjectReference firstHealthySubordinate();
907 
910 
911  VRF4API_METHOD virtual void setIndependentlyTasked(bool value);
912  VRF4API_METHOD virtual bool independentlyTasked() const;
914 
917 
918  VRF4API_METHOD virtual void setEchelonId(const DtEchelonId& echelonId);
919  VRF4API_METHOD virtual DtEchelonId echelonId();
920  VRF4API_METHOD virtual const DtEchelonId echelonId() const;
922 
923  VRF4API_METHOD virtual bool underFire() const;
924  VRF4API_METHOD virtual void setUnderFire(bool underFire);
925 
926  VRF4API_METHOD virtual void setIsTasked(bool);
927  VRF4API_METHOD bool isTasked() const;
928 
929  VRF4API_METHOD virtual const DtString engagementRules() const;
930  VRF4API_METHOD virtual void setEngagementRules(const DtString& engagementRules);
931 
933 
934  VRF4API_METHOD virtual void setIsSubordinateOfForceLevel(bool yesNo);
935  VRF4API_METHOD virtual bool isSubordinateOfForceLevel() const;
937 
939  VRF4API_METHOD virtual void setupExtendedDataFromParameterData();
940 
942  VRF4API_METHOD virtual void appendExtendedData(const std::map<DtString, DtString>&);
943 
948  VRF4API_METHOD virtual void setExtendedData(const DtString& key, const DtString& value);
949  VRF4API_METHOD virtual void clearExtendedData();
950  VRF4API_METHOD virtual void removeExtendedData(const DtString& key);
951  VRF4API_METHOD virtual const DtString extendedData(const DtString& key) const;
952  VRF4API_METHOD virtual const DtString extendedData(const DtString& key);
953  VRF4API_METHOD const ExtendedData extendedDataMap() const;
954  VRF4API_METHOD virtual void setExtendedDataMap(const ExtendedData&);
955  VRF4API_METHOD virtual void setExtendedDataMap(const std::map<std::string, std::string>&);
956 
958 
962  VRF4API_METHOD virtual void setExtendedLabel(int, const DtString& value);
963  VRF4API_METHOD virtual void clearExtendedLabels();
964  VRF4API_METHOD virtual DtString extendedLabel(int index) const;
965  VRF4API_METHOD virtual ExtendedLabels extendedLabels() const;
966  VRF4API_METHOD virtual void setExtendedLabels(const ExtendedLabels&);
968 
969  VRF4API_METHOD bool fuelLevelsFrozen() const;
970  VRF4API_METHOD bool munitionLevelsFrozen() const;
971  VRF4API_METHOD bool firePowerDisabled() const;
972  VRF4API_METHOD const DtVrfObjectParameters* parameters() const;
973 
975 
976  VRF4API_METHOD virtual const DtRwProperties& stateProperties() const;
977 
979  VRF4API_METHOD virtual DtRwProperties& stateProperties();
980 
981  VRF4API_METHOD virtual void setStateProperties(const DtRwProperties&);
983 
985 
986 
987  VRF4API_METHOD const DtRwProperties& parameterProperties() const;
988 
991  VRF4API_METHOD virtual bool canHaveSubordinates() const;
992 
993  VRF4API_METHOD virtual DtSubordinateManager* vrfSubordinates();
994  VRF4API_METHOD virtual const DtSubordinateManager* vrfSubordinates() const;
995 
996  VRF4API_METHOD const makVrf::DtArticulatedPartManager& articulatedParts() const;
998  VRF4API_METHOD const DtArticulatedPartCollection& artPartList() const;
1000 
1002  //{@
1003  VRF4API_METHOD virtual void addRangeItem(const DtRangeItem&);
1004  VRF4API_METHOD virtual void removeRangeItem(int index);
1005  VRF4API_METHOD virtual void setRangeItems(const DtRangeItems&);
1006  VRF4API_METHOD const DtRangeItems& rangeItems() const;
1007  VRF4API_METHOD DtRangeItems& rangeItems();
1008  VRF4API_METHOD virtual void clearRangeItems();
1010 
1011  VRF4API_METHOD const DtSimObject* parent() const;
1012 
1015  VRF4API_METHOD virtual void setActivity(const DtString&);
1016  VRF4API_METHOD virtual DtString activity() const;
1017 
1018  VRF4API_METHOD virtual const DtAttachedTerrain* terrainAttachedTo() const;
1019 
1021  VRF4API_METHOD void setBlockParachute(bool);
1022  VRF4API_METHOD bool blockParachute() const;
1023  VRF4API_METHOD bool onTerrainSurface() const;
1024 
1025  VRF4API_METHOD DtDeadReckonTypes deadReckoningAlgorithm() const;
1026  VRF4API_METHOD void setDeadReckoningAlgorithm(
1027  DtDeadReckonTypes deadReckoningAlgorithm);
1028 
1030 
1031  VRF4API_METHOD DtThresholder deadReckoningThresholder() const;
1032  VRF4API_METHOD void setDeadReckoningThresholder(
1033  const DtThresholder& thresholder);
1035 
1037 };
1038 
1039 #include "vrfobjcore/vrfObjectStateRepository.inl"
UUID is a unique ID wrapper class.
Definition: rwUUID.h:229
Instances of DtVrfObjectParameters are the readable/writeable objects that contain the information ne...
Definition: vrfObjectParameters.h:63
DtRwBoolean myParentWasDestroyedWhenEmbarked
Set to true when the entity is embarked on a destroyed parent so they do not become destroyed...
Definition: vrfObjectStateRepository.h:724
double myNextTickTime
Definition: vrfObjectStateRepository.h:754
DtTaskStatusList myTaskStatusList
Contains the myTasked and myCurrentTaskMsg members from the DtTaskControllerComponent class...
Definition: vrfObjectStateRepository.h:713
double myLastTickSimTime
Definition: vrfObjectStateRepository.h:755
const int DtPolygonVisibilityTest
Definition: vrfObjectStateRepository.h:72
The articulated part manager maintains a tree of articulated and attached parts for the state reposit...
Definition: articulatedPartManager.h:34
Definition: attachedTerrain.h:45
Objects may contain a collection of other objects, such as overlays or pseudo-aggregate entities...
Definition: subordinateManager.h:43
suppressionLevels
The current suppression level. An enumeration with 4 values. Determined from suppression value in the...
Definition: vrfObjectStateRepository.h:494
virtual void postGetSelf()
Hook function called immediately following getSelf().
DtReal myMass
Definition: vrfObjectStateRepository.h:695
This is a DtReaderWriter subclass which holds the status of a subtask that was issues by another task...
Definition: taskStatusEntry.h:27
Definition: symbolString.h:20
virtual const int objectStateRepositorySubType() const
virtual void restoreFromLegacyRWData()
A readable, writable type that holds an articulated part type, attached-to part type, attachment point, and a list of art-part params (DtSimArtPartParamList). The read/write name is not used for anything in particular, and therefore may be used for file readability.
Definition: simArtPartDescriptor.h:28
virtual bool init()
Our &#39;virtual&#39; constructor. Calls all the create&lt;&gt;() methods.
DtRwStringList mySystemsDisabledList
if this object is a subordinate, this is used to write out the name of the parent ...
Definition: vrfObjectStateRepository.h:734
DtRwInt myNextSuspendId
Definition: vrfObjectStateRepository.h:719
Description: DtSimSector is a readable/writable description of a sector of responsibility (center and...
Definition: simSector.h:20
virtual void detachFromParent()
boost::signals2::signal< void()> signal_statePropertiesRestored
Signal sent when state properties are restored.
Definition: vrfObjectStateRepository.h:134
voidpf void uLong size
Definition: ioapi.h:39
boost::signals2::signal< void(DtVrfObjectStateRepository *)> signal_postInitFromParams
Signal sent right after initializeFromParameters is called.
Definition: vrfObjectStateRepository.h:131
The DtSimObjectReference is a shared pointer that can be used amongst many object for access to the u...
Definition: simObjectReference.h:26
DtObjectResourceManager * myObjectResourceManager
Definition: vrfObjectStateRepository.h:739
bool myPaused
Definition: vrfObjectStateRepository.h:770
Description: Readable, Writable DtString Variable substitutions are done on this object when it is re...
Definition: rwString.h:20
class DtSimResourceManager:
Definition: simResourceManager.h:38
Definition: simObjectStateRepository.h:59
std::map< DtString, std::map< DtString, DtRwJoystickControl > > JoystickControls
Controls by function group.
Definition: vrfObjectStateRepository.h:101
Definition: readerWriterRegistry.h:39
DtSimResourceManager myResourceManager
This resource manager is used for all the top-level resource only. Component Systems now contain reso...
Definition: vrfObjectStateRepository.h:701
DtVrfProcessStateRepositoryManager * mySystemProcessSRManager
Definition: vrfObjectStateRepository.h:679
class DtVrfProcessStateRepositoryManager:
Definition: vrfProcessStateRepositoryManager.h:49
DtSimulationServices * mySimulationServices
Definition: vrfObjectStateRepository.h:680
This class represents the data gathered by a sensor about a particular single sensor contact...
Definition: rwSensorContactInfo.h:68
File: weaponPSR.h.
Definition: vrfWeaponPSR.h:33
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
A reader-writer list of DtRwSensorContactInfo elements. Use the DtRwList::add() and remove() methods ...
Definition: sensorContactInfoList.h:32
const DtSimObjectStateRepository & operator=(const DtSimObjectStateRepository &orig)
double myMinTickPeriodVariance
Definition: vrfObjectStateRepository.h:753
DtSensorContactInfoList myObjectContactList
The situational awareness of this object. List of other objects that this object is currently aware o...
Definition: vrfObjectStateRepository.h:759
Description: Readable, Writable uuid string. Use this class in order to convert from object marking t...
Definition: rwUUID.h:431
DtRwInt mySuppressionLevel
The current enumerated level of suppression, derived from the value.
Definition: vrfObjectStateRepository.h:689
DtGroundInteractionPt myGroundCenter
Definition: vrfObjectStateRepository.h:682
DtSimSector mySectorOfResponsibility
These really apply to a single weapon, and should be part of a weapon controller/actuator suite of so...
Definition: vrfObjectStateRepository.h:705
static DtReaderWriterFactory * factory()
Definition: rangeItem.h:149
The DtPhysicalWorld is the primary interface to and manager of all of the &quot;physical&quot; aspects of the s...
Definition: physicalWorld.h:102
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
DtSuspendedTaskStatusList mySuspendedTaskStatusList
Definition: vrfObjectStateRepository.h:715
Definition: taskStatusList.h:21
Version of the DtVrfProcessStateRepositoryManager that is used specifically to read in scenario files...
Definition: legacyProcessStateRepositoryManager.h:27
DtVrfObjectStateRepository *(* DtSimObjectStateRepositoryCreatorFcn)(const DtString &name, DtLocalObject *simObjects, DtReaderWriterRegistry *parentRegistry)
Definition: simObjectStateRepositoryFactory.h:20
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
const int DtEntityVisibilityTest
Definition: vrfObjectStateRepository.h:71
DtRwInt myNextTaskId
The next available ID that can be assigned to a task for this entity.
Definition: vrfObjectStateRepository.h:718
Class Description: Readable, writable form of DtAppearance.
Definition: rwAppearance.h:16
DtRwBoolean myRequestTaskNeeded
Moved here from the DtLocalTaskManager class.
Definition: vrfObjectStateRepository.h:708
A list of DtSuspendedTaskStatusEntry instances, each representing a different suspend ID...
Definition: suspendedTaskInfo.h:107
DtTime myLastTimeFiredUpon
Under fire parameters.
Definition: vrfObjectStateRepository.h:685
Description: Readable, Writable int.
Definition: rwInt.h:25
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
virtual void createLegacyRWData()
Creates the legacy data used for any pre/put operation. Override this to create your legacy data atta...
Instances of DtVrfStateRepositoryUserExtension can be used by customers to extend the base DtVrfObjec...
Definition: vrfStateRepositoryUserExtension.h:20
DtRwUUID myFiredLaserMissileAtTarget
Definition: vrfObjectStateRepository.h:1036
class DtSimObjectStateRepositoryFactory:
Definition: simObjectStateRepositoryFactory.h:29
Definition: rangeItem.h:206
The base class for all messages to/from a specific DtVrfObject. Various subclasses of this class will...
Definition: vrfObjectMessage.h:30
JoystickControls myJoystickControls
Map of available joystick controls for this particular entity.
Definition: vrfObjectStateRepository.h:765
This is the top-level resource manager for a DtLocalObject. The actual resources are stored in DtSimR...
Definition: objectResourceManager.h:21
DtRwString myNonLethalDamageEffect
The current non lethal damage type (sick, faint, etc.). Default value is empty string.
Definition: vrfObjectStateRepository.h:693
virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
Top level to read itself from an input stream. searchPath is passed down to all DtReaderWriter member...
bool myJoystickMovementControlled
If true movement is controlled by joystick so will not be able to be taskable as a subordinate...
Definition: vrfObjectStateRepository.h:768
virtual void putSelf(std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
Top level call to write itself to file. If write unspecified is true, will write entries that are uns...
Definition: echelonId.h:13
DtSubordinateManager * mySubordinateManager
Definition: vrfObjectStateRepository.h:771
bool(* DtVisibilityTest)(double rangeSquared, const DtEntityIdentifier &eyeKey, const DtVector &localEyePoint, const DtVector &localEndPoint, const DtVrfObjectStateRepository *sr)
Definition: vrfObjectStateRepository.h:75
DtVrfStateRepositoryUserExtension * myStateRepositoryUserExtension
Data that is &quot;private&quot; to this object in that it should be the only one that is referencing this data...
Definition: vrfObjectStateRepository.h:676
virtual void setToLegacyRWData()
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:90
std::map< int, DtString > ExtendedLabels
Definition: vrfObjectStateRepository.h:97
std::map< DtString, DtString > ExtendedData
Definition: vrfObjectStateRepository.h:98
DtRwNLengthUUIDVector is a named, readable/writable vector of DtUUIDs. Can be used in place of a NLen...
Definition: rwNLengthUUIDVector.h:30
DtRwNLengthUUIDVector myEngagementZones
Definition: vrfObjectStateRepository.h:677
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
double myMinTickPeriod
For performance and memory usage reasons, the copy of the parameter entry that used to be made when c...
Definition: vrfObjectStateRepository.h:752
DtUUID myOccupyingObjectId
Definition: vrfObjectStateRepository.h:696
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
DtPlatformLocalObjectFacade myPlatformLocalObjectFacade
Definition: vrfObjectStateRepository.h:773
DtSimResource is an abstract base class that can be used to create a hierarchical resource list of a ...
Definition: simResource.h:41
virtual bool attachToParent(const DtUUID &parent)
Looks up the parent state repository using the given echelon ID and puts it in a call to attachToPare...
Class Invariant: The DtGroundInteractionPt class must always have a valid DtAttachedTerrain or DtSimM...
Definition: groundInteractionPt.h:28
static DtSimObjectStateRepositoryFactory * theFactory
Definition: vrfObjectStateRepository.h:737
DtRwBoolean myNavigationEnabled
Whether or not this object can navigate in navigation areas. Default is true.
Definition: vrfObjectStateRepository.h:727
Definition: rwStringList.h:20
A list of properties. A DtPropertyInterface object that is a specialized version of DtRwVariableBindi...
Definition: rwProperties.h:126
virtual void processSimObjectDeleted(const DtSimObject *)
These callbacks are used to set myAttachedToStateRepository when this ent gets attached/detached to/f...
std::vector< DtString > myStatePropertiesNotToBeRestored
The list of state properties that should not be updated by restoreStateProperties.
Definition: vrfObjectStateRepository.h:762
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 DtTaskMsg is a DtRadioMsg with a pointer to a task. The type of the taskMsg is just the type of the...
Definition: taskMessage.h:21
const int DtFeatureVisibilityTest
Definition: vrfObjectStateRepository.h:73
static const DtFilename & appPath()
Gets the current working directory. The first time this accessor is called, it determines the current...
DtRwPriorityTargetListMap myTargetPriorityList
Target Priority List.
Definition: vrfObjectStateRepository.h:730
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 DtString type() const
returns DtSimObjectStateRepositoryType

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)