18 #include <matrix/vlVector.h>
19 #include <matrix/vlTaitBryan.h>
20 #include <matrix/coordTransform.h>
34 const int currentLane,
const int desiredLane,
Coordinate_System * coordinateSystem,
bool useDefinedEntry =
false,
35 DtVector entryPt = DtVector::zero());
38 virtual bool setUpLaneSwitchSpline(
const DtVector& projectedLocation,
const DtRailSegment *currentSeg,
const double bvolHL,
39 const int currentLane,
const int desiredLane,
Coordinate_System * coordinateSystem);
42 const int passingLane,
const int previousSwitchDirection,
Coordinate_System * coordinateSystem);
44 virtual bool modifySpline(
const DtVector & currentLocalPos,
const DtRailSegment * currentSeg,
const DtRailSegment * nextSeg,
const int currentLane,
const int passingLane,
57 virtual std::list<DtVector> getCurvePoints();
60 virtual double calculateTurnHeading(
double oldHeading);
62 virtual double calculateLaneSwitchHeading(
double oldHeading);
64 virtual bool finishTurn(
double oldHeading,
double newHeading);
65 virtual bool finishLaneSwitch(
double oldHeading,
double newHeading);
69 virtual const DtVector & splineLocalEntryPoint()
const;
70 virtual const DtVector & splineLocalMidPoint()
const;
71 virtual const DtVector & splineLocalExitPoint()
const;
73 virtual const int turnEntryLane()
const;
74 virtual void setDrivingOnLeft(
bool left);
75 virtual bool drivingOnLeft()
const;
78 virtual void setTurnDirection(
const int dir);
79 virtual const int turnDirection()
const;
81 virtual void setLocalToTopoTransform(
const DtCoordTransform & transform);
82 virtual void setTopoToLocalTransform(
const DtCoordTransform & transform);