Carma-platform v4.2.0
CARMA Platform is built on robot operating system (ROS) and utilizes open source software (OSS) that enables Cooperative Driving Automation (CDA) features to allow Automated Driving Systems to interact and cooperate with infrastructure and other vehicles through communication.
basic_autonomy::smoothing::SplineI Class Referenceabstract

Interface to a spline interpolator that can be used to smoothly interpolate between points. More...

#include <SplineI.hpp>

Inheritance diagram for basic_autonomy::smoothing::SplineI:
Inheritance graph
Collaboration diagram for basic_autonomy::smoothing::SplineI:
Collaboration graph

Public Member Functions

virtual ~SplineI ()
 Virtual destructor to ensure delete safety for pointers to implementing classes. More...
 
virtual void setPoints (const std::vector< lanelet::BasicPoint2d > &points)=0
 Set key points which the spline will interpolate between. More...
 
virtual lanelet::BasicPoint2d operator() (double t) const =0
 Get the BasicPoint2d coordinate along the curve at t-th step. More...
 
virtual lanelet::BasicPoint2d first_deriv (double x) const =0
 Get the BasicPoint2d representing the first_deriv along the curve at t-th step. More...
 
virtual lanelet::BasicPoint2d second_deriv (double x) const =0
 Get the BasicPoint2d representing the first_deriv along the curve at t-th step. More...
 

Detailed Description

Interface to a spline interpolator that can be used to smoothly interpolate between points.

Definition at line 29 of file SplineI.hpp.

Constructor & Destructor Documentation

◆ ~SplineI()

virtual basic_autonomy::smoothing::SplineI::~SplineI ( )
inlinevirtual

Virtual destructor to ensure delete safety for pointers to implementing classes.

Definition at line 36 of file SplineI.hpp.

36{};

Member Function Documentation

◆ first_deriv()

virtual lanelet::BasicPoint2d basic_autonomy::smoothing::SplineI::first_deriv ( double  x) const
pure virtual

Get the BasicPoint2d representing the first_deriv along the curve at t-th step.

Parameters
tThe t-th step to solve the spline at, where t is from 0 (beginning of curve) to 1 (end of curve)
Returns
lanelet::BasicPoint2d with x, y that matches the first_deriv at t-th step along the curve. This is not partial derivatives

Implemented in basic_autonomy::smoothing::BSpline.

Referenced by basic_autonomy::waypoint_generation::compute_curvature_at().

Here is the caller graph for this function:

◆ operator()()

virtual lanelet::BasicPoint2d basic_autonomy::smoothing::SplineI::operator() ( double  t) const
pure virtual

Get the BasicPoint2d coordinate along the curve at t-th step.

Parameters
tThe t-th step to solve the spline at, where t is from 0 (beginning of curve) to 1 (end of curve)
Returns
lanelet::BasicPoint2d with x, y that matches the t-th step along the curve

Implemented in basic_autonomy::smoothing::BSpline.

◆ second_deriv()

virtual lanelet::BasicPoint2d basic_autonomy::smoothing::SplineI::second_deriv ( double  x) const
pure virtual

Get the BasicPoint2d representing the first_deriv along the curve at t-th step.

Parameters
tThe t-th step to solve the spline at, where t is from 0 (beginning of curve) to 1 (end of curve)
Returns
lanelet::BasicPoint2d with x, y that matches the second_deriv at t-th step along the curve. This is not partial derivatives

Implemented in basic_autonomy::smoothing::BSpline.

Referenced by basic_autonomy::waypoint_generation::compute_curvature_at().

Here is the caller graph for this function:

◆ setPoints()

virtual void basic_autonomy::smoothing::SplineI::setPoints ( const std::vector< lanelet::BasicPoint2d > &  points)
pure virtual

Set key points which the spline will interpolate between.

Parameters
pointsThe key points

Implemented in basic_autonomy::smoothing::BSpline.


The documentation for this class was generated from the following file: