VR-Forces 5.0.2 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>
23 #include <readerWriter/rwReal.h>
24 #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();
45 
47  DtConvoyPSR& operator=(const DtConvoyPSR& orig);
48 
51  const DtString& rwName = DtString::nullString(),
52  DtReaderWriterRegistry* parentRegistry = 0) const;
53 
56  virtual DtString type() const;
57 
59  static DtVrfProcessStateRepository* creator (const DtString& rwName,
60  DtLocalObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
61 
63  virtual void setPathPlanFlag(bool flag);
64  virtual bool pathPlanFlag() const;
65 
66  virtual void setConvoyPhase(const DtString& phase);
67  virtual const DtString& convoyPhase() const;
68 
69  virtual void setDestination(const DtUUID& destination);
70  virtual DtSimObjectReference destination() const;
71 
72  virtual const DtRwSimObjectReferenceList& subordinates() const;
73  virtual void addSubordinate(const DtUUID& subordinate);
74  virtual void removeSubordinate(const DtUUID& subordinate);
75  virtual bool isASubordinate(const DtUUID& subordinate) const;
76  virtual bool isSubordinatesEmpty() const;
77  virtual void clearSubordinates();
78 
79  virtual void addAwaitingTaskSubordinate(const DtUUID& subordinate);
80  virtual void removeAwaitingTaskSubordinate(const DtUUID& subordinate);
81  virtual DtSimObjectReference lastTaskedSubordinate() const;
82  virtual DtSimObjectReference firstAwaitingTaskSubordinate() const;
83  virtual void clearAwaitingTaskSubordinates();
84  virtual bool isAwaitingTaskSubordinatesEmpty() const;
85 
86  virtual void setAssemblyPoint(const DtVector& assemblyPoint);
87  virtual const DtVector& assemblyPoint() const;
88 
89  virtual void setConvoyLeader(const DtUUID& name);
90  virtual DtSimObjectReference convoyLeader() const;
91 
92  virtual void setLeadOnDistance(const float distance);
93  virtual const float leadOnDistance() const;
94 
95  virtual void setFollowDistance(const float distance);
96  virtual const float followDistance() const;
97 
98  virtual void setLastGeneratedEntryRail(const DtRwRailSegment& entryRail);
99  virtual DtRwRailSegment* lastGeneratedEntryRail();
100 
101  virtual void setLastOrderedSpeed(const float speed);
102  virtual const float lastOrderedSpeed() const;
103 
104  virtual void setStopIfEntityDestroyed(bool);
105  virtual bool stopIfEntityDestroyed() const;
106 
107  virtual void addRailSegment(const DtRailSegment& railSegment);
108  virtual void addRailSegment(const DtRwRailSegment& railSegment);
109  virtual void addRailSegment(const DtRwRailSegment* railSegment);
110  virtual void addRailSegmentToFront(const DtRwRailSegment* railSegment);
111  virtual DtRwRailSegment removeRailSegmentFromFront();
112  virtual void setRailSegments(const DtRwRailSegmentList& segments);
113  virtual void setRailSegments(const DtRailSegmentList& segments);
114  virtual const DtRwRailSegmentList& railSegmentList() const;
115  virtual void clearRailSegments();
116 
117  virtual DtRailSegmentList* railSegments();
118 
119 protected:
122  void clearTempRailList();
123 
124 protected:
141 };
UUID is a unique ID wrapper class.
Definition: rwUUID.h:229
DtRwSimObjectReferenceList myAwaitingTaskSubordinates
Definition: convoyPSR.h:135
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:122
std::list< DtRailSegment * > DtRailSegmentList
Definition: railSegment.h:197
DtRwSimObjectReferenceList mySubordinates
Definition: convoyPSR.h:134
DtRwVector myAssemblyPoint
Definition: convoyPSR.h:128
DtRailSegment are segments entities can follow when using the rail movement system.
Definition: railSegment.h:23
The DtSimObjectReference is a shared pointer that can be used amongst many object for access to the u...
Definition: simObjectReference.h:26
Description: Readable, Writable DtString Variable substitutions are done on this object when it is re...
Definition: rwString.h:20
DtRwRailSegmentList myRailSegments
Definition: convoyPSR.h:136
Definition: readerWriterRegistry.h:39
DtRwSimObjectReference myConvoyLeader
Definition: convoyPSR.h:129
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:140
DtRwBoolean myStopIfEntityDestroyed
Definition: convoyPSR.h:139
DtRwReal myLeadOnDistance
Definition: convoyPSR.h:131
Definition: rwVector.h:23
Specialized reader/writer version of the shared object reference that will encapsulate the actual sha...
Definition: simObjectReference.h:74
DtRwBoolean myPathPlanFlag
Definition: convoyPSR.h:125
#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:127
virtual DtVrfProcessStateRepository * clone(const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const =0
DtRwReal myLastOrderedSpeed
Definition: convoyPSR.h:133
DtRailSegmentList * myTempListPtr
Definition: convoyPSR.h:138
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
DtRwString myConvoyPhase
Definition: convoyPSR.h:126
DtRwSimObjectReference myLastTaskedSubordinate
Definition: convoyPSR.h:130
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:137
virtual DtString type() const =0
Returns the string type of the repository, as defined in procSRTypes.h.
DtRwReal myFollowDistance
Definition: convoyPSR.h:132
Definition: rwRailSegment.h:27
File: rwVector.h.
const DtVrfProcessStateRepository & operator=(const DtVrfProcessStateRepository &orig)
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

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)