Public Member Functions | Protected Types | Private Member Functions | List of all members
tuw::ParamFuncsBaseCRTP< TDerived > Class Template Reference

#include <param_func.hpp>

Public Member Functions

NumType computeFuncDiff1 (const std::size_t &_funcIdx) const
 Computes 1st derivative of parametric function with index _funcIdx at parametric arc set by setEvalArc. More...
 
NumType computeFuncDiff2 (const std::size_t &_funcIdx) const
 Computes 2nd derivative of parametric function with index _funcIdx at parametric arc set by setEvalArc. More...
 
NumType computeFuncInt1 (const std::size_t &_funcIdx) const
 Computes integral of parametric function with index _funcIdx on interval [funcsArcBegin_, funcsArcEnd_]. More...
 
NumType computeFuncInt2 (const std::size_t &_funcIdx) const
 Computes double integral of parametric function with index _funcIdx on interval [funcsArcBegin_, funcsArcEnd_]. More...
 
NumType computeFuncVal (const std::size_t &_funcIdx) const
 Computes value of parametric function with index _funcIdx at parametric arc set by setEvalArc. More...
 
FuncCtrlPtTypectrlPt (const std::size_t &_funcIdx, const std::size_t &_funcCtrlPtIdx)
 Access of a parametric function control point. More...
 
const FuncCtrlPtTypectrlPt (const std::size_t &_funcIdx, const std::size_t &_funcCtrlPtIdx) const
 Const access of a parametric function control point. More...
 
NumTypectrlPtVal (const std::size_t &_funcIdx, const std::size_t &_funcCtrlPtIdx, const CtrlPtDim &_ctrlPtDim=CtrlPtDim::VAL)
 Access of a parametric function control point dimension. More...
 
const NumTypectrlPtVal (const std::size_t &_funcIdx, const std::size_t &_funcCtrlPtIdx, const CtrlPtDim &_ctrlPtDim=CtrlPtDim::VAL) const
 Const of a parametric function control point dimension. More...
 
std::size_t funcCtrlPtSize (const std::size_t &_i) const
 Number of control points for a parametric function. More...
 
NumTypefuncsArc (const std::size_t &_i, const std::size_t &_j)
 Access to the arc parameter vector at index _i, control point _j. More...
 
const NumTypefuncsArc (const std::size_t &_i, const std::size_t &_j) const
 Const access the arc parameter vector at index _i, control point _j. More...
 
NumTypefuncsArcBegin ()
 Access to the initial value of the arc parametrization. More...
 
const NumTypefuncsArcBegin () const
 Const access to the initial value of the arc parametrization. More...
 
NumTypefuncsArcEnd ()
 Access to the final value of the arc parametrization. More...
 
const NumTypefuncsArcEnd () const
 Const access to the finall value of the arc parametrization. More...
 
const NumTypefuncsArcEval () const
 Const access to the active evaluation point arc parametrization. More...
 
std::size_t funcsArcSize () const
 Number of arc parametrizations. More...
 
std::size_t funcsArcSize (const std::size_t &_i) const
 Number of control points of parametrization _i. More...
 
std::size_t funcsSize () const
 Number of parametric functions. More...
 
template<typename TParamFucsStructVecArr >
void init (const TParamFucsStructVecArr &_paramFuncsStructure)
 Initializes the control structure. More...
 
ParamFuncsBaseCRTPoperator= (const ParamFuncsBaseCRTP &)=default
 
ParamFuncsBaseCRTPoperator= (ParamFuncsBaseCRTP &&)=default
 
 ParamFuncsBaseCRTP ()=default
 
 ParamFuncsBaseCRTP (const ParamFuncsBaseCRTP &)=default
 
 ParamFuncsBaseCRTP (ParamFuncsBaseCRTP &&)=default
 
void precompute ()
 Precomputes cached data. More...
 
void setEvalArc (const NumType &_arcEval, const eAG &_eAG=eAG::NONE)
 Sets parametric function evaluation arc. More...
 
void shiftStartCtrlPt (const NumType &_dt)
 
 ~ParamFuncsBaseCRTP ()=default
 

Protected Types

using eAG = EvalArcGuarantee
 
using FuncCtrlPtType = FuncCtrlPt< NumType >
 
using NumType = typename ParamFuncsBaseCRTPTraits< TDerived >::NumType
 

Private Member Functions

TDerived & thisDerived ()
 
const TDerived & thisDerived () const
 

Detailed Description

template<typename TDerived>
class tuw::ParamFuncsBaseCRTP< TDerived >

Definition at line 107 of file param_func.hpp.

Member Typedef Documentation

template<typename TDerived>
using tuw::ParamFuncsBaseCRTP< TDerived >::eAG = EvalArcGuarantee
protected

Definition at line 110 of file param_func.hpp.

