VR-Forces 4.8 Class Documentation
 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
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>
25 
26 
30 {
31 
32 public:
34 
36  DtConvoyPSR(DtVrfObject* vrfObject,
37  const DtString& rwName = DtString::nullString(),
38  DtReaderWriterRegistry* parentRegistry = 0);
39 
41  DtConvoyPSR(const DtConvoyPSR& orig,
42  const DtString& rwName = DtString::nullString(),
43  DtReaderWriterRegistry* parentRegistry = 0);
44 
46  virtual ~DtConvoyPSR();
47 
49  DtConvoyPSR& operator=(const DtConvoyPSR& orig);
50 
53  const DtString& rwName = DtString::nullString(),
54  DtReaderWriterRegistry* parentRegistry = 0) const;
55 
58  virtual DtString type() const;
59 
61  static DtVrfProcessStateRepository* creator (const DtString& rwName,
62  DtVrfObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
63 
65  virtual void setPathPlanFlag(bool flag);
66  virtual bool pathPlanFlag() const;
67 
68  virtual void setConvoyPhase(const DtString& phase);
69  virtual const DtString& convoyPhase() const;
70 
71  virtual void setDestination(const DtUUID& destination);
72  virtual const DtRwVrfObjectReference& destination() const;
73  virtual DtRwVrfObjectReference& destination();
74 
75  virtual const DtRwSubordinateList& subordinates() const;
76  virtual void addSubordinate(const DtUUID& subordinate);
77  virtual void removeSubordinate(const DtUUID& subordinate);
78  virtual bool isASubordinate(const DtUUID& subordinate) const;
79  virtual bool isSubordinatesEmpty() const;
80  virtual void clearSubordinates();
81 
82  virtual void addAwaitingTaskSubordinate(const DtUUID& subordinate);
83  virtual void removeAwaitingTaskSubordinate(const DtUUID& subordinate);
84  virtual const DtRwVrfObjectReference& lastTaskedSubordinate() const;
85  virtual const DtRwVrfObjectReference& firstAwaitingTaskSubordinate() const;
86  virtual DtRwVrfObjectReference& lastTaskedSubordinate();
87  virtual DtRwVrfObjectReference& firstAwaitingTaskSubordinate();
88  virtual void clearAwaitingTaskSubordinates();
89  virtual bool isAwaitingTaskSubordinatesEmpty() const;
90 
91  virtual void setAssemblyPoint(const DtVector& assemblyPoint);
92  virtual const DtVector& assemblyPoint() const;
93 
94  virtual void setConvoyLeader(const DtUUID& name);
95  virtual const DtRwVrfObjectReference& convoyLeader() const;
96  virtual DtRwVrfObjectReference& convoyLeader();
97 
98  virtual void setLeadOnDistance(const float distance);
99  virtual const float leadOnDistance() const;
100 
101  virtual void setFollowDistance(const float distance);
102  virtual const float followDistance() const;
103 
104  virtual void setLastGeneratedEntryRail(const DtRwRailSegment& entryRail);
105  virtual DtRwRailSegment* lastGeneratedEntryRail();
106 
107  virtual void setLastOrderedSpeed(const float speed);
108  virtual const float lastOrderedSpeed() const;
109 
110  virtual void setStopIfEntityDestroyed(bool);
111  virtual bool stopIfEntityDestroyed() const;
112 
113  virtual void addRailSegment(const DtRailSegment& railSegment);
114  virtual void addRailSegment(const DtRwRailSegment& railSegment);
115  virtual void addRailSegment(const DtRwRailSegment* railSegment);
116  virtual void addRailSegmentToFront(const DtRwRailSegment* railSegment);
117  virtual DtRwRailSegment removeRailSegmentFromFront();
118  virtual void setRailSegments(const DtRwRailSegmentList& segments);
119  virtual void setRailSegments(const DtRailSegmentList& segments);
120  virtual const DtRwRailSegmentList& railSegmentList() const;
121  virtual void clearRailSegments();
122 
123  virtual DtRailSegmentList* railSegments();
124 
125 protected:
128  void clearTempRailList();
129 
130 protected:
147 };
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
DtRwVrfObjectReference myDestination
Definition: convoyPSR.h:133
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
File: rwRailSegment.h.
DtRwVrfObjectReference myConvoyLeader
Definition: convoyPSR.h:135
std::list< DtRailSegment * > DtRailSegmentList
Definition: railSegment.h:197
DtRwSubordinateList mySubordinates
Definition: convoyPSR.h:140
DtRwVector myAssemblyPoint
Definition: convoyPSR.h:134
DtRailSegment are segments entities can follow when using the rail movement system.
Definition: railSegment.h:23
DtRwSubordinateList myAwaitingTaskSubordinates
Definition: convoyPSR.h:141
Description: Readable, Writable DtString Variable substitutions are done on this object when it is re...
Definition: rwString.h:20
DtRwRailSegmentList myRailSegments
Definition: convoyPSR.h:142
Definition: readerWriterRegistry.h:39
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:146
DtRwBoolean myStopIfEntityDestroyed
Definition: convoyPSR.h:145
DtRwReal myLeadOnDistance
Definition: convoyPSR.h:137
Definition: rwVector.h:23
DtRwBoolean myPathPlanFlag
Definition: convoyPSR.h:131
#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.
virtual DtVrfProcessStateRepository * clone(const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const =0
DtRwVrfObjectReference myLastTaskedSubordinate
Definition: convoyPSR.h:136
DtRwReal myLastOrderedSpeed
Definition: convoyPSR.h:139
DtRailSegmentList * myTempListPtr
Definition: convoyPSR.h:144
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
Class used as the reader/writer implementation of the DtVrfObjectReference.
Definition: vrfObjectReference.h:204
DtRwString myConvoyPhase
Definition: convoyPSR.h:132
Class DtVrfProcessStateRepository: Abstract base class for all process state repositories.
Definition: vrfProcessStateRepository.h:43
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
DtRwVrfObjectReferenceList DtRwSubordinateList
Definition: convoyPSR.h:33
DtRwRailSegment myLastGeneratedEntryRail
Definition: convoyPSR.h:143
virtual DtString type() const =0
Returns the string type of the repository, as defined in procSRTypes.h.
DtRwReal myFollowDistance
Definition: convoyPSR.h:138
Definition: rwRailSegment.h:27
If you use a list of object names to archive which objects are part of a controller (or any object) u...
Definition: vrfObjectReference.h:305
File: rwVector.h.
const DtVrfProcessStateRepository & operator=(const DtVrfProcessStateRepository &orig)

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)