Represents a sinusoidal curve, evaluating the following equation: p0 + amplitude * (sin(2pi/T + phi)
More...
#include <ndcurves/fwd.h>
|
| sinusoidal () |
| Empty constructor. Curve obtained this way can not perform other class functions. More...
|
|
| sinusoidal (const Point &p0, const Point &litude, const time_t T, const time_t phi, const time_t T_min=0., const time_t T_max=std::numeric_limits< time_t >::max()) |
| Constructor. More...
|
|
| sinusoidal (const time_t traj_time, const Point &p_init, const Point &p_final, const time_t T_min=0., const time_t T_max=std::numeric_limits< time_t >::max()) |
| Constructor from stationary points. More...
|
|
| sinusoidal (const sinusoidal_t &other) |
| Copy constructor. More...
|
|
virtual | ~sinusoidal () |
| Destructor. More...
|
|
virtual point_t | operator() (const time_t t) const |
| Evaluation of the cubic spline at time t. More...
|
|
virtual point_derivate_t | derivate (const time_t t, const std::size_t order) const |
| Evaluate the derivative of order N of curve at time t. More...
|
|
sinusoidal_t | compute_derivate (const std::size_t order) const |
| Compute the derived curve at order N. Computes the derivative order N, of bezier curve of parametric equation x(t). More...
|
|
virtual sinusoidal_t * | compute_derivate_ptr (const std::size_t order) const |
| Compute the derived curve at orderN. More...
|
|
virtual bool | isApprox (const sinusoidal_t &other, const Numeric prec=Eigen::NumTraits< Numeric >::dummy_precision()) const |
| isApprox check if other and *this are approximately equals given a precision threshold Only two curves of the same class can be approximately equals, for comparison between different type of curves see isEquivalent. More...
|
|
virtual bool | isApprox (const curve_abc_t *other, const Numeric prec=Eigen::NumTraits< Numeric >::dummy_precision()) const |
|
virtual bool | operator== (const sinusoidal_t &other) const |
|
virtual bool | operator!= (const sinusoidal_t &other) const |
|
virtual std::size_t | dim () const |
| Get dimension of curve. More...
|
|
virtual num_t | min () const |
| Get the minimum time for which the curve is defined. More...
|
|
virtual num_t | max () const |
| Get the maximum time for which the curve is defined. More...
|
|
virtual std::size_t | degree () const |
| Get the degree of the curve. More...
|
|
template<class Archive > |
void | serialize (Archive &ar, const unsigned int version) |
|
Represents a sinusoidal curve, evaluating the following equation: p0 + amplitude * (sin(2pi/T + phi)
◆ curve_abc_t
◆ num_t
◆ point_derivate_t
◆ point_t
◆ sinusoidal_t
◆ time_t
◆ sinusoidal() [1/4]
ndcurves::sinusoidal::sinusoidal |
( |
| ) |
|
|
inline |
Empty constructor. Curve obtained this way can not perform other class functions.
◆ sinusoidal() [2/4]
ndcurves::sinusoidal::sinusoidal |
( |
const Point & |
p0, |
|
|
const Point & |
amplitude, |
|
|
const time_t |
T, |
|
|
const time_t |
phi, |
|
|
const time_t |
T_min = 0. , |
|
|
const time_t |
T_max = std::numeric_limits<time_t>::max() |
|
) |
| |
|
inline |
Constructor.
- Parameters
-
p0 | : Offset of the sinusoidal |
amplitude | Amplitude |
T | : The period |
phi | : the phase |
T_min | : lower bound of the time interval (default to 0) |
T_max | : upper bound of the time interval (default to +inf) |
◆ sinusoidal() [3/4]
ndcurves::sinusoidal::sinusoidal |
( |
const time_t |
traj_time, |
|
|
const Point & |
p_init, |
|
|
const Point & |
p_final, |
|
|
const time_t |
T_min = 0. , |
|
|
const time_t |
T_max = std::numeric_limits<time_t>::max() |
|
) |
| |
|
inline |
Constructor from stationary points.
- Parameters
-
traj_time | duration to go from p_init to p_final (half a period) |
p_init | : first stationary point, either minimum or maximum |
p_final | : second stationary point, either minimum or maximum |
T_min | : lower bound of the time interval (default to 0) |
T_max | : upper bound of the time interval (default to +inf) |
◆ sinusoidal() [4/4]
ndcurves::sinusoidal::sinusoidal |
( |
const sinusoidal_t & |
other | ) |
|
|
inline |
Copy constructor.
- Parameters
-
◆ ~sinusoidal()
virtual ndcurves::sinusoidal::~sinusoidal |
( |
| ) |
|
|
inlinevirtual |
◆ compute_derivate()
sinusoidal_t ndcurves::sinusoidal::compute_derivate |
( |
const std::size_t |
order | ) |
const |
|
inline |
Compute the derived curve at order N. Computes the derivative order N,
of bezier curve of parametric equation x(t).
- Parameters
-
order | : order of derivative. |
- Returns
derivative order N of the curve.
◆ compute_derivate_ptr()
virtual sinusoidal_t* ndcurves::sinusoidal::compute_derivate_ptr |
( |
const std::size_t |
order | ) |
const |
|
inlinevirtual |
Compute the derived curve at orderN.
- Parameters
-
order | : order of derivative. |
- Returns
- A pointer to
derivative order N of the curve.
◆ degree()
virtual std::size_t ndcurves::sinusoidal::degree |
( |
| ) |
const |
|
inlinevirtual |
Get the degree of the curve.
- Returns
, the degree of the curve.
◆ derivate()
Evaluate the derivative of order N of curve at time t.
- Parameters
-
t | : time when to evaluate the spline. |
order | : order of derivative. |
- Returns
, point corresponding on derivative curve of order N at time t.
◆ dim()
virtual std::size_t ndcurves::sinusoidal::dim |
( |
| ) |
const |
|
inlinevirtual |
Get dimension of curve.
- Returns
- dimension of curve.
◆ isApprox() [1/2]
virtual bool ndcurves::sinusoidal::isApprox |
( |
const curve_abc_t * |
other, |
|
|
const Numeric |
prec = Eigen::NumTraits<Numeric>::dummy_precision() |
|
) |
| const |
|
inlinevirtual |
◆ isApprox() [2/2]
virtual bool ndcurves::sinusoidal::isApprox |
( |
const sinusoidal_t & |
other, |
|
|
const Numeric |
prec = Eigen::NumTraits<Numeric>::dummy_precision() |
|
) |
| const |
|
inlinevirtual |
isApprox check if other and *this are approximately equals given a precision threshold Only two curves of the same class can be approximately equals, for comparison between different type of curves see isEquivalent.
- Parameters
-
other | the other curve to check |
prec | the precision threshold, default Eigen::NumTraits<Numeric>::dummy_precision() |
- Returns
- true is the two curves are approximately equals
◆ max()
virtual num_t ndcurves::sinusoidal::max |
( |
| ) |
const |
|
inlinevirtual |
Get the maximum time for which the curve is defined.
- Returns
upper bound of time range.
◆ min()
virtual num_t ndcurves::sinusoidal::min |
( |
| ) |
const |
|
inlinevirtual |
Get the minimum time for which the curve is defined.
- Returns
lower bound of time range.
◆ operator!=()
virtual bool ndcurves::sinusoidal::operator!= |
( |
const sinusoidal_t & |
other | ) |
const |
|
inlinevirtual |
◆ operator()()
virtual point_t ndcurves::sinusoidal::operator() |
( |
const time_t |
t | ) |
const |
|
inlinevirtual |
Evaluation of the cubic spline at time t.
- Parameters
-
t | : time when to evaluate the spine |
- Returns
, point corresponding on curve at time t.
◆ operator==()
virtual bool ndcurves::sinusoidal::operator== |
( |
const sinusoidal_t & |
other | ) |
const |
|
inlinevirtual |
◆ serialize()
template<class Archive >
void ndcurves::sinusoidal::serialize |
( |
Archive & |
ar, |
|
|
const unsigned int |
version |
|
) |
| |
|
inline |
◆ boost::serialization::access
friend class boost::serialization::access |
|
friend |
◆ amplitude_
Point ndcurves::sinusoidal::amplitude_ |
◆ dim_
std::size_t ndcurves::sinusoidal::dim_ |
◆ p0_
Point ndcurves::sinusoidal::p0_ |
◆ phi_
time_t ndcurves::sinusoidal::phi_ |
◆ T_
time_t ndcurves::sinusoidal::T_ |
◆ T_max_
time_t ndcurves::sinusoidal::T_max_ |
◆ T_min_
time_t ndcurves::sinusoidal::T_min_ |
The documentation for this class was generated from the following files: