Drake
spline_helpers.cc File Reference
#include "drake/automotive/maliput/rndf/spline_helpers.h"
#include <algorithm>
#include <limits>
#include <utility>
#include <ignition/math/Matrix4.hh>
#include <ignition/math/Vector4.hh>
#include "drake/common/drake_assert.h"
#include "drake/common/drake_throw.h"
#include "drake/common/eigen_types.h"
#include "drake/common/trajectories/piecewise_polynomial.h"
Include dependency graph for spline_helpers.cc:

Namespaces

 drake
 
 drake::maliput
 
 drake::maliput::rndf
 

Functions

std::vector< ignition::math::Vector3d > SplineToBezier (const ignition::math::Vector3d &p0, const ignition::math::Vector3d &t0, const ignition::math::Vector3d &p1, const ignition::math::Vector3d &t1)
 Provides the equivalent set of points in cubic Bezier base from two pairs of points and tangents at the extents of a spline. More...
 
std::vector< ignition::math::Vector3d > BezierToSpline (const ignition::math::Vector3d &p0, const ignition::math::Vector3d &p1, const ignition::math::Vector3d &p2, const ignition::math::Vector3d &p3)
 Provides the equivalent set of points in cubic spline base from four cubic Bezier control points. More...
 
std::vector< ignition::math::Vector3d > MakeBezierCurveMonotonic (const std::vector< ignition::math::Vector3d > &control_points, double scale)
 Provides a conditionally convex and monotonic Bezier curve given a vector of control points control_points. More...
 
std::unique_ptr< ignition::math::Spline > CreatePChipBasedSpline (const std::vector< ignition::math::Vector3d > &positions)
 Creates a ignition::math::Spline from a set of positions. More...
 

Variables

static const int kFunctionPartitionTreeDegree = 10
 
static const int kFunctionPartitionTreeMaxDepth = 10
 
static constexpr double kBezierMatrix [16]
 
static constexpr double kHermiteMatrix [16]