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

#include <curvature.h>

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

Public Types

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

Public Member Functions

 Curvature2d (TPath *p)
 
 Curvature2d (TPath *dp, TPath *ddp)
 
 ~Curvature2d ()
 
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
 
bool owner_of_dpddp
 

Detailed Description

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

provides curvature of a path defined by dimensions d1, 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::Curvature2d< d1, d2, T, nd >::TPath

Constructor & Destructor Documentation

◆ Curvature2d() [1/2]

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

constructor: create from path by computing partial derivatives

Here is the call graph for this function:

◆ Curvature2d() [2/2]

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

constructor: create from existing derivatives

◆ ~Curvature2d()

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

Member Function Documentation

◆ bound()

template<int d1, int d2, typename T , int nd>
virtual void adore::mad::Curvature2d< 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::Curvature2d< 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::Curvature2d< 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::Curvature2d< d1, d2, T, nd >::f ( x) const
inlinevirtual

computes the derivative of a 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::Curvature2d< 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::Curvature2d< 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::Curvature2d< 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

◆ ddp

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

◆ dp

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

◆ owner_of_dpddp

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

◆ p

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

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