VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
railMovementControllerPSR.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"
21 #include <vrfutil/rwUUID.h>
22 
25 
33 {
44 };
48 {
49 public:
50 
53  const DtString& rwName = DtString::nullString(),
54  DtReaderWriterRegistry* parentRegistry = 0);
55 
58  const DtString& rwName = DtString::nullString(),
59  DtReaderWriterRegistry* parentRegistry = 0);
60 
62  virtual ~DtRailMovementControllerPSR();
63 
66 
69  const DtString& rwName = DtString::nullString(),
70  DtReaderWriterRegistry* parentRegistry = 0) const;
71 
74  virtual DtString type() const;
75 
76  virtual void setCurrentMovementState(DtRailMovementState state);
77  virtual DtRailMovementState currentMovementState() const;
78 
89  virtual void setUseHighFidelityGroundClamping(bool yesOrNo);
90  virtual bool useHighFidelityGroundClamping() const;
92 
95  virtual void resetSegmentIndex();
96  virtual void incrementSegmentIndex();
97  virtual const int segmentIndex() const;
98  virtual void setSegmentIndex(const int);
100 
104  virtual double positionAlongLane() const;
105  virtual void setPositionAlongLane(const double p);
107 
110  virtual double speedAlongLane() const;
111  virtual void setSpeedAlongLane(const double s);
113 
116  virtual double accelerationAlongLane()const;
117  virtual void setAccelerationAlongLane(const double a);
119 
125  virtual double offsetFromLaneCenterline() const;
126  virtual void setOffsetFromLaneCenterline(const double offset);
127 
131  virtual double laneChangeWidth() const;
132  virtual void setLaneChangeWidth(const double f);
133 
138  virtual void setCurrentLanePosition(const int lane);
139  virtual const int currentLanePosition() const;
140 
142  virtual void setCurrentLaneNumber(const int lane);
143  virtual const int currentLaneNumber() const;
145 
150  virtual void setPassingLanePosition(const int lane);
151 
152  virtual const int passingLanePosition() const;
154 
156  virtual void setTurning(bool turn);
157  virtual bool turning() const;
159 
161  virtual void setAllowPassing(bool canPass);
162  virtual bool allowPassing() const;
164 
166  virtual void setPassing(bool pass);
167  virtual bool passing() const;
169 
171  virtual void setAvoidingCollision(bool avoid);
172  virtual bool avoidingCollision() const;
174 
176  virtual void setNeedSwitchLanes(bool switchLane);
177  virtual bool needSwitchLanes() const;
179 
181  virtual void setConvoyTargetSpecified(bool following);
182  virtual bool convoyTargetSpecified() const;
184 
187  virtual void setConvoyFollowTarget(const DtUUID&);
188 
190  virtual const DtRwVrfObjectReference& convoyFollowTarget() const;
191  virtual DtRwVrfObjectReference& convoyFollowTarget();
193 
195  virtual void setConvoyFollowDistance(const double dist);
196  virtual const double convoyFollowDistance() const;
198 
199  void setConvoyUseCatchUpSpeed(const bool useCatchUpSpeed);
200  const bool convoyUseCatchUpSpeed() const;
201 
202 
204  virtual const double maxFollowThreshold() const;
205  virtual void setMaxFollowThreshold(const double threshold);
207 
208 
209 public:
210 
212  static DtVrfProcessStateRepository* creator (const DtString& rwName,
213  DtVrfObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
214 
215 protected:
216 
218 
222 
228 
234 
242 
246 
250 
253 
257 
261 
265 
269 
273 
278 
281 
284 
287 
290 
297 };
298 
299 
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
DtRailMovementState
Used to keep the current state of an entity as it travels along a route using the rail system...
Definition: railMovementControllerPSR.h:32
DtRwInt myCurrentMovementState
Definition: railMovementControllerPSR.h:217
Definition: railMovementControllerPSR.h:42
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
DtRwBoolean myTurning
Keep track of whether we were in a turn or not.
Definition: railMovementControllerPSR.h:260
DtRwBoolean myAllowPassing
Were we passing *** Not used in road movement controller; only in old rail move controller.
Definition: railMovementControllerPSR.h:264
Instances of DtRailMovementControllerPSR are used to hold the shared/checkpointable data for a rail m...
Definition: railMovementControllerPSR.h:47
Definition: railMovementControllerPSR.h:41
DtRwInt myPassingLanePosition
Lane number of lane we are moving to.
Definition: railMovementControllerPSR.h:256
Definition: readerWriterRegistry.h:39
DtRwVrfObjectReference myConvoyFollowTarget
Keep track of who we&#39;re following if anybody. Used for convoys.
Definition: railMovementControllerPSR.h:283
Definition: railMovementControllerPSR.h:37
DtRwBoolean myPassing
Were we passing *** Not used in road movement controller; only in old rail move controller.
Definition: railMovementControllerPSR.h:268
Definition: railMovementControllerPSR.h:36
Definition: railMovementControllerPSR.h:40
Definition: railMovementControllerPSR.h:35
DtRwReal myPositionAlongLane
The current linear position along the segment in the current lane.
Definition: railMovementControllerPSR.h:233
DtRwInt mySegmentIndex
Keep track of which segment we&#39;re on.
Definition: railMovementControllerPSR.h:227
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
DtRwReal mySpeedAlongLane
Since kinematics are based on the rail, and not on motion in space, we need speed and acceleration al...
Definition: railMovementControllerPSR.h:239
DtRwReal myConvoyFollowDistance
Keep track of how far behind convoy target we should follow.
Definition: railMovementControllerPSR.h:286
Description: Readable, Writable int.
Definition: rwInt.h:25
virtual DtVrfProcessStateRepository * clone(const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const =0
DtRwBoolean myConvoyTargetSpecified
Quick check to know if we have target to follow.
Definition: railMovementControllerPSR.h:280
DtRwBoolean myNeedToSwitchLanes
Keep track if we need to switch lanes.
Definition: railMovementControllerPSR.h:277
DtRwBoolean myUseHighFidelityGroundClamping
Used by the rail updater when determining the orientation of the entity on the terrain.
Definition: railMovementControllerPSR.h:221
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
Class used as the reader/writer implementation of the DtVrfObjectReference.
Definition: vrfObjectReference.h:204
Class DtVrfProcessStateRepository: Abstract base class for all process state repositories.
Definition: vrfProcessStateRepository.h:43
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
DtRwBoolean myAvoidingCollision
*** Not used in road movement controller; only in old rail move controller.
Definition: railMovementControllerPSR.h:272
Definition: railMovementControllerPSR.h:43
DtRwInt myCurrentLanePosition
Current lane number.
Definition: railMovementControllerPSR.h:252
DtRwBoolean myConvoyUseCatchUpSpeed
*** Not used in road movement controller; only in old rail move controller. ***
Definition: railMovementControllerPSR.h:289
DtRwReal myMaxFollowThreshold
If entity is following another entity while moving along a rail route, this is the maximum delta they...
Definition: railMovementControllerPSR.h:296
Definition: railMovementControllerPSR.h:39
DtRwReal myLateralOffset
The current offset from the current lane centerline.
Definition: railMovementControllerPSR.h:245
DtRwReal myLaneChangeWidth
Indicates what the distance is between lane centerlines of the lanes the entity is between in a lane ...
Definition: railMovementControllerPSR.h:249
Definition: railMovementControllerPSR.h:38
DtRwReal myAccelerationAlongLane
Definition: railMovementControllerPSR.h:240
virtual DtString type() const =0
Returns the string type of the repository, as defined in procSRTypes.h.
voidpf uLong offset
Definition: ioapi.h:42
Definition: railMovementControllerPSR.h:34
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)