|
Brick
|
#include <spline_path.h>
Manages multi-segment Hermite spline paths.
Public Types | |
| enum class | Order { Cubic = 3 , Quintic = 5 } |
| Order of spline polynomials used per segment. More... | |
Public Member Functions | |
| SplinePath ()=default | |
| Default constructor. | |
| bool | empty () const |
| size_t | segment_count () const |
| double | length () const |
| SplineSample | sample_by_s (double s) const |
| Samples complete state at arc distance s along the multi-segment path. | |
| std::vector< Translation2d > | sample_by_spacing (double ds) const |
| Samples 2D positions uniformly spaced by distance ds along the path. | |
| std::vector< Translation2d > | sample_by_segment_steps (double steps_per_segment) const |
| Samples 2D positions with fixed number of steps per spline segment. | |
Static Public Member Functions | |
| static SplinePath | from_waypoints (const std::vector< HermitePoint > &points, std::function< std::unique_ptr< SplineBase >(const HermitePoint &, const HermitePoint &, double)> factory, double max_err=1e-4) |
| Constructs a multi-segment path using a custom Spline factory. | |
| static SplinePath | from_hermite (const std::vector< HermitePoint > &points, Order order=Order::Quintic, double max_err=1e-4) |
| Constructs a multi-segment path from a vector of Hermite waypoints. | |
|
strong |
Order of spline polynomials used per segment.
| Enumerator | |
|---|---|
| Cubic | Cubic Hermite splines (C1 continuity). |
| Quintic | Quintic Hermite splines (C2 continuity). |
|
inline |
|
inlinestatic |
Constructs a multi-segment path from a vector of Hermite waypoints.
| points | Hermite waypoints defining path positions, tangents, and optional second derivatives. |
| order | Spline order (Cubic or Quintic). |
| max_err | Maximum allowable interpolation error in inches for the arc-length lookup table. |
|
inlinestatic |
Constructs a multi-segment path using a custom Spline factory.
| points | Boundary waypoints. |
| factory | Factory closure producing SplineBase segments. |
| max_err | Maximum allowable interpolation error in inches for the arc-length lookup table. |
|
inline |
|
inline |
Samples complete state at arc distance s along the multi-segment path.
| s | Arc distance in inches. |
|
inline |
Samples 2D positions with fixed number of steps per spline segment.
| steps_per_segment | Number of steps per segment. |
|
inline |
Samples 2D positions uniformly spaced by distance ds along the path.
| ds | Distance step in inches. |
|
inline |