ADORe
ADORe is a modular open source software library and toolkit for decision making, planning, control and simulation of automated vehicles
adore::mad::FunctionCombination_Chain< DTa, CTa, DTb > Class Template Reference

#include <alfunction.h>

Inheritance diagram for adore::mad::FunctionCombination_Chain< DTa, CTa, DTb >:
Inheritance graph
Collaboration diagram for adore::mad::FunctionCombination_Chain< DTa, CTa, DTb >:
Collaboration graph

Public Types

typedef DTb DT
 
typedef CTa CT
 

Public Member Functions

 FunctionCombination_Chain (ALFunction< DTa, CTa > *a, ALFunction< DTb, DTa > *b)
 
virtual ~FunctionCombination_Chain ()
 
virtual CTa f (DTb x) const override
 
virtual DTb limitHi () const override
 
virtual DTb limitLo () const override
 
virtual void setLimits (DT lo, DT hi) override
 
virtual ALFunction< DT, CT > * clone () override
 
virtual ALFunction< DT, CT > * create_derivative () override
 
virtual void bound (const DTb &xmin, const DTb &xmax, CTa &ymin, CTa &ymax) override
 
- Public Member Functions inherited from adore::mad::ALFunction< DTb, CTa >
virtual void f (DTb *xvec, CTa *yvec, unsigned int count) const
 
void bound (CTa &ymin, CTa &ymax)
 
virtual ~ALFunction ()
 
 ALFunction ()
 
const CTa operator() (DTb x) const
 
bool isInDomain (DTb x)
 
CTa f_bounded (DTb x)
 
void invalidateCachedBounds ()
 

Public Attributes

ALFunction< DTa, CTa > * a
 
ALFunction< DTb, DTa > * b
 

Detailed Description

template<typename DTa, typename CTa, typename DTb>
class adore::mad::FunctionCombination_Chain< DTa, CTa, DTb >

a helper class for combining two functions by chaining

Member Typedef Documentation

◆ CT

template<typename DTa , typename CTa , typename DTb >
typedef CTa adore::mad::FunctionCombination_Chain< DTa, CTa, DTb >::CT

◆ DT

template<typename DTa , typename CTa , typename DTb >
typedef DTb adore::mad::FunctionCombination_Chain< DTa, CTa, DTb >::DT

Constructor & Destructor Documentation

◆ FunctionCombination_Chain()

template<typename DTa , typename CTa , typename DTb >
adore::mad::FunctionCombination_Chain< DTa, CTa, DTb >::FunctionCombination_Chain ( ALFunction< DTa, CTa > *  a,
ALFunction< DTb, DTa > *  b 
)
inline
Here is the caller graph for this function:

◆ ~FunctionCombination_Chain()

template<typename DTa , typename CTa , typename DTb >
virtual adore::mad::FunctionCombination_Chain< DTa, CTa, DTb >::~FunctionCombination_Chain ( )
inlinevirtual

Member Function Documentation

◆ bound()

template<typename DTa , typename CTa , typename DTb >
virtual void adore::mad::FunctionCombination_Chain< DTa, CTa, DTb >::bound ( const DTb &  xmin,
const DTb &  xmax,
CTa &  ymin,
CTa &  ymax 
)
inlineoverridevirtual

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< DTb, CTa >.

Here is the call graph for this function:

◆ clone()

template<typename DTa , typename CTa , typename DTb >
virtual ALFunction<DT, CT>* adore::mad::FunctionCombination_Chain< DTa, CTa, DTb >::clone ( )
inlineoverridevirtual

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

Implements adore::mad::ALFunction< DTb, CTa >.

Here is the call graph for this function:

◆ create_derivative()

template<typename DTa , typename CTa , typename DTb >
virtual ALFunction<DT, CT>* adore::mad::FunctionCombination_Chain< DTa, CTa, DTb >::create_derivative ( )
inlineoverridevirtual

create a new function object, which is the derivative function

Implements adore::mad::ALFunction< DTb, CTa >.

Here is the call graph for this function:

◆ f()

template<typename DTa , typename CTa , typename DTb >
virtual CTa adore::mad::FunctionCombination_Chain< DTa, CTa, DTb >::f ( DTb  x) const
inlineoverridevirtual

function evaluation returns y of codomain type CT for a value x of domain type DT

Implements adore::mad::ALFunction< DTb, CTa >.

Here is the call graph for this function:

◆ limitHi()

template<typename DTa , typename CTa , typename DTb >
virtual DTb adore::mad::FunctionCombination_Chain< DTa, CTa, DTb >::limitHi ( ) const
inlineoverridevirtual

query upper limit of the domain

Implements adore::mad::ALFunction< DTb, CTa >.

Here is the call graph for this function:

◆ limitLo()

template<typename DTa , typename CTa , typename DTb >
virtual DTb adore::mad::FunctionCombination_Chain< DTa, CTa, DTb >::limitLo ( ) const
inlineoverridevirtual

lower limit of the domain

Implements adore::mad::ALFunction< DTb, CTa >.

Here is the call graph for this function:

◆ setLimits()

template<typename DTa , typename CTa , typename DTb >
virtual void adore::mad::FunctionCombination_Chain< DTa, CTa, DTb >::setLimits ( DT  lo,
DT  hi 
)
inlineoverridevirtual

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

Implements adore::mad::ALFunction< DTb, CTa >.

Here is the call graph for this function:

Member Data Documentation

◆ a

template<typename DTa , typename CTa , typename DTb >
ALFunction<DTa, CTa>* adore::mad::FunctionCombination_Chain< DTa, CTa, DTb >::a

◆ b

template<typename DTa , typename CTa , typename DTb >
ALFunction<DTb, DTa>* adore::mad::FunctionCombination_Chain< DTa, CTa, DTb >::b

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