Drake

Curve2 represents a path through twodimensional Cartesian space. More...
#include <automotive/curve2.h>
Classes  
struct  PositionResult 
A result type for the GetPosition method. More...  
Public Types  
typedef Eigen::Matrix< double, 2, 1, Eigen::DontAlign >  Point2 
A twodimensional Cartesian point that is alignmentsafe. More...  
typedef Eigen::Matrix< T, 2, 1, Eigen::DontAlign >  Point2T 
Public Member Functions  
Curve2 (const std::vector< Point2 > &waypoints)  
Constructor that traces through the given waypoints in order. More...  
const std::vector< Point2 > &  waypoints () const 
double  path_length () const 
PositionResult  GetPosition (const T &path_distance) const 
Returns the Curve's PositionResult::position at path_distance , as well as its first derivative PositionResult::position_dot with respect to path_distance . More...  
Implements CopyConstructible, CopyAssignable, MoveConstructible, MoveAssignable  
Curve2 (const Curve2 &)=default  
Curve2 &  operator= (const Curve2 &)=default 
Curve2 (Curve2 &&)=default  
Curve2 &  operator= (Curve2 &&)=default 
Curve2 represents a path through twodimensional Cartesian space.
Given a list of waypoints, it traces a path between them.
Instantiated templates for the following kinds of T's are provided:
They are already available to link against in the containing library.
TODO(jwnimmertri) We will soon trace the path using a spline, but for now it's easiest to just interpolate straight segments, as a starting point. Callers should not yet rely on how we are traversing between the waypoints.
A twodimensional Cartesian point that is alignmentsafe.
typedef Eigen::Matrix<T, 2, 1, Eigen::DontAlign> Point2T 

inlineexplicit 
Constructor that traces through the given waypoints
in order.
Throws an error if waypoints.size()
== 1.

inline 
Returns the Curve's PositionResult::position
at path_distance
, as well as its first derivative PositionResult::position_dot
with respect to path_distance
.
The path_distance
is clipped to the ends of the curve:
path_distance
is interpreted as a path_distance
of zero.path_distance
that exceeds the path_length()
of the curve is interpreted as a path_distance
equal to the path_length()
.The position_dot
derivative, when evaluated exactly at a waypoint, will be congruent with the direction of one of the (max two) segments that neighbor the waypoint. (At the first and last waypoints, there is only one neighboring segment.) TODO(jwnimmertri) This will no longer be true once this class uses a spline.

inline 

inline 