|
| | DtRailSplineCalculator () |
| |
| virtual | ~DtRailSplineCalculator () |
| |
| virtual bool | setUpTurnSpline (const DtRailSegment *currentSeg, const DtRailSegment *nextSeg, const int currentLane, const int desiredLane, Coordinate_System *coordinateSystem, bool useDefinedEntry=false, DtVector entryPt=DtVector::zero()) |
| |
| virtual bool | setUpLaneSwitchSpline (const DtVector &projectedLocation, const DtRailSegment *currentSeg, const double bvolHL, const int currentLane, const int desiredLane, Coordinate_System *coordinateSystem) |
| |
| virtual bool | recalculateSpline (const DtRailSegment *currentSeg, const DtRailSegment *nextSeg, const int currentLane, const int passingLane, const int previousSwitchDirection, Coordinate_System *coordinateSystem) |
| |
| virtual bool | modifySpline (const DtVector ¤tLocalPos, const DtRailSegment *currentSeg, const DtRailSegment *nextSeg, const int currentLane, const int passingLane, Coordinate_System *coordinateSystem) |
| |
| virtual void | calculateTurnPath (const DtVector &pathEntryPt, const DtVector &pathMidPt, const DtVector &pathExitPt) |
| |
| virtual DtVector | determinePositionAlongCurve (double distance) |
| |
| virtual std::list< DtVector > | getCurvePoints () |
| |
| virtual double | calculateTurnHeading (double oldHeading) |
| |
| virtual double | calculateLaneSwitchHeading (double oldHeading) |
| |
| virtual bool | finishTurn (double oldHeading, double newHeading) |
| |
| virtual bool | finishLaneSwitch (double oldHeading, double newHeading) |
| |
| virtual const DtVector & | splineLocalEntryPoint () const |
| |
| virtual const DtVector & | splineLocalMidPoint () const |
| |
| virtual const DtVector & | splineLocalExitPoint () const |
| |
| virtual const int | turnEntryLane () const |
| |
| virtual void | setDrivingOnLeft (bool left) |
| |
| virtual bool | drivingOnLeft () const |
| |
| virtual void | setTurnDirection (const int dir) |
| |
| virtual const int | turnDirection () const |
| |
| virtual void | setLocalToTopoTransform (const DtCoordTransform &transform) |
| |
| virtual void | setTopoToLocalTransform (const DtCoordTransform &transform) |
| |
| virtual void | clear () |
| |
| DtRailSplineCalculator::DtRailSplineCalculator |
( |
| ) |
|
| virtual DtRailSplineCalculator::~DtRailSplineCalculator |
( |
| ) |
|
|
virtual |
Set up spline to achieve turning from one segment to another. Returns true if able to construct a spline.
| virtual bool DtRailSplineCalculator::setUpLaneSwitchSpline |
( |
const DtVector & |
projectedLocation, |
|
|
const DtRailSegment * |
currentSeg, |
|
|
const double |
bvolHL, |
|
|
const int |
currentLane, |
|
|
const int |
desiredLane, |
|
|
Coordinate_System * |
coordinateSystem |
|
) |
| |
|
virtual |
Set up spline to achieve a lane switch.
| virtual void DtRailSplineCalculator::calculateTurnPath |
( |
const DtVector & |
pathEntryPt, |
|
|
const DtVector & |
pathMidPt, |
|
|
const DtVector & |
pathExitPt |
|
) |
| |
|
virtual |
generates the turn path needed to provide a smooth turn that connects the segments on the path. Uses 3 points in the intersection to generate a simple quadratic spline curve. Points are in whatever coordinate systems the supplied path points are in.
| virtual DtVector DtRailSplineCalculator::determinePositionAlongCurve |
( |
double |
distance | ) |
|
|
virtual |
If the entity is using turn smoothing and it is currently turning this will find where on the curve the entity is.
| virtual std::list<DtVector> DtRailSplineCalculator::getCurvePoints |
( |
| ) |
|
|
virtual |
Generate a set of about 10 points that lie along the spline from start to end. For debugging.
| virtual double DtRailSplineCalculator::calculateTurnHeading |
( |
double |
oldHeading | ) |
|
|
virtual |
Starting from the old heading add the percentage of the difference covered given the spline time.
| virtual double DtRailSplineCalculator::calculateLaneSwitchHeading |
( |
double |
oldHeading | ) |
|
|
virtual |
| virtual bool DtRailSplineCalculator::finishTurn |
( |
double |
oldHeading, |
|
|
double |
newHeading |
|
) |
| |
|
virtual |
| virtual bool DtRailSplineCalculator::finishLaneSwitch |
( |
double |
oldHeading, |
|
|
double |
newHeading |
|
) |
| |
|
virtual |
| virtual const DtVector& DtRailSplineCalculator::splineLocalEntryPoint |
( |
| ) |
const |
|
virtual |
These are the generated local entry,mid, exit points for the spline transformed from the pathEntryPt,pathMidPt, pathExitPt supplied to the calculateTurnPath function.
| virtual const DtVector& DtRailSplineCalculator::splineLocalMidPoint |
( |
| ) |
const |
|
virtual |
| virtual const DtVector& DtRailSplineCalculator::splineLocalExitPoint |
( |
| ) |
const |
|
virtual |
| virtual const int DtRailSplineCalculator::turnEntryLane |
( |
| ) |
const |
|
virtual |
| virtual void DtRailSplineCalculator::setDrivingOnLeft |
( |
bool |
left | ) |
|
|
virtual |
| virtual bool DtRailSplineCalculator::drivingOnLeft |
( |
| ) |
const |
|
virtual |
| virtual void DtRailSplineCalculator::setTurnDirection |
( |
const int |
dir | ) |
|
|
virtual |
These are set by the updater when setUpTurn is called to intialize the spline calculator.
| virtual const int DtRailSplineCalculator::turnDirection |
( |
| ) |
const |
|
virtual |
| virtual void DtRailSplineCalculator::setLocalToTopoTransform |
( |
const DtCoordTransform & |
transform | ) |
|
|
virtual |
| virtual void DtRailSplineCalculator::setTopoToLocalTransform |
( |
const DtCoordTransform & |
transform | ) |
|
|
virtual |
| virtual void DtRailSplineCalculator::clear |
( |
| ) |
|
|
virtual |
| double DtRailSplineCalculator::myTotalSplineDistance |
|
protected |
This is the distance along the current segment from turn entry point to end point plus the the distance along the next segment to the turn exit point.
| double DtRailSplineCalculator::mySplineTime |
|
protected |
Keeps track of the parametric time, where we are on the curve.
| double DtRailSplineCalculator::myHeadingShift |
|
protected |
This is the difference between our current heading and desired heading. Used to determine the heading of the entity as it moves along the spline.
| DtCoordTransform DtRailSplineCalculator::myLocalToTopoTransform |
|
protected |
These aren't really topographic coordinate transforms; they transform to from a coordinate system that has xy in the horizontal plane (like topographic) but x oriented in the segment direction.
| DtCoordTransform DtRailSplineCalculator::myTopoToLocalTransform |
|
protected |
These aren't really topographic coordinate transforms; they transform to from a coordinate system that has xy in the horizontal plane (like topographic) but x oriented in the segment direction.
| int DtRailSplineCalculator::myTurnDirection |
|
protected |
Direction of the curve–going to left(-1) or right(1)
| int DtRailSplineCalculator::myTurnEntryLane |
|
protected |
Lane we use to enter the turn.
| bool DtRailSplineCalculator::myDrivingOnLeft |
|
protected |
Are we driving on the left or right side of the road. This affects how you set up the turn splines!
| DtVector DtRailSplineCalculator::myLocalEntryPoint |
|
protected |
The points used to generate the spline in local coordinates.
| DtVector DtRailSplineCalculator::myLocalMidPoint |
|
protected |
| DtVector DtRailSplineCalculator::myLocalExitPoint |
|
protected |
| std::vector<DtVector> DtRailSplineCalculator::mySplineCoefficents |
|
protected |
The spline coefficents used to determine a position along a curve.
The documentation for this class was generated from the following file: