12 #include "matrix/vlVector.h"
50 double & distanceSqAlongClosest);
68 const int lane,
const double headingChange);
76 bool drivingOnLeft,
bool pivots,
const double turnRadius,
const double entityHeading,DtVector & entryPoint,
const Coordinate_System& coordinateSystem);
127 DtRailSegment* railSegment,
double allowDistance,
double& actualDistSq);
std::list< DtRailSegment * > DtRailSegmentList
Definition: railSegment.h:194
DT_DLL_vrfutil DtRwRailSegmentList * createRwRailPath(const DtRailSegmentList *rails)
File: lclVecIter.h.
Definition: localVectorIterator.h:25
DT_DLL_vrfutil int findTurnDirection(double currentHeading, double desiredHeading, double &headingDiff)
Returns which direction the turn is, -1 indicates left, 1 indicates right. The difference in the 2 he...
DT_DLL_vrfutil int findDrivingLane(const int turnDirection, const DtRailSegment *segment)
Given the direction we want to turn determine the driving lane to be in.
DtRailSegment are segments entities can follow when using the rail movement system.
Definition: railSegment.h:20
DT_DLL_vrfutil DtRwRailSegmentList * createRwRailPathFromRoute(DtLocalVectorIterator &routeIter, const DtVector startPos, DtIteratorDirection dir, bool startAtClosestPt, const Coordinate_System &coordinateSystem)
DT_DLL_vrfutil double distance2DSqAlongRailSegment(const DtVector &pos, const DtRailSegment *seg, const Coordinate_System &coordinateSystem, double &distanceToSeg)
Set of Useful functions when an entity is moving along rails.
DT_DLL_vrfutil DtRailSegment * generateEntryPoint(const DtPoint &entry, DtRailSegmentList *rails, const DtVector &entityPos, bool drivingOnLeft, bool pivots, const double turnRadius, const double entityHeading, DtVector &entryPoint, const Coordinate_System &coordinateSystem)
Generates an entry rail segment to get the entity smoothly onto the rail path. Provides the entry poi...
DT_DLL_vrfutil const DtRailSegment * findClosestSegment(const DtVector &pos, const DtRailSegmentList *rails, const Coordinate_System &coordinateSystem, double &distanceSqAlongClosest)
DtIteratorDirection
Definition: iteratorBase.h:23
DT_DLL_vrfutil double distance2DAlongRailFromStart(const DtVector &pos, const DtRailSegmentList *rails, const Coordinate_System &coordinateSystem)
How far from the start of the rail path pos is. This is distance along the path not as the crow flies...
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. Coordinates are in local database coordinates The coordinat...
DT_DLL_vrfutil double laneLengthTurnAdjustment(const DtRailSegment *seg, const int lane, const double headingChange)
This function calculates the difference in lane length from the segment centerline length because it ...
DT_DLL_vrfutil DtVector locationAlongRailSegment(double distanceFromSegmentStart, const DtRailSegment *railSegment)
DT_DLL_vrfutil bool isRailWithinDistance(const Coordinate_System *coordSys, const DtVector &sourceLocation, DtRailSegment *railSegment, double allowDistance, double &actualDistSq)
DT_DLL_vrfutil DtVector convertGeocVecToTopo(const DtVector &geocPoint, const DtCoordTransform &matrix)
This function converts a point (not a vector) using the given transformation matrix–which is expected...
DT_DLL_vrfutil double railHeading(const DtRailSegment *railSegment, const Coordinate_System &coordinateSystem)
Returns the heading from the start point to the end point of the given rail segment in the given coor...
DT_DLL_vrfutil void setUpLocalToBodyCoordinateTransform(const DtVector &offset, const double heading, const Coordinate_System &coordinateSystem, DtCoordTransform &transform)
Returns a coordinate transform matrix to transform from local coordinates to the body coordinates bas...
DT_DLL_vrfutil double distance2DAlongRailBetween2Points(const DtVector &pos1, const DtVector &pos2, const DtRailSegmentList *rails, const Coordinate_System &coordinateSystem)
Distance between two positions on the rail path.
DT_DLL_vrfutil DtVector convertTopoVecToGeoc(const DtVector &topoPoint, const DtCoordTransform &matrix)
Similarly.
DT_DLL_vrfutil bool calcOrthoOffset(const DtPoint &startPoint, const DtPoint &endPoint, double distance, DtPoint &leftOffset, DtPoint &rightOffset)
This function generates two offset values that can be used for any point on the given segment...
DT_DLL_vrfutil DtCoordTransform generateTransformMatrix(const DtVector &geocViewpoint)
DT_DLL_vrfutil bool intersection(const DtRailSegment *currentSegment, const DtRailSegment *nextSegment)
Given two segments, determine if where they meet is an intersection or just a bend in the road...
DT_DLL_vrfutil void fillInRailPathFromRoute(DtLocalVectorIterator &routeIter, const DtVector startPos, DtIteratorDirection dir, bool startAtClosestPt, const Coordinate_System &coordinateSystem, DtRailSegmentList &rails)
DT_DLL_vrfutil DtVector locationAlongRail(double distanceFromStart, const DtRailSegmentList *rails, const Coordinate_System &coordinateSystem)
DT_DLL_vrfutil bool findPointOnLine(const DtPoint &startPoint, const DtPoint &endPoint, DtPoint &result, double distance)
The end point is mostly only for directionality of the resulting point. The left parenthesis below is...
DT_DLL_vrfutil double closestPointInXY(const DtRailSegment *seg, const DtVector &pointFronm, DtVector &closest, const Coordinate_System &coordinateSystem)
#define DT_DLL_vrfutil
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfutilDefines.h:34
voidpf uLong offset
Definition: ioapi.h:42
DT_DLL_vrfutil bool removeShortSegmentsFromRailPath(DtRailSegmentList &railPath, const double allowedError, const Coordinate_System *localCoordinateSystem, bool debug=false)
This function removes short segments from a rail path when possible so that feasible vehicle paths ca...
DT_DLL_vrfutil bool isLocationWithinRoad(const Coordinate_System *coordSys, const DtVector &sourceLocation, DtRailSegment *railSegment)