VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
moveAlongWithActionsPSR.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 #pragma once
9 
11 #include "vrfobjcore/simObject.h"
12 #include <readerWriter/rwString.h>
13 #include <readerWriter/rwInt.h>
14 #include <readerWriter/rwString.h>
17 //#include <vrftasks/routeAction.h>
18 
20 
25 
27 
28 class DtRouteAction;
29 class DtLocalVertexList;
30 class DtUUID;
31 
33 
35 {
36 public:
39  const DtString& rwName = DtString::nullString(),
40  DtReaderWriterRegistry* parentRegistry = 0);
41 
44  const DtString& rwName = DtString::nullString(),
45  DtReaderWriterRegistry* parentRegistry = 0);
46 
48  virtual ~DtMoveAlongWithActionsPSR() override;
49 
52 
55  const DtString& rwName = DtString::nullString(), DtReaderWriterRegistry* parentRegistry = 0) const override;
56 
59  virtual DtString type() const override;
60 
62  virtual void setRoute(const DtUUID& routeId);
63 
65  virtual void setClosestLeg(const DtLocalVertexList& localVertices);
66 
69  virtual void setHoldPointPosition(double p);
70  virtual double holdPointPosition() const;
71 
73  virtual void setHoldPointLocation(const DtVector& localPos);
74  virtual DtVector holdPointLocation() const;
75 
78  virtual void setTargetPointPosition(double p);
79  virtual double targetPointPosition() const;
80 
82  virtual void setTargetPointLocation(const DtVector& localPos);
83  virtual DtVector targetPointLocation() const;
84 
86  virtual void setTimeOnTarget(double t);
87  virtual double timeOnTarget() const;
88 
90  virtual void postGetSelf() override;
91 
93  virtual DtSimObjectReference route() const;
94 
97  virtual void setRouteLegActions(const DtRwRouteActionList& actionsList);
98 
99  virtual const DtRouteLegActionsEntryList& routeLegActionsEntryList() const;
100 
102  virtual void clearLegsActionsList();
103 
105  virtual void reorganizeLegsActionsList();
106 
108  virtual void setReverseFlag(bool reverse);
109  virtual bool reverseFlag() const;
110 
112  virtual void setStartAtClosestVertex(bool flag);
113  virtual bool startAtClosestVertex() const;
114 
116  virtual void setAbandonTaskIfTimeOnTargetNotAchievable(bool b);
117  virtual bool abandonTaskIfTimeOnTargetNotAchievable() const;
118 
120  virtual void setMoveAlongSubtaskId(int subtaskId);
121  virtual int moveAlongSubtaskId() const;
122 
124  virtual void setSuspendedMoveAlongId(int suspendId);
125  virtual int suspendedMoveAlongId() const;
126 
128  virtual void setInitialOrderedSpeed(double s);
129  virtual double initialOrderedSpeed() const;
130 
133  virtual void setOrderedSpeedIsRequired(bool c);
134  virtual bool isOrderedSpeedRequired() const;
135 
137  virtual void setRouteTraversalComplete(bool c);
138  virtual bool routeTraversalComplete() const;
139 
141  static DtVrfProcessStateRepository* creator (const DtString& rwName,
142  DtLocalObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
143 
146  virtual DtRouteLegActionsEntryIterator* legIterator() const;
147 
148  virtual void proceedToNextLegIndex();
149  virtual bool compareLocalVertices(const DtVector& firstLocalPos, const DtVector& secondLocalPos);
150 
151 
153  virtual const DtRwRouteActionList& validRouteActions() const;
154 
157  virtual void updateValidRouteActions();
158 
159 protected:
160 
161  virtual void resetLegIterator();
162 
179 
181 
186 };
UUID is a unique ID wrapper class.
Definition: uuid.h:59
DtRwRouteActionList myValidRouteActions
a list that manages valid actions. a non valid action is an action that was skipped. the list is not saved as part of the scenario and is updated on several cases when myRouteLegActionsEntryList is updated (a leg is deleted, an action is skipped, etc.)
Definition: moveAlongWithActionsPSR.h:185
DtRwBoolean myRouteTraversalComplete
Definition: moveAlongWithActionsPSR.h:167
DtRouteLegActionsEntryList myRouteLegActionsEntryList
Definition: moveAlongWithActionsPSR.h:176
DtRwBoolean myOrderedSpeedIsRequired
Definition: moveAlongWithActionsPSR.h:170
DtRwInt mySuspendedMoveAlongId
Definition: moveAlongWithActionsPSR.h:178
DtRwVector myHoldPointLocation
Definition: moveAlongWithActionsPSR.h:174
DtRouteLegActionsEntryIterator * myCurrentLegIterator
Definition: moveAlongWithActionsPSR.h:180
virtual void postGetSelf()
Called after either version of getSelf (mtl or environment). Default is no-op.
Definition: rwRouteActionList.h:19
DtRwInt myCurrentLegIndex
Definition: moveAlongWithActionsPSR.h:164
Definition: moveAlongWithActionsPSR.h:34
Definition: readerWriterRegistry.h:39
DtRwReal myHoldPointRoutePosition
Definition: moveAlongWithActionsPSR.h:172
DtRwVector myTargetPointLocation
Definition: moveAlongWithActionsPSR.h:175
DtRwReal myTimeOnTarget
Definition: moveAlongWithActionsPSR.h:171
Definition: rwVector.h:23
Specialized reader/writer version of the shared object reference that will encapsulate the actual sha...
Definition: rwSimObjectReference.h:21
Description: DtIteratorBase is the base class for iterators used to iterate over a DtList...
Definition: iteratorBase.h:32
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
DtRwBoolean myReverseFlag
Definition: moveAlongWithActionsPSR.h:165
Description: Readable, Writable int.
Definition: rwInt.h:25
virtual DtVrfProcessStateRepository * clone(const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const =0
DtIteratorBase< DtRouteLegActionsEntry > DtRouteLegActionsEntryIterator
Definition: moveAlongWithActionsPSR.h:30
DtRwBoolean myAbandonTaskIfTimeOnTargetNotAchievable
Definition: moveAlongWithActionsPSR.h:168
DtRwReal myInitialOrderedSpeed
Definition: moveAlongWithActionsPSR.h:169
DtRwInt myMoveAlongSubtaskId
Definition: moveAlongWithActionsPSR.h:177
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
Class DtVrfProcessStateRepository: Abstract base class for all process state repositories. Process state repositories represent (potentially) shared, savable information for one or more components functioning together to achieve some process or set of processes; such as aiming and firing a weapon; moving an object; or just waiting a specified amount of time.
Definition: vrfProcessStateRepository.h:45
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
Definition: routeAction.h:35
DtRwReal myTargetPointRoutePosition
Definition: moveAlongWithActionsPSR.h:173
virtual DtString type() const =0
Returns the string type of the repository, as defined in psrTypes.h.
class DtLocalVertexList:
Definition: localVertexList.h:20
DtRwSimObjectReference myRoute
Definition: moveAlongWithActionsPSR.h:163
const DtVrfProcessStateRepository & operator=(const DtVrfProcessStateRepository &orig)
A locally simulated VRF object.
Definition: localObject.h:98
DtRwBoolean myStartAtClosestVertex
Definition: moveAlongWithActionsPSR.h:166

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)