CAPD DynSys Library  5.2.0
capd::diffAlgebra::Curve< BaseCurveT, isInterval > Class Template Reference

This class provides methods for evaluation of the parametric curve for a given parameter value. More...

#include <capd/diffAlgebra/Curve.h>

Public Types

typedef BaseCurveT::MatrixType MatrixType
 
typedef MatrixType::RowVectorType VectorType
 
typedef MatrixType::ScalarType ScalarType
 
typedef TypeTraits< ScalarType >::Real Real
 
typedef Hessian< ScalarType, VectorType::csDim, VectorType::csDim > HessianType
 
typedef Jet< MatrixType, 0 > JetType
 
typedef __size_type size_type
 
typedef __difference_type difference_type
 

Public Member Functions

 Curve (Real left, Real right, size_type dimension, size_type order, size_type degree)
 
VectorType timeDerivative (const ScalarType &h) const
 
VectorType operator() (const ScalarType &h) const
 
MatrixType derivative (const ScalarType &h) const
 
MatrixType operator[] (const ScalarType &h) const
 
virtual HessianType hessian (const ScalarType &) const
 
virtual JetType jet (const ScalarType &) const
 
virtual void eval (ScalarType, JetType &) const
 
virtual void setDomain (Real left, Real right)
 
virtual Real getLeftDomain () const
 
virtual Real getRightDomain () const
 

Protected Attributes

Real m_left
 
Real m_right
 domain More...
 

Detailed Description

template<class BaseCurveT, bool isInterval = capd::TypeTraits<typename BaseCurveT::ScalarType>::isInterval>
class capd::diffAlgebra::Curve< BaseCurveT, isInterval >

This class provides methods for evaluation of the parametric curve for a given parameter value.

Template parameter BaseCurveT must provide storage and access for coefficients.

Member Typedef Documentation

◆ difference_type

template<class BaseCurveT , bool isInterval = capd::TypeTraits<typename BaseCurveT::ScalarType>::isInterval>
typedef __difference_type capd::diffAlgebra::Curve< BaseCurveT, isInterval >::difference_type

◆ HessianType

template<class BaseCurveT , bool isInterval = capd::TypeTraits<typename BaseCurveT::ScalarType>::isInterval>
typedef Hessian<ScalarType,VectorType::csDim,VectorType::csDim> capd::diffAlgebra::Curve< BaseCurveT, isInterval >::HessianType

◆ JetType

template<class BaseCurveT , bool isInterval = capd::TypeTraits<typename BaseCurveT::ScalarType>::isInterval>
typedef Jet<MatrixType,0> capd::diffAlgebra::Curve< BaseCurveT, isInterval >::JetType

◆ MatrixType

template<class BaseCurveT , bool isInterval = capd::TypeTraits<typename BaseCurveT::ScalarType>::isInterval>
typedef BaseCurveT::MatrixType capd::diffAlgebra::Curve< BaseCurveT, isInterval >::MatrixType

◆ Real

template<class BaseCurveT , bool isInterval = capd::TypeTraits<typename BaseCurveT::ScalarType>::isInterval>
typedef TypeTraits<ScalarType>::Real capd::diffAlgebra::Curve< BaseCurveT, isInterval >::Real

◆ ScalarType

template<class BaseCurveT , bool isInterval = capd::TypeTraits<typename BaseCurveT::ScalarType>::isInterval>
typedef MatrixType::ScalarType capd::diffAlgebra::Curve< BaseCurveT, isInterval >::ScalarType

◆ size_type

template<class BaseCurveT , bool isInterval = capd::TypeTraits<typename BaseCurveT::ScalarType>::isInterval>
typedef __size_type capd::diffAlgebra::Curve< BaseCurveT, isInterval >::size_type

◆ VectorType

template<class BaseCurveT , bool isInterval = capd::TypeTraits<typename BaseCurveT::ScalarType>::isInterval>
typedef MatrixType::RowVectorType capd::diffAlgebra::Curve< BaseCurveT, isInterval >::VectorType

Constructor & Destructor Documentation

◆ Curve()

template<class BaseCurveT , bool isInterval>
capd::diffAlgebra::Curve< BaseCurveT, isInterval >::Curve ( Real  left,
Real  right,
size_type  dimension,
size_type  order,
size_type  degree 
)

Member Function Documentation

◆ derivative()

template<class BaseCurveT , bool isInterval>
Curve< BaseCurveT, isInterval >::MatrixType capd::diffAlgebra::Curve< BaseCurveT, isInterval >::derivative ( const ScalarType h) const
virtual

◆ eval()

virtual void capd::diffAlgebra::ParametricCurve< BaseCurveT::MatrixType , typename BaseCurveT::MatrixType ::RowVectorType >::eval ( ScalarType  ,
JetType  
) const
inlinevirtualinherited

◆ getLeftDomain()

ParametricCurve< BaseCurveT::MatrixType , typename BaseCurveT::MatrixType ::RowVectorType >::Real capd::diffAlgebra::ParametricCurve< BaseCurveT::MatrixType , typename BaseCurveT::MatrixType ::RowVectorType >::getLeftDomain
inlinevirtualinherited

◆ getRightDomain()

ParametricCurve< BaseCurveT::MatrixType , typename BaseCurveT::MatrixType ::RowVectorType >::Real capd::diffAlgebra::ParametricCurve< BaseCurveT::MatrixType , typename BaseCurveT::MatrixType ::RowVectorType >::getRightDomain
inlinevirtualinherited

◆ hessian()

virtual HessianType capd::diffAlgebra::ParametricCurve< BaseCurveT::MatrixType , typename BaseCurveT::MatrixType ::RowVectorType >::hessian ( const ScalarType ) const
inlinevirtualinherited

◆ jet()

virtual JetType capd::diffAlgebra::ParametricCurve< BaseCurveT::MatrixType , typename BaseCurveT::MatrixType ::RowVectorType >::jet ( const ScalarType ) const
inlinevirtualinherited

◆ operator()()

template<class BaseCurveT , bool isInterval>
Curve< BaseCurveT, isInterval >::VectorType capd::diffAlgebra::Curve< BaseCurveT, isInterval >::operator() ( const ScalarType h) const
virtual

◆ operator[]()

template<class BaseCurveT , bool isInterval = capd::TypeTraits<typename BaseCurveT::ScalarType>::isInterval>
MatrixType capd::diffAlgebra::Curve< BaseCurveT, isInterval >::operator[] ( const ScalarType h) const
inlinevirtual

◆ setDomain()

void capd::diffAlgebra::ParametricCurve< BaseCurveT::MatrixType , typename BaseCurveT::MatrixType ::RowVectorType >::setDomain ( Real  left,
Real  right 
)
inlinevirtualinherited

◆ timeDerivative()

template<class BaseCurveT , bool isInterval>
Curve< BaseCurveT, isInterval >::VectorType capd::diffAlgebra::Curve< BaseCurveT, isInterval >::timeDerivative ( const ScalarType h) const

Member Data Documentation

◆ m_left

Real capd::diffAlgebra::ParametricCurve< BaseCurveT::MatrixType , typename BaseCurveT::MatrixType ::RowVectorType >::m_left
protectedinherited

◆ m_right

Real capd::diffAlgebra::ParametricCurve< BaseCurveT::MatrixType , typename BaseCurveT::MatrixType ::RowVectorType >::m_right
protectedinherited

domain