42 void ApplyLateralOffset(
float lateral_offset);
59 return _start_position_offset;
66 return _start_position;
73 virtual std::pair<float, float> DistanceTo(
const geom::Location &p)
const = 0;
85 _start_position_offset(start_offset),
87 _start_position(start_pos) {}
122 PosFromDist(_length).location);
150 static_cast<float>(_length),
151 static_cast<float>(_heading),
152 static_cast<float>(_curvature));
175 _curve_start(curv_s),
176 _curve_end(curv_e) {}
188 std::pair<float, float> DistanceTo(
const geom::Location &)
const override;
213 _poly.Set(a, b, c, d);
232 std::pair<float, float> DistanceTo(
const geom::Location &)
const override;
252 void PreComputeSpline();
281 _arcLength(arcLength) {
282 _polyU.Set(aU, bU, cU, dU);
283 _polyV.Set(aV, bV, cV, dV);
314 std::pair<float, float> DistanceTo(
const geom::Location &)
const override;
340 void PreComputeSpline();
double GetStartOffset() const
std::pair< float, float > DistanceTo(const geom::Location &p) const override
Returns a pair containing:
Describes a Cubic Polynomial so: f(x) = a + bx + cx^2 + dx^3.
double GetHeading() const
static std::pair< float, float > DistanceSegmentToPoint(const Vector3D &p, const Vector3D &v, const Vector3D &w)
Returns a pair containing:
geom::Location _start_position
DirectedPoint(float x, float y, float z, double t)
GeometryType GetType() const
This file contains definitions of common data structures used in traffic manager. ...
const geom::Location & GetStartPosition()
double _start_position_offset
GeometrySpiral(double start_offset, double length, double heading, const geom::Location &start_pos, double curv_s, double curv_e)
GeometryPoly3(double start_offset, double length, double heading, const geom::Location &start_pos, double a, double b, double c, double d)
static std::pair< float, float > DistanceArcToPoint(Vector3D p, Vector3D start_pos, float length, float heading, float curvature)
Returns a pair containing:
Rtree::TreeElement TreeElement
DirectedPoint(const geom::Location &l, double t)
GeometryLine(double start_offset, double length, double heading, const geom::Location &start_pos)
Geometry(GeometryType type, double start_offset, double length, double heading, const geom::Location &start_pos)
double GetCurvature() const
geom::CubicPolynomial _polyV
GeometryParamPoly3(double start_offset, double length, double heading, const geom::Location &start_pos, double aU, double bU, double cU, double dU, double aV, double bV, double cV, double dV, bool arcLength)
geom::CubicPolynomial _poly
GeometryArc(double start_offset, double length, double heading, const geom::Location &start_pos, double curv)
std::pair< float, float > DistanceTo(const geom::Location &p) const override
Returns a pair containing:
Rtree::TreeElement TreeElement
friend bool operator==(const DirectedPoint &lhs, const DirectedPoint &rhs)
geom::CubicPolynomial _polyU
std::pair< BSegment, std::pair< RtreeValue, RtreeValue > > TreeElement