ADORe
ADORe is a modular open source software library and toolkit for decision making, planning, control and simulation of automated vehicles
adore::mad::PartialCurvatureDerivative2d< d1, d2, T, nd > Class Template Reference

#include <curvature.h>

Inheritance diagram for adore::mad::PartialCurvatureDerivative2d< d1, d2, T, nd >:
Inheritance graph
Collaboration diagram for adore::mad::PartialCurvatureDerivative2d< d1, d2, T, nd >:
Collaboration graph

Public Types

typedef ALFunction< T, adoreMatrix< T, nd, 1 > > TPath
 

Public Member Functions

 PartialCurvatureDerivative2d (TPath *p)
 
 PartialCurvatureDerivative2d (TPath *dp, TPath *ddp, TPath *dddp)
 
 ~PartialCurvatureDerivative2d ()
 
virtual void setLimits (T lo, T hi)
 
virtual T limitHi ()
 
virtual T limitLo ()
 
virtual T f (T x) const
 
virtual ALFunction< T, T > * clone ()
 
virtual ALFunction< T, T > * create_derivative ()
 
virtual void bound (const T &xmin, const T &xmax, T &ymin, T &ymax)
 
- Public Member Functions inherited from adore::mad::ALFunction< T, T >
virtual T limitHi () const=0
 
virtual T limitLo () const=0
 
virtual void f (T *xvec, T *yvec, unsigned int count) const
 
void bound (T &ymin, T &ymax)
 
virtual ~ALFunction ()
 
 ALFunction ()
 
const T operator() (T x) const
 
bool isInDomain (T x)
 
f_bounded (T x)
 
void invalidateCachedBounds ()
 

Private Attributes

TPathp
 
TPathdp
 
TPathddp
 
TPathdddp
 
bool owner_of_dpddp
 

Detailed Description

template<int d1, int d2, typename T, int nd>
class adore::mad::PartialCurvatureDerivative2d< d1, d2, T, nd >

provides derivative of curvature for a path defined by dimension d1 and d2 of a function

Member Typedef Documentation

◆ TPath

template<int d1, int d2, typename T , int nd>
typedef ALFunction<T, adoreMatrix<T, nd, 1> > adore::mad::PartialCurvatureDerivative2d< d1, d2, T, nd >::TPath

Constructor & Destructor Documentation

◆ PartialCurvatureDerivative2d() [1/2]

template<int d1, int d2, typename T , int nd>
adore::mad::PartialCurvatureDerivative2d< d1, d2, T, nd >::PartialCurvatureDerivative2d ( TPath p)
inline

constructor: initialize with function containing path, compute partial derivatives of function.

Here is the call graph for this function:

◆ PartialCurvatureDerivative2d() [2/2]

template<int d1, int d2, typename T , int nd>
adore::mad::PartialCurvatureDerivative2d< d1, d2, T, nd >::PartialCurvatureDerivative2d ( TPath dp,
TPath ddp,
TPath dddp 
)
inline

constructor: initialize with existing partial derivatives

◆ ~PartialCurvatureDerivative2d()

template<int d1, int d2, typename T , int nd>
adore::mad::PartialCurvatureDerivative2d< d1, d2, T, nd >::~PartialCurvatureDerivative2d ( )
inline

Member Function Documentation

◆ bound()

template<int d1, int d2, typename T , int nd>
virtual void adore::mad::PartialCurvatureDerivative2d< d1, d2, T, nd >::bound ( const T &  xmin,
const T &  xmax,
T &  ymin,
T &  ymax 
)
inlinevirtual

bound function values in the x-range defined by the hypercube between corner points lower left xmin and upper right xmax

Implements adore::mad::ALFunction< T, T >.

◆ clone()

template<int d1, int d2, typename T , int nd>
virtual ALFunction<T, T>* adore::mad::PartialCurvatureDerivative2d< d1, d2, T, nd >::clone ( )
inlinevirtual

create a copy of child class object - is used for function operations

Implements adore::mad::ALFunction< T, T >.

◆ create_derivative()

template<int d1, int d2, typename T , int nd>
virtual ALFunction<T, T>* adore::mad::PartialCurvatureDerivative2d< d1, d2, T, nd >::create_derivative ( )
inlinevirtual

create a new function object, which is the derivative function

Implements adore::mad::ALFunction< T, T >.

◆ f()

template<int d1, int d2, typename T , int nd>
virtual T adore::mad::PartialCurvatureDerivative2d< d1, d2, T, nd >::f ( x) const
inlinevirtual

returns derivative of the curvature of the path

Implements adore::mad::ALFunction< T, T >.

Here is the call graph for this function:

◆ limitHi()

template<int d1, int d2, typename T , int nd>
virtual T adore::mad::PartialCurvatureDerivative2d< d1, d2, T, nd >::limitHi ( )
inlinevirtual
Here is the call graph for this function:

◆ limitLo()

template<int d1, int d2, typename T , int nd>
virtual T adore::mad::PartialCurvatureDerivative2d< d1, d2, T, nd >::limitLo ( )
inlinevirtual
Here is the call graph for this function:

◆ setLimits()

template<int d1, int d2, typename T , int nd>
virtual void adore::mad::PartialCurvatureDerivative2d< d1, d2, T, nd >::setLimits ( lo,
hi 
)
inlinevirtual

reduce or increase the limit of the function, without changing y

Implements adore::mad::ALFunction< T, T >.

Member Data Documentation

◆ dddp

template<int d1, int d2, typename T , int nd>
TPath* adore::mad::PartialCurvatureDerivative2d< d1, d2, T, nd >::dddp
private

◆ ddp

template<int d1, int d2, typename T , int nd>
TPath* adore::mad::PartialCurvatureDerivative2d< d1, d2, T, nd >::ddp
private

◆ dp

template<int d1, int d2, typename T , int nd>
TPath* adore::mad::PartialCurvatureDerivative2d< d1, d2, T, nd >::dp
private

◆ owner_of_dpddp

template<int d1, int d2, typename T , int nd>
bool adore::mad::PartialCurvatureDerivative2d< d1, d2, T, nd >::owner_of_dpddp
private

◆ p

template<int d1, int d2, typename T , int nd>
TPath* adore::mad::PartialCurvatureDerivative2d< d1, d2, T, nd >::p
private

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