15 #include <matrix/vlVector.h>
43 #define DT_RAIL_SEGMENT_MERGE_ERROR_BOUND 0.3
89 virtual const char*
type()
const;
108 virtual void clear();
133 static void moveAlongCallback(
DtSimMessage * msg,
void * usr);
135 static void setConvoyFollowCallback(
DtSimMessage * msg,
void * usrData);
138 static void settingsObjectConsumerCallback(
const DtSettingsObject* settingsObject,
void* usr);
155 myRoadConstants = rc;
161 myRoadPathFunctions = pf;
172 return myRoadObstructionFinder;
177 myRoadObstructionFinder = of;
195 {
return myProcessState; }
197 {
return myObjectParams; }
203 virtual bool drivingOnLeftEnabled()
const;
212 virtual double frontOffset()
const;
213 virtual void setFrontOffset(
const double o);
218 virtual double rearAxleOffset()
const;
219 virtual void setRearAxleOffset(
const double o);
243 virtual bool findPointOnTerrain(
const DtVector& worldLocation,
DtVector& worldLocationOnTerrain);
246 virtual std::vector<DtVector>& debugPoints()
248 return myObstacleLocations;
252 virtual std::vector<std::vector<DtVector> >& debugBoxes()
254 return myObstacleBoxes;
260 virtual const double followSpeedFactor()
const;
262 double getDistanceBehindConvoyTarget(
DtVrfObject * convoyTgt);
287 virtual bool createPSR();
290 virtual bool createUpdater();
291 virtual bool createPathFunctions();
294 virtual bool createRoadObstructionFinder();
296 virtual bool createDrivingLogic();
305 virtual void processSetConvoyFollowCallback(
DtSimMessage * msg);
323 virtual int entryLanePosition(
double heading,
unsigned int numLanes);
330 virtual void clearPath();
335 virtual void initiateLaneChange(
const int newLaneNum);
339 virtual void checkPathEnd();