VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
automotivePSR.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
16 #include <readerWriter/rwReal.h>
17 #include <readerWriter/rwInt.h>
18 #include <readerWriter/rwBoolean.h>
19 #include <readerWriter/rwString.h>
20 #include "readerWriter/rwVector.h"
23 
25 {
30 };
31 
33 
37 {
38 public:
39 
41  DtAutomotivePSR(DtVrfObject* vrfObject,
42  const DtString& rwName = DtString::nullString(),
43  DtReaderWriterRegistry* parentRegistry = 0);
44 
46  DtAutomotivePSR(const DtAutomotivePSR& orig,
47  const DtString& rwName = DtString::nullString(),
48  DtReaderWriterRegistry* parentRegistry = 0);
49 
51  virtual ~DtAutomotivePSR();
52 
55 
58  const DtString& rwName = DtString::nullString(),
59  DtReaderWriterRegistry* parentRegistry = 0) const;
60 
63  virtual DtString type() const;
64 
67  virtual void setCurrentGear(DtAutoTransmissionGear gear);
68  virtual DtAutoTransmissionGear currentGear() const;
70 
73  virtual void setHeadingToTurnTo(double headingToTurnTo);
74  virtual double headingToTurnTo() const;
76 
79  virtual void setTurnToMode(int);
80  virtual int turnToMode() const;
82 
87  virtual void setKTurnReverseGoalHeading(double kTurnReverseGoalHeading);
88  virtual double kTurnReverseGoalHeading() const;
90 
95  virtual void setKTurnReverseComplete(bool kTurnReverseComplete);
96  virtual bool kTurnReverseComplete() const;
98 
102  virtual void setControlObject(const DtUUID& object);
103 
105  virtual const DtRwVrfObjectReference& controlObject() const;
106  virtual DtRwVrfObjectReference& controlObject();
108 
113  virtual void setContinueFlag(bool flag);
114  virtual bool continueFlag() const;
116 
122  virtual void setWorldDestination(const DtVector& destination);
123  virtual const DtVector& worldDestination() const;
125 
131  virtual bool intermediateWorldDestinationValid() const;
132  virtual void invalidateIntermediateWorldDestination();
133  virtual void setIntermediateWorldDestination(const DtVector& destination);
134  virtual const DtVector& intermediateWorldDestination() const;
136 
139  virtual void setEntityToFollow(const DtUUID& objectName);
140  virtual const DtRwVrfObjectReference& entityToFollow() const;
141  virtual DtRwVrfObjectReference& entityToFollow();
143 
147  virtual void setFollowingOffsetVector(const DtVector& offsetVector);
148  virtual const DtVector& followingOffsetVector() const;
150 
153  virtual void setEntityToInterceptAndDestroy(const DtUUID&);
154  virtual const DtRwVrfObjectReference& entityToInterceptAndDestroy() const;
155  virtual DtRwVrfObjectReference& entityToInterceptAndDestroy();
157 
160  virtual void setStandOffDistance(const double distance);
161  virtual const double standOffDistance() const;
163 
167  virtual void setRoute(const DtUUID& route);
168 
170  virtual const DtRwVrfObjectReference& route() const;
171  virtual DtRwVrfObjectReference& route();
173 
177  virtual void setRouteVertices(const DtLocalVectorIterator& routeIterator);
178  virtual const DtLocalVertexList& routeVertices() const;
180 
182  virtual void emptyRouteVertices();
183 
186  virtual DtLocalVectorIterator* routeState() const;
187 
190  virtual void setReversePatrol(bool flag);
191  virtual bool reversePatrol() const;
193 
196  virtual void setFirstWaypoint(const DtUUID& waypoint);
197  virtual const DtRwVrfObjectReference& firstWaypoint() const;
198  virtual DtRwVrfObjectReference& firstWaypoint();
200 
203  virtual void setSecondWaypoint(const DtUUID& waypoint);
204  virtual const DtRwVrfObjectReference& secondWaypoint() const;
205  virtual DtRwVrfObjectReference& secondWaypoint();
207 
210  virtual void setIsColliding(bool colliding);
211  virtual bool isColliding() const;
213 
216  virtual void setIsClearing(bool clearing);
217  virtual bool isClearing() const;
219 
222  virtual void setAvoidingLeft(bool avoidingLeft);
223  virtual bool avoidingLeft() const;
225 
229  virtual void setCheckForTerrainCollisions(bool checkForCollisions);
230  virtual bool checkForTerrainCollisions() const;
232 
233 
244  virtual void setUseHighFidelityGroundClamping(bool yesOrNo);
245  virtual bool useHighFidelityGroundClamping() const;
247 
248 
253  virtual void setRoadStartPoint(const DtVector& point);
254  virtual DtVector roadStartPoint() const;
255 
256  virtual void setRoadEndPoint(const DtVector& point);
257  virtual DtVector roadEndPoint() const;
259 
262  virtual void unspecifyRoadPoints();
265  virtual bool roadPointsSpecified() const;
266 
269  virtual void setRouteIsDiscovered(bool value);
270  virtual bool routeIsDiscovered() const;
272 
275  virtual int currentVertex() const;
276 
278  virtual void putSelf(std::string& fp, int indentLevel = 0, bool writeUnspecified = false,
279  const DtFilename& path = DtReaderWriter::appPath());
280 
281 public:
282 
284  static DtVrfProcessStateRepository* creator (const DtString& rwName,
285  DtVrfObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
286 
287 protected:
288 
297 
304 
311 
325 
330 
339 
342 
351 
354 
357 
359 
363 
369 
371 
378 
380 };
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
DtRwBoolean myReverseFlag
From DtGroundPatrolRouteController (gndPtrlRtCtl.h)
Definition: automotivePSR.h:329
DtRwVrfObjectReference myControlObject
From DtGroundMoveToControllerComponent (gndMvToCntlr.h)
Definition: automotivePSR.h:303
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
DtRwVrfObjectReference myFirstWaypoint
From DtGroundPatrolBetweenController.
Definition: automotivePSR.h:335
Definition: automotivePSR.h:27
DtRwVrfObjectReference myEntityToInterceptAndDestroy
Definition: automotivePSR.h:341
DtLocalVertexList myVertices
my copy of the current route
Definition: automotivePSR.h:322
DtRwInt myCurrentVertex
Read/write variables to capture route state.
Definition: automotivePSR.h:324
File: lclVecIter.h.
Definition: localVectorIterator.h:25
DtRwBoolean myIsColliding
From DtGroundCollisionAvoidanceController (gndColAvoid.h)
Definition: automotivePSR.h:348
DtRwBoolean myCheckForTerrainCollisions
Definition: automotivePSR.h:358
DtRwBoolean myIsClearing
Definition: automotivePSR.h:349
DtRwVector myWorldDestination
World point for move to location tasks.
Definition: automotivePSR.h:353
DtRwReal myKTurnReverseGoalHeading
Definition: automotivePSR.h:295
DtRwVrfObjectReference myEntityToFollow
From DtGroundFollowEntityController (gndFollwCtl.h)
Definition: automotivePSR.h:309
DtRwVector myIntermediateWorldDestination
Intermediate world point for move to location tasks.
Definition: automotivePSR.h:356
DtRwBoolean myUseHighFidelityGroundClamping
Used by the automotive actuator when determining the orientation of the entity.
Definition: automotivePSR.h:362
Definition: readerWriterRegistry.h:39
DtAutoTransmissionGearEnum DtAutoTransmissionGear
Definition: automotivePSR.h:32
DtRwBoolean myRouteIsDiscovered
Determines whether we will keep moving after this task is done and hence shouldn&#39;t slow down...
Definition: automotivePSR.h:376
DtRwBoolean myContinueFlag
Definition: automotivePSR.h:370
DtRwVrfObjectReference myRoute
From DtGroundMoveAlongController (gndMvAlgCtl.h)
Definition: automotivePSR.h:317
Definition: rwVector.h:23
DtRwBoolean myAvoidingLeft
Definition: automotivePSR.h:350
Instances of DtAutomotivePSR are used to hold the shared/checkpointable data for an automotive system...
Definition: automotivePSR.h:36
#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.
Definition: automotivePSR.h:28
Description: Readable, Writable int.
Definition: rwInt.h:25
virtual DtVrfProcessStateRepository * clone(const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const =0
DtRwVector myRoadEndPoint
Definition: automotivePSR.h:367
DtRwVector myOffsetVector
Definition: automotivePSR.h:310
DtRwInt myTurnToMode
Definition: automotivePSR.h:379
DtRwVrfObjectReference mySecondWaypoint
Definition: automotivePSR.h:336
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
Definition: automotivePSR.h:26
Class used as the reader/writer implementation of the DtVrfObjectReference.
Definition: vrfObjectReference.h:204
DtRwReal myHeadingToTurnTo
Definition: automotivePSR.h:294
Class DtVrfProcessStateRepository: Abstract base class for all process state repositories.
Definition: vrfProcessStateRepository.h:43
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
DtAutoTransmissionGearEnum
Definition: automotivePSR.h:24
DtRwReal myStandOffInterceptDistance
Reuse above myReverseFlag from DtGroundPatrolRouteController bool myReverseFlag;. ...
Definition: automotivePSR.h:340
virtual DtString type() const =0
Returns the string type of the repository, as defined in procSRTypes.h.
Definition: automotivePSR.h:29
DtLocalVectorIterator * myRouteState
Route state used to get info about the current route we&#39;re trying to follow (e.g. ...
Definition: automotivePSR.h:320
class DtLocalVertexList:
Definition: localVertexList.h:20
DtRwBoolean myKTurnReverseComplete
Definition: automotivePSR.h:296
DtRwVector myRoadStartPoint
Definition: automotivePSR.h:366
File: rwVector.h.
static const DtFilename & appPath()
Gets the current working directory.
const DtVrfProcessStateRepository & operator=(const DtVrfProcessStateRepository &orig)
DtRwInt myCurrentGear
From DtGroundAutoController (gndAutoCntlr.h) (enum DtAutoTransmissionGear)
Definition: automotivePSR.h:293

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)