CAPD DynSys Library  5.2.0
capd::diffAlgebra::ParametricCurve< MatrixT, VectorT > Class Template Referenceabstract

This file defines an abstract class that represents parametric curve in $R^n$. More...

#include <capd/diffAlgebra/ParametricCurve.h>

Public Types

typedef MatrixT MatrixType
 
typedef VectorT VectorType
 
typedef MatrixType::ScalarType ScalarType
 
typedef TypeTraits< ScalarType >::Real Real
 
typedef Hessian< ScalarType, VectorType::csDim, VectorType::csDim > HessianType
 
typedef Jet< MatrixType, 0 > JetType
 

Public Member Functions

 ParametricCurve (Real left, Real right)
 
virtual ~ParametricCurve ()
 
virtual VectorType operator() (const ScalarType &h) const =0
 
virtual MatrixType derivative (const ScalarType &h) const =0
 
virtual MatrixType operator[] (const ScalarType &h) const =0
 
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 MatrixT, class VectorT = typename MatrixT::RowVectorType>
class capd::diffAlgebra::ParametricCurve< MatrixT, VectorT >

This file defines an abstract class that represents parametric curve in $R^n$.

We do not specify how it is represented in the memory.

The curve can be evaluated at given time 't' as well as differentiated with respect to 't'.

The curve can store rigorous enclosures of curves.

The main template parameter is an abstract class that represent a piece of curve as one polynomial.

Member Typedef Documentation

◆ HessianType

template<class MatrixT , class VectorT = typename MatrixT::RowVectorType>
typedef Hessian<ScalarType,VectorType::csDim,VectorType::csDim> capd::diffAlgebra::ParametricCurve< MatrixT, VectorT >::HessianType

◆ JetType

template<class MatrixT , class VectorT = typename MatrixT::RowVectorType>
typedef Jet<MatrixType,0> capd::diffAlgebra::ParametricCurve< MatrixT, VectorT >::JetType

◆ MatrixType

template<class MatrixT , class VectorT = typename MatrixT::RowVectorType>
typedef MatrixT capd::diffAlgebra::ParametricCurve< MatrixT, VectorT >::MatrixType

◆ Real

template<class MatrixT , class VectorT = typename MatrixT::RowVectorType>
typedef TypeTraits<ScalarType>::Real capd::diffAlgebra::ParametricCurve< MatrixT, VectorT >::Real

◆ ScalarType

template<class MatrixT , class VectorT = typename MatrixT::RowVectorType>
typedef MatrixType::ScalarType capd::diffAlgebra::ParametricCurve< MatrixT, VectorT >::ScalarType

◆ VectorType

template<class MatrixT , class VectorT = typename MatrixT::RowVectorType>
typedef VectorT capd::diffAlgebra::ParametricCurve< MatrixT, VectorT >::VectorType

Constructor & Destructor Documentation

◆ ParametricCurve()

template<class MatrixT , class VectorT >
capd::diffAlgebra::ParametricCurve< MatrixT, VectorT >::ParametricCurve ( Real  left,
Real  right 
)

◆ ~ParametricCurve()

template<class MatrixT , class VectorT = typename MatrixT::RowVectorType>
virtual capd::diffAlgebra::ParametricCurve< MatrixT, VectorT >::~ParametricCurve ( )
inlinevirtual

Member Function Documentation

◆ derivative()

◆ eval()

template<class MatrixT , class VectorT = typename MatrixT::RowVectorType>
virtual void capd::diffAlgebra::ParametricCurve< MatrixT, VectorT >::eval ( ScalarType  ,
JetType  
) const
inlinevirtual

◆ getLeftDomain()

template<class MatrixT , class VectorT >
ParametricCurve< MatrixT, VectorT >::Real capd::diffAlgebra::ParametricCurve< MatrixT, VectorT >::getLeftDomain
inlinevirtual

◆ getRightDomain()

template<class MatrixT , class VectorT >
ParametricCurve< MatrixT, VectorT >::Real capd::diffAlgebra::ParametricCurve< MatrixT, VectorT >::getRightDomain
inlinevirtual

◆ hessian()

◆ jet()

◆ operator()()

◆ operator[]()

◆ setDomain()

template<class MatrixT , class VectorT >
void capd::diffAlgebra::ParametricCurve< MatrixT, VectorT >::setDomain ( Real  left,
Real  right 
)
inlinevirtual

Member Data Documentation

◆ m_left

template<class MatrixT , class VectorT = typename MatrixT::RowVectorType>
Real capd::diffAlgebra::ParametricCurve< MatrixT, VectorT >::m_left
protected

◆ m_right

template<class MatrixT , class VectorT = typename MatrixT::RowVectorType>
Real capd::diffAlgebra::ParametricCurve< MatrixT, VectorT >::m_right
protected

domain