15 #include <matrix/vlVector.h>
79 static void settingConsumerCallback(
const DtSettingsObject* settingsObject,
void* usr);
84 static void moveAlongCallback(
DtSimMessage * msg,
void * usr);
93 static void setConvoyFollowCallback(
DtSimMessage * msg,
void * usrData);
109 virtual bool drivingOnLeftEnabled()
const;
112 virtual const int turnDirection()
const;
113 virtual void setTurnDirection(
const int turn);
115 virtual bool turning()
const;
116 virtual void setTurning(
bool turn);
119 virtual const int currentLane()
const;
120 virtual void setCurrentLane(
const int lane);
123 virtual const int passingLane()
const;
124 virtual void setPassingLane(
const int lane);
128 virtual void setFollowThreshold(
const double);
129 virtual const double followThreshold()
const;
133 virtual const double followSpeedFactor()
const;
145 virtual bool setUpDestination(
DtRailSegment * seg,
bool incrementSegmentIndex =
true,
146 bool useCurrentPos =
false,
DtVector pos = DtVector::zero());
159 double getDistanceBehindConvoyTarget(
DtVrfObject * convoyTgt);
163 virtual double travelDistanceSq();
168 virtual bool ifDrawDebugRoutes()
const;
196 virtual bool createPSR();
199 virtual void processSetting(
const DtBoolSetting* setting);
201 virtual void processSetConvoyFollowCallback(
DtSimMessage * msg);
213 virtual int entryLanePosition(
double heading,
unsigned int numLanes);
215 virtual void checkMovementState(
const int passingLane);
227 const int drivingLane,
const int passingLane,
double &drivingSpeed);
230 virtual void testObstructionFinder(
const int drivingLane,
const double drivingSpeed);
233 virtual void clearPath();