Radium Engine  1.5.20
Loading...
Searching...
No Matches
Ra::Core::Geometry::Spline< D, K > Class Template Reference

Handling spline curves of arbitrary dimensions. More...

#include <Core/Geometry/Spline.hpp>

+ Collaboration diagram for Ra::Core::Geometry::Spline< D, K >:

Public Types

enum  Type { UNIFORM , OPEN_UNIFORM }
 
using Vector = typename Eigen::Matrix<Scalar, D, 1>
 

Public Member Functions

 Spline (Type type=OPEN_UNIFORM)
 
void setCtrlPoints (const Core::VectorArray< Vector > &points)
 Set the position of the spline control points.
 
const Core::VectorArray< Vector > & getCtrlPoints () const
 Get the control points of the spline.
 
void setType (Type type)
 The the nodal vector type.
 
Vector f (Scalar u) const
 
Vector df (Scalar u) const
 Evaluate speed of the spline.
 

Detailed Description

template<uint D, uint K = 2>
class Ra::Core::Geometry::Spline< D, K >

Handling spline curves of arbitrary dimensions.

Note
This class use the efficient blossom algorithm to compute a position on the curve.
Template Parameters
D: dimension of the curve.
K:order of the curve (min 2)

Definition at line 23 of file Spline.hpp.

Member Typedef Documentation

◆ Vector

template<uint D, uint K = 2>
using Ra::Core::Geometry::Spline< D, K >::Vector = typename Eigen::Matrix<Scalar, D, 1>

Definition at line 31 of file Spline.hpp.

Member Enumeration Documentation

◆ Type

template<uint D, uint K = 2>
enum Ra::Core::Geometry::Spline::Type
Enumerator
OPEN_UNIFORM 

Connected to the first and last control points.

Definition at line 26 of file Spline.hpp.

Constructor & Destructor Documentation

◆ Spline()

template<uint D, uint K = 2>
Ra::Core::Geometry::Spline< D, K >::Spline ( Type type = OPEN_UNIFORM)
inlineexplicit

Type of the nodal vector

Parameters
type: nodal vector type (uniform, open_uniform) This will define the behavior of the spline with its control points as well as its speed according to its parameter.

Definition at line 105 of file Spline.hpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ df()

template<uint D, uint K>
Spline< D, K >::Vector Ra::Core::Geometry::Spline< D, K >::df ( Scalar u) const
inline

Evaluate speed of the spline.

Definition at line 159 of file Spline.hpp.

◆ f()

template<uint D, uint K>
Spline< D, K >::Vector Ra::Core::Geometry::Spline< D, K >::f ( Scalar u) const
inline

Evaluate position of the spline

Parameters
u: curve parameter ranging from [0; 1]

Definition at line 151 of file Spline.hpp.

◆ getCtrlPoints()

template<uint D, uint K>
const Core::VectorArray< typename Spline< D, K >::Vector > & Ra::Core::Geometry::Spline< D, K >::getCtrlPoints ( ) const
inline

Get the control points of the spline.

Definition at line 134 of file Spline.hpp.

◆ setCtrlPoints()

template<uint D, uint K = 2>
void Ra::Core::Geometry::Spline< D, K >::setCtrlPoints ( const Core::VectorArray< Vector > & points)
inline

Set the position of the spline control points.

Definition at line 117 of file Spline.hpp.

◆ setType()

template<uint D, uint K>
void Ra::Core::Geometry::Spline< D, K >::setType ( Type type)
inline

The the nodal vector type.

Definition at line 142 of file Spline.hpp.


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