14 #include <matrix/vlVector.h>
41 #define DT_RAIL_SEGMENT_MERGE_ERROR_BOUND 0.3
85 virtual const char*
type()
const;
104 virtual void clear();
129 static void moveAlongCallback(
DtSimMessage * msg,
void * usr);
131 static void setConvoyFollowCallback(
DtSimMessage * msg,
void * usrData);
134 static void settingsObjectConsumerCallback(
const DtSettingsObject* settingsObject,
void* usr);
151 myRoadConstants = rc;
157 myRoadPathFunctions = pf;
168 return myRoadObstructionFinder;
173 myRoadObstructionFinder = of;
191 {
return myProcessState; }
193 {
return myObjectParams; }
199 virtual bool drivingOnLeftEnabled()
const;
208 virtual double frontOffset()
const;
209 virtual void setFrontOffset(
const double o);
214 virtual double rearAxleOffset()
const;
215 virtual void setRearAxleOffset(
const double o);
239 virtual bool findPointOnTerrain(
const DtVector& worldLocation,
DtVector& worldLocationOnTerrain);
242 virtual std::vector<DtVector>& debugPoints()
244 return myObstacleLocations;
248 virtual std::vector<std::vector<DtVector> >& debugBoxes()
250 return myObstacleBoxes;
256 virtual const double followSpeedFactor()
const;
258 virtual double getDistanceBehindConvoyTarget(
const DtVrfObject * convoyTgt)
const;
284 virtual bool createPSR();
287 virtual bool createUpdater();
288 virtual bool createPathFunctions();
291 virtual bool createRoadObstructionFinder();
293 virtual bool createDrivingLogic();
302 virtual void processSetConvoyFollowCallback(
DtSimMessage * msg);
320 virtual int entryLanePosition(
double heading,
unsigned int numLanes);
327 virtual void clearPath();
332 virtual void initiateLaneChange(
const int newLaneNum);
336 virtual void checkPathEnd();