VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
aggregateMoveAlongPSR.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
11 
12 #pragma once
13 
17 #include <readerWriter/rwString.h>
18 #include <readerWriter/rwReal.h>
20 #include "vrfutil/rwStringList.h"
21 #include <readerWriter/rwBoolean.h>
22 #include <vrfutil/rwUUID.h>
23 
24 #include <set>
25 
32 {
33  typedef std::map<DtUUID, int> DtUUIDPromotionIdMap;
34  typedef std::map<int, DtUUID> DtPromotionIdUUIDMap;
35 
36 public:
37 
40  const DtString& rwName = DtString::nullString(),
41  DtReaderWriterRegistry* parentRegistry = 0);
42 
45  const DtString& rwName = DtString::nullString(),
46  DtReaderWriterRegistry* parentRegistry = 0);
47 
49  virtual ~DtAggregateMoveAlongPSR();
50 
53 
56  const DtString& rwName = DtString::nullString(),
57  DtReaderWriterRegistry* parentRegistry = 0) const;
58 
62  virtual DtString type() const;
63 
67  virtual void setRoute(const DtUUID& route);
68 
70  virtual const DtRwVrfObjectReference& route() const;
71  virtual DtRwVrfObjectReference& route();
73 
78  virtual void setTimeToNextMaintainFormationTick(DtTime simTime);
79  virtual DtTime timeToNextMaintainFormationTick() const;
81 
83  virtual DtUUID lookupRoute(int promotionId) const;
84 
86  virtual DtUUID lookupRoute(const DtUUID& subordinate) const;
87 
89  virtual void clearPromotionIdRouteList();
90 
92  virtual void addPromotionIdRouteEntry(int promotionId,
93  const DtUUID& route);
94 
96  virtual const DtPromotionIdUUIDMap& promotionIdRouteMap() const;
97 
99  virtual void addTaskedSubordinatePromotionIdEntry(
100  const DtUUID& subordinate, int promotionId);
101 
103  virtual void removeTaskedSubordinate(const DtUUID& subordiante);
104 
107  virtual bool isATaskedSubordinate(const DtUUID& subordinate);
108 
110  virtual void removeRoute(const DtUUID& route);
111 
113  virtual void clearTaskSubordinates();
114 
116  virtual bool taskedSubordinatesEmpty() const;
117 
120  virtual void setMovingToRoute(bool trueOrFalse);
121  virtual bool movingToRoute() const;
123 
125  virtual const DtUUIDPromotionIdMap& taskedSubordinates() const;
126 
129  virtual void setRouteIsDiscovered(bool value);
130  virtual bool routeIsDiscovered() const;
132 
135  virtual void setIsGeneratingFormationRoutes(bool value);
136  virtual bool isGeneratingFormationRoutes() const;
138 
141  virtual void setIsReevaluatingFormationRoutes(bool value);
142  virtual bool isReevaluatingFormationRoutes() const;
144 
147  virtual void putSelf(std::string& fp, int indentLevel = 0,
148  bool writeUnspecified = false,
149  const DtFilename& path = DtReaderWriter::appPath());
150 
153  virtual void getSelf(DtlObjPtr args, const SearchPaths& searchPaths,
154  const DtVariableBindingsList& variableBindings);
155 
157  static DtVrfProcessStateRepository* creator (const DtString& rwName,
158  DtVrfObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
159 
160 protected:
161 
164 
167 
170 
176 
182 
185 
189 
192 
195 
198 };
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
std::map< int, DtUUID > DtPromotionIdUUIDMap
Definition: aggregateMoveAlongPSR.h:34
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
DtPromotionIdUUIDList myPromotionIdRouteList
Readable writeable list of promotion Id/route.
Definition: aggregateMoveAlongPSR.h:175
std::map< DtUUID, int > DtUUIDPromotionIdMap
Definition: aggregateMoveAlongPSR.h:33
Definition: readerWriterRegistry.h:39
DtRwBoolean myIsGeneratingFormationRoutes
Flag indicating whether we are currently generating formation routes.
Definition: aggregateMoveAlongPSR.h:194
DtUUIDPromotionIdMap myCurrentlyTaskedSubordinates
Map of currently tasked subordinate object uuids to promotion Id.
Definition: aggregateMoveAlongPSR.h:166
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
DtRwBoolean myRouteIsDiscovered
Flag indicating whether has been discovered or not.
Definition: aggregateMoveAlongPSR.h:191
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
virtual DtVrfProcessStateRepository * clone(const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const =0
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
DtRwBoolean myMovingToRoute
Flag indicating whether we&#39;re in the moving to route phase of the task.
Definition: aggregateMoveAlongPSR.h:188
DtPromotionIdUUIDMap myPromotionIndexRouteMap
Map of promotion Ids (formation positions) to route uuids.
Definition: aggregateMoveAlongPSR.h:163
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.
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
Class used as the reader/writer implementation of the DtVrfObjectReference.
Definition: vrfObjectReference.h:204
Class DtVrfProcessStateRepository: Abstract base class for all process state repositories.
Definition: vrfProcessStateRepository.h:43
DtPromotionIdUUIDList myPromotionIdEntityList
Readable writeable list of promotion Id/entity.
Definition: aggregateMoveAlongPSR.h:181
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
Top level to read itself from an input stream.
DtRwVrfObjectReference myRoute
Route the aggregate is currently moving along.
Definition: aggregateMoveAlongPSR.h:169
file aggregateMoveAlongPSR.h
Definition: aggregateMoveAlongPSR.h:31
virtual DtString type() const =0
Returns the string type of the repository, as defined in procSRTypes.h.
DtRwReal myTimeToNextMaintainFormationTick
Time in seconds until next tick in which to perform formation monitoring.
Definition: aggregateMoveAlongPSR.h:184
static const DtFilename & appPath()
Gets the current working directory.
const DtVrfProcessStateRepository & operator=(const DtVrfProcessStateRepository &orig)
DtRwBoolean myIsReevaluatingFormationRoutes
Flag indicating whether we are currently reevaluating formation routes.
Definition: aggregateMoveAlongPSR.h:197

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)