VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
convoyPSR.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 #pragma once
13 #include "vrfobjcore/simObject.h"
14 #include <readerWriter/rwReal.h>
15 #include <readerWriter/rwString.h>
17 #include "vrfutil/railSegment.h"
18 #include "vrfutil/rwRailSegment.h"
19 #include "readerWriter/rwVector.h"
20 #include <set>
22 #include <readerWriter/rwReal.h>
23 #include <readerWriter/rwBoolean.h>
26 
30 {
31 
32 public:
34  DtConvoyPSR(DtLocalObject* vrfObject,
35  const DtString& rwName = DtString::nullString(),
36  DtReaderWriterRegistry* parentRegistry = 0);
37 
39  DtConvoyPSR(const DtConvoyPSR& orig,
40  const DtString& rwName = DtString::nullString(),
41  DtReaderWriterRegistry* parentRegistry = 0);
42 
44  virtual ~DtConvoyPSR() override;
45 
47  DtConvoyPSR& operator=(const DtConvoyPSR& orig);
48 
51  const DtString& rwName = DtString::nullString(), DtReaderWriterRegistry* parentRegistry = 0) const override;
52 
55  virtual DtString type() const override;
56 
58  static DtVrfProcessStateRepository* creator (const DtString& rwName,
59  DtLocalObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
60 
62  virtual void setPathPlanFlag(bool flag);
63  virtual bool pathPlanFlag() const;
64 
65  virtual void setConvoyPhase(const DtString& phase);
66  virtual const DtString& convoyPhase() const;
67 
68  virtual void setDestination(const DtUUID& destination);
69  virtual DtSimObjectReference destination() const;
70 
71  virtual const DtRwSimObjectReferenceList& subordinates() const;
72  virtual void addSubordinate(const DtUUID& subordinate);
73  virtual void removeSubordinate(const DtUUID& subordinate);
74  virtual bool isASubordinate(const DtUUID& subordinate) const;
75  virtual bool isSubordinatesEmpty() const;
76  virtual void clearSubordinates();
77 
78  virtual void addAwaitingTaskSubordinate(const DtUUID& subordinate);
79  virtual void removeAwaitingTaskSubordinate(const DtUUID& subordinate);
80  virtual DtSimObjectReference lastTaskedSubordinate() const;
81  virtual DtSimObjectReference firstAwaitingTaskSubordinate() const;
82  virtual void clearAwaitingTaskSubordinates();
83  virtual bool isAwaitingTaskSubordinatesEmpty() const;
84 
85  virtual void setAssemblyPoint(const DtVector& assemblyPoint);
86  virtual const DtVector& assemblyPoint() const;
87 
88  virtual void setConvoyLeader(const DtUUID& name);
89  virtual DtSimObjectReference convoyLeader() const;
90 
91  virtual void setLeadOnDistance(const float distance);
92  virtual const float leadOnDistance() const;
93 
94  virtual void setFollowDistance(const float distance);
95  virtual const float followDistance() const;
96 
97  virtual void setLastGeneratedEntryRail(const DtRwRailSegment& entryRail);
98  virtual DtRwRailSegment* lastGeneratedEntryRail();
99 
100  virtual void setLastOrderedSpeed(const float speed);
101  virtual const float lastOrderedSpeed() const;
102 
103  virtual void setStopIfEntityDestroyed(bool);
104  virtual bool stopIfEntityDestroyed() const;
105 
106  virtual void addRailSegment(const DtRailSegment& railSegment);
107  virtual void addRailSegment(const DtRwRailSegment& railSegment);
108  virtual void addRailSegment(const DtRwRailSegment* railSegment);
109  virtual void addRailSegmentToFront(const DtRwRailSegment* railSegment);
110  virtual DtRwRailSegment removeRailSegmentFromFront();
111  virtual void setRailSegments(const DtRwRailSegmentList& segments);
112  virtual void setRailSegments(const DtRailSegmentList& segments);
113  virtual const DtRwRailSegmentList& railSegmentList() const;
114  virtual void clearRailSegments();
115 
116  virtual DtRailSegmentList* railSegments();
117 
118 protected:
121  void clearTempRailList();
122 
123 protected:
140 };
UUID is a unique ID wrapper class.
Definition: uuid.h:59
DtRwSimObjectReferenceList myAwaitingTaskSubordinates
Definition: convoyPSR.h:134
File: rwRailSegment.h.
If you use a list of object names to archive which objects are part of a controller (or any object) u...
Definition: simObjectReferenceList.h:120
std::list< DtRailSegment * > DtRailSegmentList
Definition: railSegment.h:194
DtRwSimObjectReferenceList mySubordinates
Definition: convoyPSR.h:133
DtRwVector myAssemblyPoint
Definition: convoyPSR.h:127
DtRailSegment are segments entities can follow when using the rail movement system.
Definition: railSegment.h:20
Description: Readable, Writable DtString Variable substitutions are done on this object when it is re...
Definition: rwString.h:20
DtRwRailSegmentList myRailSegments
Definition: convoyPSR.h:135
Definition: readerWriterRegistry.h:39
DtRwSimObjectReference myConvoyLeader
Definition: convoyPSR.h:128
This is a process state repository for the DtConvoyController that stores the list of the names of cu...
Definition: convoyPSR.h:29
bool myRegenerateTempRailList
Definition: convoyPSR.h:139
DtRwBoolean myStopIfEntityDestroyed
Definition: convoyPSR.h:138
DtRwReal myLeadOnDistance
Definition: convoyPSR.h:130
Definition: rwVector.h:23
Specialized reader/writer version of the shared object reference that will encapsulate the actual sha...
Definition: rwSimObjectReference.h:21
DtRwBoolean myPathPlanFlag
Definition: convoyPSR.h:124
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points. Coordinates are in local database coordinates The coordinat...
DtRwSimObjectReference myDestination
Definition: convoyPSR.h:126
virtual DtVrfProcessStateRepository * clone(const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const =0
DtRwReal myLastOrderedSpeed
Definition: convoyPSR.h:132
DtRailSegmentList * myTempListPtr
Definition: convoyPSR.h:137
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
DtRwString myConvoyPhase
Definition: convoyPSR.h:125
DtRwSimObjectReference myLastTaskedSubordinate
Definition: convoyPSR.h:129
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
DtRwRailSegment myLastGeneratedEntryRail
Definition: convoyPSR.h:136
virtual DtString type() const =0
Returns the string type of the repository, as defined in psrTypes.h.
DtRwReal myFollowDistance
Definition: convoyPSR.h:131
Definition: rwRailSegment.h:27
File: rwVector.h.
const DtVrfProcessStateRepository & operator=(const DtVrfProcessStateRepository &orig)
A locally simulated VRF object.
Definition: localObject.h:98

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)