template<typename TDerived>
using tuw::ParamFuncsBaseCRTP< TDerived >::FuncCtrlPtType = FuncCtrlPt<NumType>
protected

Definition at line 116 of file param_func.hpp.

template<typename TDerived>
using tuw::ParamFuncsBaseCRTP< TDerived >::NumType = typename ParamFuncsBaseCRTPTraits<TDerived>::NumType
protected

Definition at line 113 of file param_func.hpp.

Constructor & Destructor Documentation

template<typename TDerived>
tuw::ParamFuncsBaseCRTP< TDerived >::ParamFuncsBaseCRTP ( )
default
template<typename TDerived>
tuw::ParamFuncsBaseCRTP< TDerived >::~ParamFuncsBaseCRTP ( )
default
template<typename TDerived>
tuw::ParamFuncsBaseCRTP< TDerived >::ParamFuncsBaseCRTP ( const ParamFuncsBaseCRTP< TDerived > &  )
default
template<typename TDerived>
tuw::ParamFuncsBaseCRTP< TDerived >::ParamFuncsBaseCRTP ( ParamFuncsBaseCRTP< TDerived > &&  )
default

Member Function Documentation

template<typename TDerived>
NumType tuw::ParamFuncsBaseCRTP< TDerived >::computeFuncDiff1 ( const std::size_t &  _funcIdx) const
inline

Computes 1st derivative of parametric function with index _funcIdx at parametric arc set by setEvalArc.

Definition at line 281 of file param_func.hpp.

template<typename TDerived>
NumType tuw::ParamFuncsBaseCRTP< TDerived >::computeFuncDiff2 ( const std::size_t &  _funcIdx) const
inline

Computes 2nd derivative of parametric function with index _funcIdx at parametric arc set by setEvalArc.

Definition at line 288 of file param_func.hpp.

template<typename TDerived>
NumType tuw::ParamFuncsBaseCRTP< TDerived >::computeFuncInt1 ( const std::size_t &  _funcIdx) const
inline

Computes integral of parametric function with index _funcIdx on interval [funcsArcBegin_, funcsArcEnd_].

Definition at line 295 of file param_func.hpp.

template<typename TDerived>
NumType tuw::ParamFuncsBaseCRTP< TDerived >::computeFuncInt2 ( const std::size_t &  _funcIdx) const
inline

Computes double integral of parametric function with index _funcIdx on interval [funcsArcBegin_, funcsArcEnd_].

Definition at line 302 of file param_func.hpp.

template<typename TDerived>
NumType tuw::ParamFuncsBaseCRTP< TDerived >::computeFuncVal ( const std::size_t &  _funcIdx) const
inline

Computes value of parametric function with index _funcIdx at parametric arc set by setEvalArc.

Definition at line 274 of file param_func.hpp.

template<typename TDerived>
FuncCtrlPtType& tuw::ParamFuncsBaseCRTP< TDerived >::ctrlPt ( const std::size_t &  _funcIdx,
const std::size_t &  _funcCtrlPtIdx 
)
inline

Access of a parametric function control point.

Definition at line 229 of file param_func.hpp.

template<typename TDerived>
const FuncCtrlPtType& tuw::ParamFuncsBaseCRTP< TDerived >::ctrlPt ( const std::size_t &  _funcIdx,
const std::size_t &  _funcCtrlPtIdx 
) const
inline

Const access of a parametric function control point.

Definition at line 235 of file param_func.hpp.

template<typename TDerived>
NumType& tuw::ParamFuncsBaseCRTP< TDerived >::ctrlPtVal ( const std::size_t &  _funcIdx,
const std::size_t &  _funcCtrlPtIdx,
const CtrlPtDim _ctrlPtDim = CtrlPtDim::VAL 
)
inline

Access of a parametric function control point dimension.

Definition at line 241 of file param_func.hpp.

template<typename TDerived>
const NumType& tuw::ParamFuncsBaseCRTP< TDerived >::ctrlPtVal ( const std::size_t &  _funcIdx,
const std::size_t &  _funcCtrlPtIdx,
const CtrlPtDim _ctrlPtDim = CtrlPtDim::VAL 
) const
inline

Const of a parametric function control point dimension.

Definition at line 248 of file param_func.hpp.

template<typename TDerived>
std::size_t tuw::ParamFuncsBaseCRTP< TDerived >::funcCtrlPtSize ( const std::size_t &  _i) const
inline

Number of control points for a parametric function.

Definition at line 181 of file param_func.hpp.

template<typename TDerived>
NumType& tuw::ParamFuncsBaseCRTP< TDerived >::funcsArc ( const std::size_t &  _i,
const std::size_t &  _j 
)
inline

Access to the arc parameter vector at index _i, control point _j.

Definition at line 217 of file param_func.hpp.

