|
| | DtRoadPathFunctions (DtRoadMovementController *parentController) |
| |
| | ~DtRoadPathFunctions () |
| |
| virtual bool | setupRoadFromRailPath (const DtRailSegmentList &railPath, const Coordinate_System *localCoordinateSystem, bool drivingOnLeft, DtRoadSegmentList &roadPath, const bool debug=false) |
| | Generate a road path from the rail path, including computing the geometry of the curves connecting lane centerlines in adjacent segments. More...
|
| |
| virtual bool | getRoadPathAltitudes (DtRoadSegmentList &roadPath, const DtAttachedTerrain *terrain, bool &allTerrainAvailable, bool debug=false) |
| | Compute the coordinate transform from road segment to local coordinates, as well as the side slope at the beginning and end of the segment. More...
|
| |
| virtual bool | generatePathCenterlinePoints (const DtRoadSegmentList &roadPath, bool drivingOnLeft, std::vector< DtVector > &pointList, std::map< DtRoadSegment *, unsigned > &segmentToPointsMap) |
| | Generate a vector of points that indicate the road path. More...
|
| |
| virtual void | findIntersectionControlAlongPath (DtRoadSegmentList &roadPath, bool drivingOnLeft, bool debug) |
| | Place holder– does nothing but return. More...
|
| |
|
| virtual bool | makeRoadPathListFromRailPath (const DtRailSegmentList &railPath, DtRoadSegmentList &roadPath, const Coordinate_System *localCoordinateSystem, bool isDrivingOnLeft, int &roadSegNum, bool debug) |
| | This function creates road segment objects from the rail path objects and puts them in a list. More...
|
| |
| virtual void | connectSegmentLanes (const DtRoadSegmentList &roadPath, bool drivingOnLeft, bool debug) |
| | Fill in the upstream and downstream lane numbers for all of the lanes in each segment. More...
|
| |
| virtual void | calculatePathTemporaryGeometry (DtRoadSegmentList &roadPath, bool isDrivingOnLeft, double maxSmallBendTurnRadius, bool debug) |
| | Calculates the desired radius and desired intersection points of the curves connecting the road segments. More...
|
| |
| virtual void | reconnectRoadSegments (DtRoadSegment *prevRoadSegment, DtRoadSegment *nextRoadSegment, const bool isDrivingOnLeft, const double maxSmallBendTurnRadius, const bool debug) |
| | This function is run to connect two road segments that have already been initialized. More...
|
| |
| virtual bool | adjustShortSegmentsInCurve (DtRoadSegmentList &roadPath, const bool isDrivingOnLeft, const Coordinate_System *localCoordinateSystem, const double maxSmallBendTurnRadius, const bool debug) |
| | Looks for segments that are too short for the intersection point and desired turn radius identified in #calculatePathTemoraryGeometry, and that have entry and exit heading changes in the same direction (i.e. More...
|
| |
| virtual bool | adjustShortSegmentInS (DtRoadSegmentList &roadPath, bool isDrivingOnLeft, const Coordinate_System *localCoordinateSystem, double maxSmallBendTurnRadius, bool debug) |
| | Looks for segments that are too short for the intersection point and desired turn radius identified in #calculatePathTemoraryGeometry, and that have entry and exit heading changes in different directions (i.e., the path makes a small S at this segment). More...
|
| |
| virtual void | calculateCurvesBetweenSegments (DtRoadSegmentList &roadPath, bool isDrivingOnLeft, double maxSmallBendTurnRadius, bool debug) |
| | Calculates the curves connecting segments– calculates the radius and how far from the end of the straight road feature the curve must start. More...
|
| |
| virtual DtObjectType | trafficLightType () const |
| | Indicates whether the given object type is a traffic light. More...
|
| |
| virtual double | trafficLightFacingOffset () |
| | This is the offset of the facing of a light from its entity heading. More...
|
| |
| virtual DtObjectType | stopSignType () const |
| | Indicates whether the given object type is a stop sign. More...
|
| |
| virtual double | stopSignFacingOffset () |
| | This is the offset of the facing of a sign from its entity heading. More...
|
| |
| virtual DtObjectType | stopLineType () const |
| | Provides the type of a stop line object. More...
|
| |
| virtual void | intersectionControlObjectTypes (std::vector< DtObjectType > &tcdTypes) |
| | Provides the types of available intersection control objects. More...
|
| |
| virtual bool | isIntersectionControlDevice (const DtObjectType &objType) |
| | Returns true if the given type matches any of the known intersection control types. More...
|
| |
Compute the coordinate transform from road segment to local coordinates, as well as the side slope at the beginning and end of the segment.
These values will be used to compute positions in local coordinates of locations on the segment. Fills in value of mySegmentToLocal.
The function loops through all of the segments, and for each that does have myAllAltitudesDetermined == true, it generates the xy location of points in the left and right lanes at the beginning and end of the segment and looks up altitude for them. If (and only if) all altitude data is available, it sets the segment coordinate transform and sets myAllAltitudesDetermined to true.
- Parameters
-
| roadPath | is the road path whose segment-to-local coordinate transform and edge altitudes are being set. This path must match the rail path above. |
| terrain | is the terrain the entity is attached to. |
| terrainAvailable | a flag that indicates if the elevations were all found, vs. at least one terrain call returning "not available." |
- Returns
- False if there was an error, other than terrain not available. True if no error, although possibly terrain might not have been available. In this case the transform is not computed for those segments.