Describes a Cubic Polynomial so: f(x) = a + bx + cx^2 + dx^3
void Set(const value_type &a, const value_type &b, const value_type &c, const value_type &d, const value_type &s)
static std::pair< float, float > DistanceSegmentToPoint(const Vector3D &p, const Vector3D &v, const Vector3D &w)
Returns a pair containing:
static std::pair< float, float > DistanceArcToPoint(Vector3D p, Vector3D start_pos, float length, float heading, float curvature)
Returns a pair containing:
std::pair< BSegment, std::pair< RtreeValue, RtreeValue > > TreeElement
std::pair< float, float > DistanceTo(const geom::Location &p) const override
Returns a pair containing:
DirectedPoint PosFromDist(double dist) const override
GeometryArc(double start_offset, double length, double heading, const geom::Location &start_pos, double curv)
double GetCurvature() const
GeometryLine(double start_offset, double length, double heading, const geom::Location &start_pos)
DirectedPoint PosFromDist(double dist) const override
std::pair< float, float > DistanceTo(const geom::Location &p) const override
Returns a pair containing:
DirectedPoint PosFromDist(double dist) const override
geom::CubicPolynomial _polyU
std::pair< float, float > DistanceTo(const geom::Location &) const override
geom::CubicPolynomial _polyV
Rtree::TreeElement TreeElement
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)
Rtree::TreeElement TreeElement
geom::CubicPolynomial _poly
std::pair< float, float > DistanceTo(const geom::Location &) const override
GeometryPoly3(double start_offset, double length, double heading, const geom::Location &start_pos, double a, double b, double c, double d)
DirectedPoint PosFromDist(double dist) const override
std::pair< float, float > DistanceTo(const geom::Location &) const override
DirectedPoint PosFromDist(double dist) const override
GeometrySpiral(double start_offset, double length, double heading, const geom::Location &start_pos, double curv_s, double curv_e)
Geometry(GeometryType type, double start_offset, double length, double heading, const geom::Location &start_pos)
geom::Location _start_position
double GetStartOffset() const
virtual DirectedPoint PosFromDist(double dist) const =0
virtual ~Geometry()=default
double GetHeading() const
virtual std::pair< float, float > DistanceTo(const geom::Location &p) const =0
GeometryType GetType() const
const geom::Location & GetStartPosition()
double _start_position_offset
This file contains definitions of common data structures used in traffic manager.
void ApplyLateralOffset(float lateral_offset)
DirectedPoint(const geom::Location &l, double t)
DirectedPoint(float x, float y, float z, double t)
friend bool operator==(const DirectedPoint &lhs, const DirectedPoint &rhs)