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);
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
std::vector< DtVector > mySplineCoefficents
The spline coefficents used to determine a position along a curve.
Definition: railSplineCalculator.h:126
DtRailSegment are segments entities can follow when using the rail movement system.
Definition: railSegment.h:23
DtCoordTransform myLocalToTopoTransform
These aren't really topographic coordinate transforms; they transform to from a coordinate system tha...
Definition: railSplineCalculator.h:109
double mySplineTime
Keeps track of the parametric time, where we are on the curve.
Definition: railSplineCalculator.h:100
DtVector myLocalMidPoint
Definition: railSplineCalculator.h:123
double myHeadingShift
This is the difference between our current heading and desired heading.
Definition: railSplineCalculator.h:103
Definition: coordSystem.h:54
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points.
double myTotalSplineDistance
This is the distance along the current segment from turn entry point to end point plus the the distan...
Definition: railSplineCalculator.h:98
DtVector myLocalEntryPoint
The points used to generate the spline in local coordinates.
Definition: railSplineCalculator.h:122
DtCoordTransform myTopoToLocalTransform
Definition: railSplineCalculator.h:110
int myTurnDirection
Direction of the curve–going to left(-1) or right(1)
Definition: railSplineCalculator.h:114
bool myDrivingOnLeft
Are we driving on the left or right side of the road.
Definition: railSplineCalculator.h:119
DtVector myLocalExitPoint
Definition: railSplineCalculator.h:124
int myTurnEntryLane
Lane we use to enter the turn.
Definition: railSplineCalculator.h:116
Definition: railSplineCalculator.h:25