VR-Forces 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"
18 #include <vlpi/entityType.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;
58 class DtVrfObjectMessage;
61 class DtPhysicalWorld;
62 class DtAttachedTerrain;
63 class DtWeaponInfoList;
65 
66 namespace makVrf
67 {
68  class DtArticulatedPartStateRepository;
69  class DtArticulatedPartManager;
70 }
71 
72 const int DtEntityVisibilityTest = 1;
75 
76 typedef bool (*DtVisibilityTest)(double rangeSquared, const DtEntityIdentifier& eyeKey,
77  const DtVector& localEyePoint, const DtVector& localEndPoint, const DtVrfObjectStateRepository* sr);
78 
92 {
93 protected:
96 
97 public:
98  typedef std::map<int, DtString> ExtendedLabels;
99  typedef std::map<DtString, DtString> ExtendedData;
100 
102  typedef std::map<DtString, std::map<DtString, DtRwJoystickControl> > JoystickControls;
103 
105  DtVrfObjectStateRepository(DtLocalObject* vrfObject, const DtString& rwName = DtString::nullString(),
106  DtReaderWriterRegistry* parentRegistry = nullptr);
107 
109  virtual ~DtVrfObjectStateRepository() override;
110 
111 private:
114 
117  const DtVrfObjectStateRepository& orig);
118 
119 public:
120  virtual DtString type() const override;
121 
123  virtual const int objectStateRepositorySubType() const override;
124 
126  virtual const int vrfObjectStateRepositorySubType() const;
127 
128  virtual bool init() override;
129  virtual void initializeFromParameters();
130 
132  boost::signals2::signal<void (DtVrfObjectStateRepository*)> signal_postInitFromParams;
133 
135  boost::signals2::signal<void ()> signal_statePropertiesRestored;
136 
138  virtual void setJoystickMovementControlled(bool);
139  virtual bool joystickMovementControlled() const;
140 
145  virtual DtVrfStateRepositoryUserExtension* userExtension() const;
146 
149  virtual void restoreEntity();
150 
153  virtual void resolveResourcesAfterLoad(const DtSimResourceManager&);
154 
157  virtual void addJoystickControls(const DtRwJoystickControls&);
158  virtual const JoystickControls& joystickControls() const;
160 
163 
164  virtual const DtSimResourceManager& resourceManager() const
165  {
166  return myResourceManager;
167  }
168 
170  {
171  return myResourceManager;
172  }
174 
179  virtual void setNavigationEnabled(bool);
180  virtual bool navigationEnabled() const;
182 
183  virtual void restoreResourcesFromParameters();
184 
187 
188  virtual void setSOR(DtReal center, DtReal size);
189 
190  virtual DtReal SORSize() const;
191  virtual DtReal SORCenter() const;
192 
193  virtual const DtSimSector& SOR() const;
195 
198  virtual void upgradeFromImport();
199 
202  virtual bool isContactHostile(DtRwSensorContactInfo*) const;
203 
205  virtual bool isContactHostile(const DtSimObject*) const;
206 
209  virtual bool isContactHostile(const DtVector& location, int perceivedForce) const;
210 
213  virtual bool inSOR(const DtSimObject* entity) const;
214 
217  virtual bool canFireAt(const DtVector& location) const;
218 
220 
221  virtual void setRequestTaskNeeded(bool value);
222  virtual bool requestTaskNeeded() const;
224 
227  virtual bool hasTasks() const;
228 
230  virtual void clearCurrentTaskMsg(const DtSymbolString& componentName);
231 
233  virtual void clearCurrentTaskMsg(const DtSymbolString& componentName, int taskId);
234 
236 
237  virtual void setCurrentTaskMsg(const DtSymbolString& componentName,
238  const DtTaskMessage & taskMsg);
239 
240  virtual void setCurrentTaskMsg(const DtSymbolString& componentName,
241  const DtTaskMessage & taskMsg, int taskId);
243 
245  virtual const DtTaskStatusList* taskStatusList() const;
246  virtual DtTaskStatusList* taskStatusList();
248  virtual std::string taskStatusListPrintString() const;
249 
250  virtual DtSuspendedTaskStatusList* suspendedTaskStatusList();
252  virtual std::string suspendedTaskListPrintString() const;
253 
255  virtual DtTaskMessage* taskByType(const DtSimTaskMessageType& task) const;
256 
259  virtual DtTaskMessage* currentTaskMsg(const DtSymbolString& componentName) const;
260 
262  virtual DtTaskMessage* currentTaskMsg(const DtSymbolString& componentName, int taskId) const;
263 
265  virtual std::list<DtTaskMessage*> allCurrentTaskMsg(const DtSymbolString& componentName) const;
266 
267  virtual void setReinitializing(bool);
268  bool reinitializing() const
269  {
270  return myReinitializing;
271  }
272 
285  virtual bool placePoints(const DtAttachedTerrain& attachedTerrain,
286  std::vector<DtGroundInteractionPt*> groundInteractionPts,
287  bool* terrainDataAvailable = nullptr) const;
288 
292  virtual void updateSupportPoints(const DtVector& newPosition,
293  const DtReal newHeading);
294 
297 
298  virtual void processSimObjectDeleted( const DtSimObject* pRemovedObject ) override;
300 
302  static DtVrfObjectStateRepository* createRepository(const DtString & name,
303  const DtString & type, DtLocalObject* simObject,
304  DtReaderWriterRegistry* parentRegistry = nullptr);
305 
306  static void addSimObjectStateRepositoryCreatorFcn(const DtString & type,
308 
313 
315  static void setFactory(DtSimObjectStateRepositoryFactory* factory);
317 
320 
321  virtual DtSimulationServices* simulationServices();
322  virtual const DtSimulationServices* simulationServices() const;
324 
327 
328  virtual DtPhysicalWorld* physicalWorld();
329  virtual const DtPhysicalWorld* physicalWorld() const;
331 
334  virtual void tick();
335 
340  virtual void timedTick();
341 
344  virtual void setMinTickPeriod(double minTickPeriod);
345 
347  virtual double minTickPeriod() const;
348 
350  virtual void setMinTickPeriodVariance(double minTickPeriodVariance);
351 
353  virtual double minTickPeriodVariance() const;
354 
358  virtual void setNextTickTime(double nextTickTime);
359 
361  virtual double nextTickTime() const;
362 
368  virtual double calculateNextTickTime() const;
369 
370  virtual bool createProcessStateRepositoryManager();
375 
376  virtual const DtVrfProcessStateRepositoryManager*
377  systemProcessStateRepositoryManager() const;
378  virtual DtVrfProcessStateRepositoryManager* systemProcessStateRepositoryManager();
380 
385  virtual DtVrfWeaponPSR* firstWeaponPSR() const;
386 
391  virtual void processObjectGeometry(const DtList& vertices);
392  virtual void processObjectGeometry(const DtLocalVertexList& vertices);
393 
400  virtual void processObjectGeometry();
401 
402  virtual DtGroundInteractionPt* groundCenter();
403  virtual const DtGroundInteractionPt* groundCenter() const;
404 
419  virtual void place(const DtVector& location, bool* dataAvailable = nullptr,
420  bool requireAllData = false);
421 
436  virtual void place(const DtReal heading, bool* dataAvailable = nullptr,
437  bool requireAllData = false);
438 
451  virtual void place(const DtVector& location, const DtReal heading,
452  bool clampToGroundFlag = true, bool* dataAvailable = nullptr,
453  bool requireAllData = false);
454 
457  virtual void reclampToGround();
458 
459  virtual DtReal mass() const;
460  virtual void setMass(const DtReal mass);
461 
462  virtual DtTime lastTimeFiredUpon() const;
463  virtual void setLastTimeFiredUpon(const DtTime time);
464 
465  virtual bool systemEnabled(const DtString& systemName) const;
466  virtual void setSystemEnabled(const DtString& systemName, bool enabled);
467 
469  virtual const DtRwPriorityTargetListMap& targetPriorityList() const;
470  virtual DtRwPriorityTargetListMap& targetPriorityList();
471  virtual void setTargetPriorityList(const DtRwPriorityTargetListMap& targetPriorityList);
472  virtual void appendToTargetPriorityList(const DtRwPriorityTargetListMap& targetPriorityList);
473 
476  virtual int targetPriorityLevel(const DtUUID& obj) const;
477 
483  DtNoSuppression = 0,
484  DtSuppressed1 = 1,
485  DtSuppressed2 = 2,
486  DtSuppressed3 = 3
487  };
488  virtual suppressionLevels suppressionLevel() const;
489  virtual void setSuppressionLevel(const suppressionLevels l);
490  virtual bool isSuppressed() const;
492 
494  virtual const DtString& nonLethalDamageEffect() const;
495  virtual void setNonLethalDamageEffect(const DtString& nonLethalDamageEffect);
496 
499 
500  virtual const DtUUID & occupyingObjectId() const;
501  virtual void setOccupyingObjectId(const DtUUID & objId);
503 
508  virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
509  const DtVariableBindingsList& variableBindings) override;
510 
512  virtual int nextTaskId();
513 
515  virtual int nextSuspendId();
516 
522 
523 
526  virtual int spawningTaskId(int subtaskId) const;
527 
528  virtual void addPendingSubtaskId(const DtSymbolString& componentName, int subtaskId);
529  virtual void addPendingSubtaskId(const DtSymbolString& componentName, int taskId, int subtaskId);
530  virtual bool findPendingSubtaskId(const DtSymbolString& componentName, int subtaskId);
531  virtual bool isSubtasked(const DtSymbolString& componentName) const;
532  virtual bool findPendingSubtaskId(const DtSymbolString& componentName, int taskId, int subtaskId);
533  virtual void removePendingSubtaskId(const DtSymbolString& componentName, int subtaskId);
534  virtual void removePendingSubtaskId(const DtSymbolString& componentName, int taskId, int subtaskId);
535  virtual void removeAllPendingSubtaskIds(const DtSymbolString& componentName);
536  virtual void removeAllPendingSubtaskIds(const DtSymbolString& componentName, int taskId);
537  virtual void removeInactiveSubtaskStatus(const DtSymbolString& componentName);
538  virtual void removeInactiveSubtaskStatus(const DtSymbolString& componentName, int taskId);
539  virtual void printPendingSubtaskIds(const DtSymbolString& componentName) const;
540  virtual std::vector<int> currentPendingSubstaskIds(const DtSymbolString& componentName) const;
541  virtual std::vector<int> currentPendingSubstaskIds(const DtSymbolString& componentName, int taskId) const;
542  virtual DtSubtaskStatusEntry* pendingSubtaskStatus(const DtSymbolString& componentName, int subtaskId);
543  virtual DtSubtaskStatusEntry* pendingSubtaskStatus(const DtSymbolString& componentName, int taskId, int subtaskId);
545 
548  virtual DtTaskMessage* pendingSubtask(int subtaskId, DtString& controller) const;
549 
553  virtual bool taskedBySuperiorUponTaskComplete() const;
554 
555  virtual void setParentWasDestroyedWhenEmbarked(bool);
556  virtual bool parentWasDestroyedWhenEmbarked() const;
557 
558  virtual void detachFromParent() override;
559  virtual bool attachToParent(const DtUUID& parent) override;
560  virtual bool attachToParent(DtSimObjectReference parent) override;
561 
565  DtVector localBoundingVolumeCenterPosition() const;
566 
568 
569  void setCurrentHeading(const DtReal heading);
571 
573 
574  virtual const DtRwNLengthUUIDVector& engagementZones() const;
575  virtual void setEngagementZones(const DtRwNLengthUUIDVector&);
577 
579  virtual void restoreStateProperties();
580 
582  virtual void initStatePropertiesNotToBeRestored();
583 
586  virtual void updateCachedStateProperties();
587 
597 
598  virtual const DtRwProperties& internalStateProperties(const DtString& context) const;
599  virtual DtRwProperties& internalStateProperties(const DtString& context);
600  virtual const DtRwProperties& internalStateProperties() const;
601  virtual DtRwProperties& internalStateProperties();
603 
605 
606  virtual void setTasked(const DtSymbolString& componentName, bool tasked);
607  virtual void setTasked(const DtSymbolString& componentName, int taskID, bool tasked);
608  virtual bool tasked(const DtSymbolString& componentName) const;
610 
611 protected:
614  virtual void updatePotentialUUIDFromImport(DtReaderWriter*);
615 
618  virtual void initializeNextTaskId();
619 
621  virtual void setOrientationRelativeToParent();
622 
623  virtual void preGetSelf() override;
624  virtual void postGetSelf() override;
625  virtual void prePutSelf() override;
626 
627 public:
628 
633  virtual double sensorSignature(const DtSymbolString& sensorDomain) const;
634 
637  virtual std::list<DtSymbolString> sensorSignatureDomains() const;
638 
645 
646  virtual DtSensorContactInfoList& objectContactList();
647  virtual const DtSensorContactInfoList& objectContactList() const;
649 
651 
652  virtual DtWeaponInfoList* weaponInfoList();
653  virtual const DtWeaponInfoList* weaponInfoList() const;
655 
659 
660  virtual void setUserTarget(const DtUUID& target);
661  virtual DtUUID userTarget() const;
663 
666  virtual DtString stringFromExtendedData(const DtString&) const;
667 
668  virtual const DtAttachedTerrain* terrainAttachedTo() const;
669 
673  typedef std::map<DtString, void*> InternalUserDataMap;
674  virtual void setInternalUserData(const DtString& s, void*);
675  virtual void* getInternalUserData(const DtString&) const;
676  virtual void removeInternalUserData(const DtString&);
677  virtual void clearInternalUserData();
679  {
680  return myInternalUserDataMap;
681  }
683 
684 protected:
685 
687  virtual void createLegacyRWData() override;
688  virtual void restoreFromLegacyRWData() override;
689  virtual void setToLegacyRWData() override;
690 
692  virtual void embarkedParentDeleted();
693 
695  virtual bool createResourceDatabaseLogger();
696 
697 public:
699 
700  static void taskCompleteCallback(const DtVrfObjectMessage* msg, void* usr);
701  virtual void processTaskComplete(const DtVrfObjectMessage* msg);
703 
704  static DtVrfObjectStateRepository * creator(const DtString& name,
705  DtLocalObject* simObject, DtReaderWriterRegistry * parentRegistry);
706 
707 protected:
713 
716 
718 
721 
725 
729 
730  DtReal myMass;
732 
737 
741 
744 
749 
751 
755 
760 
763 
766 
771 
773 
775 
776 protected:
778 
779 protected:
780  //***** Important API change note
782  //*****
788 
794 
798 
802 
804  std::vector<DtString> myStatePropertiesNotToBeRestored;
805 
808 
811 
812  bool myPaused;
813 
814  DtSimResourceManager* myResourcesToUpgrade = nullptr;
815 
817 
820 
821  bool myReinitializing = false;
822 
823 public:
826 
829 
830  VRF4API_METHOD virtual void setDestroyed(bool isDestroyed);
831  VRF4API_METHOD virtual void setDamageState(int);
832  VRF4API_METHOD virtual const int damageState() const;
833  VRF4API_METHOD virtual int damageState();
834  VRF4API_METHOD virtual bool isDestroyed() const;
836 
839  VRF4API_METHOD virtual void setConcealed(bool);
840 
844 
845  VRF4API_METHOD virtual const DtAppearance appearance() const;
846  VRF4API_METHOD virtual const unsigned int appearanceBits() const;
847  VRF4API_METHOD virtual unsigned int appearanceBits();
848  VRF4API_METHOD virtual void setAppearance(int);
849  VRF4API_METHOD virtual void setAppearance(const DtAppearance& app);
850 
852 
856 
857  VRF4API_METHOD virtual void setCapabilities(int cap);
858  VRF4API_METHOD virtual int capabilities() const;
860 
861  VRF4API_METHOD virtual void setPowerPlantOn(bool);
862  VRF4API_METHOD bool powerPlantOn() const;
863 
864  VRF4API_METHOD virtual void setFrozen(bool);
865  VRF4API_METHOD bool frozen() const;
866 
869  VRF4API_METHOD virtual void setInvisible(bool);
870  VRF4API_METHOD virtual bool invisible() const;
871 
873  VRF4API_METHOD virtual void setHasPlan(bool);
874  VRF4API_METHOD bool hasPlan() const;
875 
877  VRF4API_METHOD virtual void setExecutingPlan(bool);
878  VRF4API_METHOD bool executingPlan() const;
879 
884 
885  VRF4API_METHOD virtual void setOccupantsHidden(bool v);
886  VRF4API_METHOD virtual bool occupantsHidden() const;
888 
890  VRF4API_METHOD virtual void setInvulnerable(bool);
891  VRF4API_METHOD virtual bool invulnerable() const;
892 
894  VRF4API_METHOD virtual void setUndetectable(bool);
895  VRF4API_METHOD virtual bool undetectable() const;
896 
899  VRF4API_METHOD virtual void setInvisibleSetByUser(bool);
900  VRF4API_METHOD virtual bool invisibleSetByUser() const;
901 
909 
910  VRF4API_METHOD DtReal healthPct() const;
911  VRF4API_METHOD void setHealthPct(DtReal pct);
913 
916 
917  VRF4API_METHOD bool firePowerKilled() const;
918  VRF4API_METHOD void setFirePowerKilled(const bool firePowerKilled);
919 
920  VRF4API_METHOD bool mobilityKilled() const;
921  VRF4API_METHOD void setMobilityKilled(const bool mobilityKilled);
922 
923  VRF4API_METHOD bool flaming() const;
924  VRF4API_METHOD void setFlaming(const bool flaming);
925 
926  VRF4API_METHOD bool smoking() const;
927  VRF4API_METHOD void setSmoking(const bool smoking);
929 
931  VRF4API_METHOD bool sensorsKilled() const;
932  VRF4API_METHOD void setSensorsKilled(bool sensorsKilled);
933 
939  VRF4API_METHOD void addSubordinate(const DtSimObject* subordinateEntity);
940 
942  VRF4API_METHOD void removeSubordinate(const DtSimObject* subordinateEntity);
943 
945  VRF4API_METHOD virtual DtSimObjectReference leadEntity();
946 
948  VRF4API_METHOD virtual DtSimObjectReference firstSubordinate();
949 
951  VRF4API_METHOD virtual DtSimObjectReference lastSubordinate();
952 
954  VRF4API_METHOD virtual DtSimObjectReference firstHealthySubordinate();
955 
958 
959  VRF4API_METHOD virtual void setIndependentlyTasked(bool value);
960  VRF4API_METHOD virtual bool independentlyTasked() const;
962 
965 
966  VRF4API_METHOD virtual void setEchelonId(const DtEchelonId& echelonId);
967  VRF4API_METHOD virtual DtEchelonId echelonId();
968  VRF4API_METHOD virtual const DtEchelonId echelonId() const;
970 
971  VRF4API_METHOD virtual bool underFire() const;
972  VRF4API_METHOD virtual void setUnderFire(bool underFire);
973 
974  VRF4API_METHOD virtual void setIsTasked(bool);
975  VRF4API_METHOD bool isTasked() const;
976 
977  VRF4API_METHOD virtual const DtString engagementRules() const;
978  VRF4API_METHOD virtual void setEngagementRules(const DtString& engagementRules);
979 
981 
982  VRF4API_METHOD virtual void setIsSubordinateOfForceLevel(bool yesNo);
983  VRF4API_METHOD virtual bool isSubordinateOfForceLevel() const;
985 
987  VRF4API_METHOD virtual void setupExtendedDataFromParameterData();
988 
990  VRF4API_METHOD virtual void appendExtendedData(const std::map<DtString, DtString>&);
991 
996  VRF4API_METHOD virtual void setExtendedData(const DtString& key, const DtString& value);
997  VRF4API_METHOD virtual void clearExtendedData();
998  VRF4API_METHOD virtual void removeExtendedData(const DtString& key);
999  VRF4API_METHOD virtual const DtString extendedData(const DtString& key) const;
1000  VRF4API_METHOD virtual const DtString extendedData(const DtString& key);
1001  VRF4API_METHOD const ExtendedData extendedDataMap() const;
1002  VRF4API_METHOD virtual void setExtendedDataMap(const ExtendedData&);
1003  VRF4API_METHOD virtual void setExtendedDataMap(const std::map<std::string, std::string>&);
1004 
1006 
1010  VRF4API_METHOD virtual void setExtendedLabel(int, const DtString& value);
1011  VRF4API_METHOD virtual void clearExtendedLabels();
1012  VRF4API_METHOD virtual DtString extendedLabel(int index) const;
1013  VRF4API_METHOD virtual ExtendedLabels extendedLabels() const;
1014  VRF4API_METHOD virtual void setExtendedLabels(const ExtendedLabels&);
1016 
1017  VRF4API_METHOD bool fuelLevelsFrozen() const;
1018  VRF4API_METHOD bool munitionLevelsFrozen() const;
1019  VRF4API_METHOD bool firePowerDisabled() const;
1020  VRF4API_METHOD const DtVrfObjectParameters* parameters() const;
1021 
1023 
1024  VRF4API_METHOD virtual const DtRwProperties& stateProperties() const;
1025 
1027  VRF4API_METHOD virtual DtRwProperties& stateProperties();
1028 
1029  VRF4API_METHOD virtual void setStateProperties(const DtRwProperties&);
1031 
1033 
1034 
1035  VRF4API_METHOD const DtRwProperties& parameterProperties() const;
1036 
1039  VRF4API_METHOD virtual bool canHaveSubordinates() const;
1040 
1041  VRF4API_METHOD virtual DtSubordinateManager* vrfSubordinates();
1042  VRF4API_METHOD virtual const DtSubordinateManager* vrfSubordinates() const;
1043 
1044  VRF4API_METHOD const makVrf::DtArticulatedPartManager& articulatedParts() const;
1046  VRF4API_METHOD const DtArticulatedPartCollection& artPartList() const;
1048 
1050  //{@
1051  VRF4API_METHOD virtual void addRangeItem(const DtRangeItem&);
1052  VRF4API_METHOD virtual void removeRangeItem(int index);
1053  VRF4API_METHOD virtual void setRangeItems(const DtRangeItems&);
1054  VRF4API_METHOD const DtRangeItems& rangeItems() const;
1055  VRF4API_METHOD DtRangeItems& rangeItems();
1056  VRF4API_METHOD virtual void clearRangeItems();
1058 
1059  VRF4API_METHOD const DtSimObject* parent() const;
1060 
1063  VRF4API_METHOD virtual void setActivity(const DtString&);
1064  VRF4API_METHOD virtual DtString activity() const;
1065 
1067  VRF4API_METHOD void setBlockParachute(bool);
1068  VRF4API_METHOD bool blockParachute() const;
1069  VRF4API_METHOD bool onTerrainSurface() const;
1070 
1071  VRF4API_METHOD DtDeadReckonTypes deadReckoningAlgorithm() const;
1072  VRF4API_METHOD void setDeadReckoningAlgorithm(
1073  DtDeadReckonTypes deadReckoningAlgorithm);
1074 
1076 
1077  VRF4API_METHOD DtThresholder deadReckoningThresholder() const;
1078  VRF4API_METHOD void setDeadReckoningThresholder(
1079  const DtThresholder& thresholder);
1081 };
1082 
1083 #include "vrfobjcore/vrfObjectStateRepository.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
DtRwBoolean myParentWasDestroyedWhenEmbarked
Set to true when the entity is embarked on a destroyed parent so they do not become destroyed...
Definition: vrfObjectStateRepository.h:759
double myNextTickTime
Definition: vrfObjectStateRepository.h:792
DtTaskStatusList myTaskStatusList
Contains the myTasked and myCurrentTaskMsg members from the DtTaskControllerComponent class...
Definition: vrfObjectStateRepository.h:748
double myLastTickSimTime
Definition: vrfObjectStateRepository.h:793
const int DtPolygonVisibilityTest
Definition: vrfObjectStateRepository.h:73
The articulated part manager maintains a tree of articulated and attached parts for the state reposit...
Definition: articulatedPartManager.h:33
This class is used to interface with the terrain a particular entity is &quot;attached&quot; to...
Definition: attachedTerrain.h:57
Objects may contain a collection of other objects, such as overlays or pseudo-aggregate entities...
Definition: subordinateManager.h:43
virtual const InternalUserDataMap & internalUserDataMap() const
Internal user data is data that is not saved to the scenario and will last only as long as this inter...
Definition: vrfObjectStateRepository.h:678
suppressionLevels
The current suppression level. An enumeration with 4 values. Determined from suppression value in the...
Definition: vrfObjectStateRepository.h:482
DtReal myMass
Definition: vrfObjectStateRepository.h:730
This is a DtReaderWriter subclass which holds the status of a subtask that was issues by another task...
Definition: taskStatusEntry.h:28
This class allows one to collect and compare strings using an index number instead of having to do st...
Definition: symbolString.h:27
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:769
DtRwInt myNextSuspendId
Definition: vrfObjectStateRepository.h:754
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:135
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:132
Definition: readerWriter.h:85
bool myPaused
Definition: vrfObjectStateRepository.h:812
Description: Readable, Writable DtString Variable substitutions are done on this object when it is re...
Definition: rwString.h:20
class DtSimResourceManager:
Definition: simResourceManager.h:19
virtual void postGetSelf() override
Hook function called immediately following getSelf().
Definition: simObjectStateRepository.h:59
std::map< DtString, std::map< DtString, DtRwJoystickControl > > JoystickControls
Controls by function group.
Definition: vrfObjectStateRepository.h:102
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:736
DtVrfProcessStateRepositoryManager * mySystemProcessSRManager
Definition: vrfObjectStateRepository.h:714
class DtVrfProcessStateRepositoryManager:
Definition: vrfProcessStateRepositoryManager.h:49
DtSimulationServices * mySimulationServices
Definition: vrfObjectStateRepository.h:715
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:32
Responsible for monitoring resources for a particular entity and issuing database updates when the va...
Definition: resourceDatabaseLogger.h:16
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:91
A reader-writer list of DtRwSensorContactInfo elements. Use the DtRwList::add() and remove() methods ...
Definition: sensorContactInfoList.h:35
const DtSimObjectStateRepository & operator=(const DtSimObjectStateRepository &orig)
double myMinTickPeriodVariance
Definition: vrfObjectStateRepository.h:791
DtSensorContactInfoList myObjectContactList
The situational awareness of this object. List of other objects that this object is currently aware o...
Definition: vrfObjectStateRepository.h:797
uuid class
Definition: rwUUID.h:26
DtRwInt mySuppressionLevel
The current enumerated level of suppression, derived from the value.
Definition: vrfObjectStateRepository.h:724
DtGroundInteractionPt myGroundCenter
Definition: vrfObjectStateRepository.h:717
DtSimSector mySectorOfResponsibility
These really apply to a single weapon, and should be part of a weapon controller/actuator suite of so...
Definition: vrfObjectStateRepository.h:740
static DtReaderWriterFactory * factory()
DtRwProperties myInternalStateProperties
Definition: vrfObjectStateRepository.h:774
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:112
DtRwUUID myUserTarget
Definition: vrfObjectStateRepository.h:772
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
DtResourceDatabaseLogger * myResourceDbLogger
Resource logger for logging resource information to a database, if enabled.
Definition: vrfObjectStateRepository.h:819
DtSuspendedTaskStatusList mySuspendedTaskStatusList
Definition: vrfObjectStateRepository.h:750
Definition: taskStatusList.h:22
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:72
DtRwInt myNextTaskId
The next available ID that can be assigned to a task for this entity.
Definition: vrfObjectStateRepository.h:753
Class Description: Readable, writable form of DtAppearance.
Definition: rwAppearance.h:16
DtRwBoolean myRequestTaskNeeded
Moved here from the DtLocalTaskManager class.
Definition: vrfObjectStateRepository.h:743
A list of DtSuspendedTaskStatusEntry instances, each representing a different suspend ID...
Definition: suspendedTaskInfo.h:113
DtTime myLastTimeFiredUpon
Under fire parameters.
Definition: vrfObjectStateRepository.h:720
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
bool reinitializing() const
Definition: vrfObjectStateRepository.h:268
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:807
DtRwString myNonLethalDamageEffect
The current non lethal damage type (sick, faint, etc.). Default value is empty string.
Definition: vrfObjectStateRepository.h:728
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:810
Definition: echelonId.h:13
virtual void prePutSelf() override
Hook function called immediately prior to putSelf().
bool(* DtVisibilityTest)(double rangeSquared, const DtEntityIdentifier &eyeKey, const DtVector &localEyePoint, const DtVector &localEndPoint, const DtVrfObjectStateRepository *sr)
Definition: vrfObjectStateRepository.h:76
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:711
virtual void setToLegacyRWData()
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:96
std::map< int, DtString > ExtendedLabels
Definition: vrfObjectStateRepository.h:98
std::map< DtString, DtString > ExtendedData
Definition: vrfObjectStateRepository.h:99
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:712
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
double myMinTickPeriod
For performance and memory usage reasons, the copy of the parameter entry that used to be made when c...
Definition: vrfObjectStateRepository.h:790
DtUUID myOccupyingObjectId
Definition: vrfObjectStateRepository.h:731
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
DtPlatformLocalObjectFacade myPlatformLocalObjectFacade
Definition: vrfObjectStateRepository.h:816
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:777
std::map< DtString, void * > InternalUserDataMap
Internal user data is data that is not saved to the scenario and will last only as long as this inter...
Definition: vrfObjectStateRepository.h:673
DtRwBoolean myNavigationEnabled
Whether or not this object can navigate in navigation areas. Default is true.
Definition: vrfObjectStateRepository.h:762
virtual const DtSimResourceManager & resourceManager() const
Definition: vrfObjectStateRepository.h:164
virtual void preGetSelf() override
Hook function called immediately prior to getSelf().
Definition: rwStringList.h:20
A list of properties. A DtPropertyInterface object that is a specialized version of DtRwVariableBindi...
Definition: rwProperties.h:122
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:804
InternalUserDataMap myInternalUserDataMap
Definition: vrfObjectStateRepository.h:770
class DtLocalVertexList:
Definition: localVertexList.h:20
virtual DtSimResourceManager & resourceManager()
Definition: vrfObjectStateRepository.h:169
#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 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:74
DtWeaponInfoList * myWeaponInfoList
List of WeaponInfo classes that provide data on all weapons that have made their information availabl...
Definition: vrfObjectStateRepository.h:801
DtRwPriorityTargetListMap myTargetPriorityList
Target Priority List.
Definition: vrfObjectStateRepository.h:765
Definition: weaponInfoList.h:13
A locally simulated VRF object.
Definition: localObject.h:98
virtual DtString type() const
returns DtSimObjectStateRepositoryType

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)