template<typename TDerived>
const NumType& tuw::ParamFuncsBaseCRTP< TDerived >::funcsArc ( const std::size_t &  _i,
const std::size_t &  _j 
) const
inline

Const access the arc parameter vector at index _i, control point _j.

Definition at line 223 of file param_func.hpp.

template<typename TDerived>
NumType& tuw::ParamFuncsBaseCRTP< TDerived >::funcsArcBegin ( )
inline

Access to the initial value of the arc parametrization.

Definition at line 187 of file param_func.hpp.

template<typename TDerived>
const NumType& tuw::ParamFuncsBaseCRTP< TDerived >::funcsArcBegin ( ) const
inline

Const access to the initial value of the arc parametrization.

Definition at line 193 of file param_func.hpp.

template<typename TDerived>
NumType& tuw::ParamFuncsBaseCRTP< TDerived >::funcsArcEnd ( )
inline

Access to the final value of the arc parametrization.

Definition at line 199 of file param_func.hpp.

template<typename TDerived>
const NumType& tuw::ParamFuncsBaseCRTP< TDerived >::funcsArcEnd ( ) const
inline

Const access to the finall value of the arc parametrization.

Definition at line 205 of file param_func.hpp.

template<typename TDerived>
const NumType& tuw::ParamFuncsBaseCRTP< TDerived >::funcsArcEval ( ) const
inline

Const access to the active evaluation point arc parametrization.

Definition at line 211 of file param_func.hpp.

template<typename TDerived>
std::size_t tuw::ParamFuncsBaseCRTP< TDerived >::funcsArcSize ( ) const
inline

Number of arc parametrizations.

Definition at line 169 of file param_func.hpp.

template<typename TDerived>
std::size_t tuw::ParamFuncsBaseCRTP< TDerived >::funcsArcSize ( const std::size_t &  _i) const
inline

Number of control points of parametrization _i.

Definition at line 175 of file param_func.hpp.

template<typename TDerived>
std::size_t tuw::ParamFuncsBaseCRTP< TDerived >::funcsSize ( ) const
inline

Number of parametric functions.

Definition at line 163 of file param_func.hpp.

template<typename TDerived>
template<typename TParamFucsStructVecArr >
void tuw::ParamFuncsBaseCRTP< TDerived >::init ( const TParamFucsStructVecArr &  _paramFuncsStructure)
inline

Initializes the control structure.

Parameters
_paramFuncsStructureparametric functions structure

Note: _paramFuncsStructure[].ctrlPtsArcRefIdx has to be consistent (first function has to have value 0. Next functions can only reference previous referenced indexes or increse maximum reference index by 1). Some examples:

_paramFuncsStructure[].ctrlPtsArcRefIdx = [0,0,0] ok! means one arc parameter set for all 3 functions;

_paramFuncsStructure[].ctrlPtsArcRefIdx = [0,1,0] ok! means one arc parameter set for function 0 and 2 and another arc parameter set for function 1;

_paramFuncsStructure[].ctrlPtsArcRefIdx = [0,1,2] ok! means separate arc parameter set for each function;

_paramFuncsStructure[].ctrlPtsArcRefIdx = [0,2,1] inconsistent! indexes not consistent step-increasing;

Definition at line 157 of file param_func.hpp.

template<typename TDerived>
ParamFuncsBaseCRTP& tuw::ParamFuncsBaseCRTP< TDerived >::operator= ( const ParamFuncsBaseCRTP< TDerived > &  )
default
template<typename TDerived>
ParamFuncsBaseCRTP& tuw::ParamFuncsBaseCRTP< TDerived >::operator= ( ParamFuncsBaseCRTP< TDerived > &&  )
default
template<typename TDerived>
void tuw::ParamFuncsBaseCRTP< TDerived >::precompute ( )
inline

Precomputes cached data.

Definition at line 262 of file param_func.hpp.

template<typename TDerived>
void tuw::ParamFuncsBaseCRTP< TDerived >::setEvalArc ( const NumType _arcEval,
const eAG _eAG = eAG::NONE 
)
inline

Sets parametric function evaluation arc.

Definition at line 268 of file param_func.hpp.

template<typename TDerived>
void tuw::ParamFuncsBaseCRTP< TDerived >::shiftStartCtrlPt ( const NumType _dt)
inline

Definition at line 255 of file param_func.hpp.

template<typename TDerived>
TDerived& tuw::ParamFuncsBaseCRTP< TDerived >::thisDerived ( )
inlineprivate

Definition at line 308 of file param_func.hpp.

template<typename TDerived>
const TDerived& tuw::ParamFuncsBaseCRTP< TDerived >::thisDerived ( ) const
inlineprivate

Definition at line 314 of file param_func.hpp.


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


tuw_control
Author(s): George Todoran
autogenerated on Mon Jun 10 2019 15:27:23