53 const DtString& rwName = DtString::nullString(),
58 const DtString& rwName = DtString::nullString(),
69 const DtString& rwName = DtString::nullString(),
89 virtual void setUseHighFidelityGroundClamping(
bool yesOrNo);
90 virtual bool useHighFidelityGroundClamping()
const;
95 virtual void resetSegmentIndex();
96 virtual void incrementSegmentIndex();
97 virtual const int segmentIndex()
const;
98 virtual void setSegmentIndex(
const int);
104 virtual double positionAlongLane()
const;
105 virtual void setPositionAlongLane(
const double p);
110 virtual double speedAlongLane()
const;
111 virtual void setSpeedAlongLane(
const double s);
116 virtual double accelerationAlongLane()
const;
117 virtual void setAccelerationAlongLane(
const double a);
125 virtual double offsetFromLaneCenterline()
const;
126 virtual void setOffsetFromLaneCenterline(
const double offset);
131 virtual double laneChangeWidth()
const;
132 virtual void setLaneChangeWidth(
const double f);
138 virtual void setCurrentLanePosition(
const int lane);
139 virtual const int currentLanePosition()
const;
142 virtual void setCurrentLaneNumber(
const int lane);
143 virtual const int currentLaneNumber()
const;
150 virtual void setPassingLanePosition(
const int lane);
152 virtual const int passingLanePosition()
const;
156 virtual void setTurning(
bool turn);
157 virtual bool turning()
const;
161 virtual void setAllowPassing(
bool canPass);
162 virtual bool allowPassing()
const;
166 virtual void setPassing(
bool pass);
167 virtual bool passing()
const;
171 virtual void setAvoidingCollision(
bool avoid);
172 virtual bool avoidingCollision()
const;
176 virtual void setNeedSwitchLanes(
bool switchLane);
177 virtual bool needSwitchLanes()
const;
181 virtual void setConvoyTargetSpecified(
bool following);
182 virtual bool convoyTargetSpecified()
const;
187 virtual void setConvoyFollowTarget(
const DtUUID&);
194 virtual void setConvoyFollowDistance(
const double dist);
195 virtual const double convoyFollowDistance()
const;
198 void setConvoyUseCatchUpSpeed(
const bool useCatchUpSpeed);
199 const bool convoyUseCatchUpSpeed()
const;
203 virtual const double maxFollowThreshold()
const;
204 virtual void setMaxFollowThreshold(
const double threshold);
UUID is a unique ID wrapper class.
Definition: rwUUID.h:229
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:216
Definition: railMovementControllerPSR.h:42
DtRwBoolean myTurning
Keep track of whether we were in a turn or not. *** Not used in road movement controller; only in old...
Definition: railMovementControllerPSR.h:259
DtRwBoolean myAllowPassing
Were we passing *** Not used in road movement controller; only in old rail move controller. ***.
Definition: railMovementControllerPSR.h:263
Instances of DtRailMovementControllerPSR are used to hold the shared/checkpointable data for a rail m...
Definition: railMovementControllerPSR.h:47
DtRwSimObjectReference myConvoyFollowTarget
Keep track of who we're following if anybody. Used for convoys.
Definition: railMovementControllerPSR.h:282
The DtSimObjectReference is a shared pointer that can be used amongst many object for access to the u...
Definition: simObjectReference.h:26
Definition: railMovementControllerPSR.h:41
DtRwInt myPassingLanePosition
Lane number of lane we are moving to. *** Not used in road movement controller; only in old rail move...
Definition: railMovementControllerPSR.h:255
Definition: readerWriterRegistry.h:39
Contains the DtUUID class declaration.
Definition: railMovementControllerPSR.h:37
DtRwBoolean myPassing
Were we passing *** Not used in road movement controller; only in old rail move controller. ***.
Definition: railMovementControllerPSR.h:267
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. This is the distance along the lan...
Definition: railMovementControllerPSR.h:232
Specialized reader/writer version of the shared object reference that will encapsulate the actual sha...
Definition: simObjectReference.h:74
DtRwInt mySegmentIndex
Keep track of which segment we're on. This index corresponds to the order of rail segments...
Definition: railMovementControllerPSR.h:226
#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:238
DtRwReal myConvoyFollowDistance
Keep track of how far behind convoy target we should follow.
Definition: railMovementControllerPSR.h:285
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:279
DtRwBoolean myNeedToSwitchLanes
Keep track if we need to switch lanes. This could be due to an upcoming turn, need to pass someone...
Definition: railMovementControllerPSR.h:276
DtRwBoolean myUseHighFidelityGroundClamping
Used by the rail updater when determining the orientation of the entity on the terrain.
Definition: railMovementControllerPSR.h:220
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
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
DtRwBoolean myAvoidingCollision
*** Not used in road movement controller; only in old rail move controller. ***
Definition: railMovementControllerPSR.h:271
Definition: railMovementControllerPSR.h:43
DtRwInt myCurrentLanePosition
Current lane number.
Definition: railMovementControllerPSR.h:251
DtRwBoolean myConvoyUseCatchUpSpeed
*** Not used in road movement controller; only in old rail move controller. ***
Definition: railMovementControllerPSR.h:288
DtRwReal myMaxFollowThreshold
If entity is following another entity while moving along a rail route, this is the maximum delta they...
Definition: railMovementControllerPSR.h:295
Definition: railMovementControllerPSR.h:39
DtRwReal myLateralOffset
The current offset from the current lane centerline. Positive is to the right.
Definition: railMovementControllerPSR.h:244
DtRwReal myLaneChangeWidth
Indicates what the distance is between lane centerlines of the lanes the entity is between in a lane ...
Definition: railMovementControllerPSR.h:248
Definition: railMovementControllerPSR.h:38
DtRwReal myAccelerationAlongLane
Since kinematics are based on the rail, and not on motion in space, we need speed and acceleration al...
Definition: railMovementControllerPSR.h:239
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
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