9 #include <matrix/vlVector.h>
10 #include <matrix/vlTaitBryan.h>
11 #include <matrix/coordTransform.h>
25 #define DT_ROAD_MOVE_COAST_DECEL_FRACTION 0.5
29 #define DT_ROAD_MOVE_DESTROYED_DECELERATION -5.0
62 virtual void movementComplete();
74 virtual void updateRailAndWorldPosition(
DtRoadSegment* currentSeg,
double newAccel,
75 double dT,
double simTime = 0.0);
79 virtual void updateNoMovement();
92 virtual void kinematicUpdate(
const double oldSpeed,
const double accel,
93 const double dt,
double& deltaPosition,
double& newSpeed,
111 virtual void doKinematicUpdateAlongRail(
114 const int roadLaneNum,
115 const double oldPositionInLane,
116 const double oldSpeed,
118 double & newPositionInLane,
119 double & newLateralOffset,
120 double & laneChangeHeadingOffset,
122 double & newRotationRate);
139 virtual void computePositionInDownstreamSegment(
142 double & newPositionInLane,
143 const double newLateralOffset,
144 double &segmentCurveHeadingOffset,
167 virtual void updateLateralOffset(
const double currentOffset,
168 const double distanceBetweenLanes,
const double speed,
170 double & newLateralOffset,
double& newHeadingOffset,
171 double &headingChangeRate);
180 virtual void updatePsrWithNewState(
181 const int roadLaneNum,
182 const bool isSwitchingLanes,
183 const int roadSegmentIndex,
184 const double positionInLane,
185 double lateralOffset,
186 const double newSpeed,
187 const double newAccel,
198 virtual void computeBodyMotionVectors(
const double speed,
199 const double accel,
const double turnRate,
const double dt,
207 virtual void computeRepositoryUpdateVariables(
210 const DtVector & newBodyAcceleration,
211 const DtDcm & newLocalOrientation,
212 const double newRotationRate,
215 DtTaitBryan & newLocalOrientationTb,
216 DtVector & newBodyRotationalVelocity
225 virtual void useFuel(
double fuelUsed);
227 virtual bool isEntityImmobilized();
234 virtual double fuelLeft()
const;
253 virtual void updateRepository(
const DtVector & localPosition,
255 const DtTaitBryan & localOrientation,
const DtVector& rotationalVelocity,
283 virtual void calculateOrientationAndPosition(
284 const DtVector& newLocalProjectedLocation,
const double newHeading,
285 DtDcm& newLocalOrientation,
DtVector& newLocalPosition);
290 virtual void calculateOriginLocation(
291 const DtVector & turnCenterLocation,
292 const double heading,
306 bool groundClamp(
const double heading,
const DtVector& location,
313 void groundClampHighFidelity(
const double heading,
const DtVector& location,
321 void groundClampLowFidelity(
const double heading,
const DtVector& location,
DtRoadMovementController * myController
Definition: roadMovementUpdater.h:336
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
Definition: attachedTerrain.h:42
Description: This repository holds all information that is common to all the forms of all objects wit...
Definition: vrfMovingObjectStateRepository.h:26
DtRailSegment are segments entities can follow when using the rail movement system.
Definition: railSegment.h:23
Instances of DtRailMovementControllerPSR are used to hold the shared/checkpointable data for a rail m...
Definition: railMovementControllerPSR.h:47
DtRailMovementControllerPSR * myRailMovementPSR
Definition: roadMovementUpdater.h:338
DtRoadMovementController is a movement controller that models an entity's movement along a road path...
Definition: roadMovementController.h:66
DtVrfMovingObjectStateRepository * myMovingStateRep
Definition: roadMovementUpdater.h:337
Models an entity moving along a generated road path.
Definition: roadMovementUpdater.h:40
const DtAttachedTerrain * myAttachedTerrain
Used to ground clamp the entity– TODO how we ground clamp, ie get access to terrain may change...
Definition: roadMovementUpdater.h:343
DtUpdateRepositoryOutputPortGroup * myUpdateRepositoryOutputPortGroup
Port group used to set what values should be set into the VRF state repository.
Definition: roadMovementUpdater.h:349
bool myUseHighFidelityGroundClamping
Definition: roadMovementUpdater.h:344
bool myWarnedAboutImmobilizedOnce
To warn user about new immobilization just once.
Definition: roadMovementUpdater.h:352
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
Description of one segment of a road.
Definition: roadSegment.h:390
bool myDrivingOnLeft
Definition: roadMovementUpdater.h:345
DtUpdateRepositoryOutputPortGroup is a data port group of a data consumer that contains methods and p...
Definition: updateRepositoryOutputPortGroup.h:28