Public Member Functions | Protected Types | Private Member Functions | List of all members
tuw::ParamFuncsBaseVirt< TNumType > Class Template Referenceabstract

#include <param_func.hpp>

Inheritance diagram for tuw::ParamFuncsBaseVirt< TNumType >:
Inheritance graph
[legend]

Public Member Functions

TNumType computeFuncDiff1 (const std::size_t &_funcIdx) const
 Computes 1st derivative of parametric function with index _funcIdx at parametric arc set by setEvalArc. More...
 
TNumType computeFuncDiff2 (const std::size_t &_funcIdx) const
 Computes 2nd derivative of parametric function with index _funcIdx at parametric arc set by setEvalArc. More...
 
TNumType computeFuncInt1 (const std::size_t &_funcIdx) const
 Computes integral of parametric function with index _funcIdx on interval [funcsArcBegin_, funcsArcEnd_]. More...
 
TNumType computeFuncInt2 (const std::size_t &_funcIdx) const
 Computes double integral of parametric function with index _funcIdx on interval [funcsArcBegin_, funcsArcEnd_]. More...
 
TNumType 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...
 
TNumType & ctrlPtVal (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 TNumType & ctrlPtVal (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...
 
TNumType & funcsArc (const std::size_t &_i, const std::size_t &_j)
 Access to the arc parameter vector at index _i, control point _j. More...
 
const TNumType & funcsArc (const std::size_t &_i, const std::size_t &_j) const
 Const access the arc parameter vector at index _i, control point _j. More...
 
TNumType & funcsArcBegin ()
 Access to the initial value of the arc parametrization. More...
 
const TNumType & funcsArcBegin () const
 Const access to the initial value of the arc parametrization. More...
 
TNumType & funcsArcEnd ()
 Access to the final value of the arc parametrization. More...
 
const TNumType & funcsArcEnd () const
 Const access to the finall value of the arc parametrization. More...
 
const TNumType & funcsArcEval () 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...
 
void init (const std::vector< ParamFuncsStructure > &_paramFuncsStructure)
 Initializes the control structure. More...
 
ParamFuncsBaseVirtoperator= (const ParamFuncsBaseVirt &)=default
 
ParamFuncsBaseVirtoperator= (ParamFuncsBaseVirt &&)=default
 
 ParamFuncsBaseVirt ()=default
 
 ParamFuncsBaseVirt (const ParamFuncsBaseVirt &)=default
 
 ParamFuncsBaseVirt (ParamFuncsBaseVirt &&)=default
 
void precompute ()
 Precomputes cached data. More...
 
void setEvalArc (const TNumType &_arcEval, const eAG &_eAG=eAG::NONE)
 Sets parametric function evaluation arc. More...
 
void shiftStartCtrlPt (const TNumType &_dt)
 
virtual ~ParamFuncsBaseVirt ()=default
 

Protected Types

using eAG = EvalArcGuarantee
 
using FuncCtrlPtType = FuncCtrlPt< TNumType >
 

Private Member Functions

virtual TNumType computeFuncDiff1ImplVirt (const std::size_t &_funcIdx) const =0
 
virtual TNumType computeFuncDiff2ImplVirt (const std::size_t &_funcIdx) const =0
 
virtual TNumType computeFuncInt1ImplVirt (const std::size_t &_funcIdx) const =0
 
virtual TNumType computeFuncInt2ImplVirt (const std::size_t &_funcIdx) const =0
 
virtual TNumType computeFuncValImplVirt (const std::size_t &_funcIdx) const =0
 
virtual FuncCtrlPtTypectrlPtImplVirt (const std::size_t &_funcIdx, const std::size_t &_funcCtrlPtIdx)=0
 
virtual const FuncCtrlPtTypectrlPtImplVirt (const std::size_t &_funcIdx, const std::size_t &_funcCtrlPtIdx) const =0
 
virtual TNumType & ctrlPtValImplVirt (const std::size_t &_funcIdx, const std::size_t &_funcCtrlPtIdx, const CtrlPtDim &_ctrlPtDim)=0
 
virtual const TNumType & ctrlPtValImplVirt (const std::size_t &_funcIdx, const std::size_t &_funcCtrlPtIdx, const CtrlPtDim &_ctrlPtDim) const =0
 
virtual std::size_t funcCtrlPtSizeImplVirt (const std::size_t &_i) const =0
 
virtual TNumType & funcsArcBeginImplVirt ()=0
 
virtual const TNumType & funcsArcBeginImplVirt () const =0
 
virtual TNumType & funcsArcEndImplVirt ()=0
 
virtual const TNumType & funcsArcEndImplVirt () const =0
 
virtual const TNumType & funcsArcEvalImplVirt () const =0
 
virtual TNumType & funcsArcImplVirt (const std::size_t &_i, const std::size_t &_j)=0
 
virtual const TNumType & funcsArcImplVirt (const std::size_t &_i, const std::size_t &_j) const =0
 
virtual std::size_t funcsArcSizeImplVirt () const =0
 
virtual std::size_t funcsArcSizeImplVirt (const std::size_t &_i) const =0
 
virtual std::size_t funcsSizeImplVirt () const =0
 
virtual void initImplVirt (const std::vector< ParamFuncsStructure > &_paramFuncsStructure)=0
 
virtual void precomputeImplVirt ()=0
 
virtual void setEvalArcImplVirt (const TNumType &_arcEval, const eAG &_eAG)=0
 
virtual void shiftStartCtrlPtImplVirt (const TNumType &_dt)=0
 

Detailed Description

template<typename TNumType>
class tuw::ParamFuncsBaseVirt< TNumType >

Definition at line 320 of file param_func.hpp.

Member Typedef Documentation

template<typename TNumType >
using tuw::ParamFuncsBaseVirt< TNumType >::eAG = EvalArcGuarantee
protected

Definition at line 323 of file param_func.hpp.

template<typename TNumType >
using tuw::ParamFuncsBaseVirt< TNumType >::FuncCtrlPtType = FuncCtrlPt<TNumType>
protected

Definition at line 326 of file param_func.hpp.

Constructor & Destructor Documentation

template<typename TNumType >
tuw::ParamFuncsBaseVirt< TNumType >::ParamFuncsBaseVirt ( )
default
template<typename TNumType >
virtual tuw::ParamFuncsBaseVirt< TNumType >::~ParamFuncsBaseVirt ( )
virtualdefault
template<typename TNumType >
tuw::ParamFuncsBaseVirt< TNumType >::ParamFuncsBaseVirt ( const ParamFuncsBaseVirt< TNumType > &  )
default
template<typename TNumType >
tuw::ParamFuncsBaseVirt< TNumType >::ParamFuncsBaseVirt ( ParamFuncsBaseVirt< TNumType > &&  )
default

Member Function Documentation

template<typename TNumType >
TNumType tuw::ParamFuncsBaseVirt< TNumType >::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 490 of file param_func.hpp.

template<typename TNumType >
virtual TNumType tuw::ParamFuncsBaseVirt< TNumType >::computeFuncDiff1ImplVirt ( const std::size_t &  _funcIdx) const
privatepure virtual
template<typename TNumType >
TNumType tuw::ParamFuncsBaseVirt< TNumType >::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 497 of file param_func.hpp.

template<typename TNumType >
virtual TNumType tuw::ParamFuncsBaseVirt< TNumType >::computeFuncDiff2ImplVirt ( const std::size_t &  _funcIdx) const
privatepure virtual
template<typename TNumType >
TNumType tuw::ParamFuncsBaseVirt< TNumType >::computeFuncInt1 ( const std::size_t &  _funcIdx) const
inline

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

Definition at line 504 of file param_func.hpp.

template<typename TNumType >
virtual TNumType tuw::ParamFuncsBaseVirt< TNumType >::computeFuncInt1ImplVirt ( const std::size_t &  _funcIdx) const
privatepure virtual
template<typename TNumType >
TNumType tuw::ParamFuncsBaseVirt< TNumType >::computeFuncInt2 ( const std::size_t &  _funcIdx) const
inline

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

Definition at line 511 of file param_func.hpp.

template<typename TNumType >
virtual TNumType tuw::ParamFuncsBaseVirt< TNumType >::computeFuncInt2ImplVirt ( const std::size_t &  _funcIdx) const
privatepure virtual
template<typename TNumType >
TNumType tuw::ParamFuncsBaseVirt< TNumType >::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 483 of file param_func.hpp.

template<typename TNumType >
virtual TNumType tuw::ParamFuncsBaseVirt< TNumType >::computeFuncValImplVirt ( const std::size_t &  _funcIdx) const
privatepure virtual
template<typename TNumType >
FuncCtrlPtType& tuw::ParamFuncsBaseVirt< TNumType >::ctrlPt ( const std::size_t &  _funcIdx,
const std::size_t &  _funcCtrlPtIdx 
)
inline

Access of a parametric function control point.

Definition at line 438 of file param_func.hpp.

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

Const access of a parametric function control point.

Definition at line 444 of file param_func.hpp.

template<typename TNumType >
virtual FuncCtrlPtType& tuw::ParamFuncsBaseVirt< TNumType >::ctrlPtImplVirt ( const std::size_t &  _funcIdx,
const std::size_t &  _funcCtrlPtIdx 
)
privatepure virtual
template<typename TNumType >
virtual const FuncCtrlPtType& tuw::ParamFuncsBaseVirt< TNumType >::ctrlPtImplVirt ( const std::size_t &  _funcIdx,
const std::size_t &  _funcCtrlPtIdx 
) const
privatepure virtual
template<typename TNumType >
TNumType& tuw::ParamFuncsBaseVirt< TNumType >::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 450 of file param_func.hpp.

template<typename TNumType >
const TNumType& tuw::ParamFuncsBaseVirt< TNumType >::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 457 of file param_func.hpp.

template<typename TNumType >
virtual TNumType& tuw::ParamFuncsBaseVirt< TNumType >::ctrlPtValImplVirt ( const std::size_t &  _funcIdx,
const std::size_t &  _funcCtrlPtIdx,
const CtrlPtDim _ctrlPtDim 
)
privatepure virtual
template<typename TNumType >
virtual const TNumType& tuw::ParamFuncsBaseVirt< TNumType >::ctrlPtValImplVirt ( const std::size_t &  _funcIdx,
const std::size_t &  _funcCtrlPtIdx,
const CtrlPtDim _ctrlPtDim 
) const
privatepure virtual
template<typename TNumType >
std::size_t tuw::ParamFuncsBaseVirt< TNumType >::funcCtrlPtSize ( const std::size_t &  _i) const
inline

Number of control points for a parametric function.

Definition at line 390 of file param_func.hpp.

template<typename TNumType >
virtual std::size_t tuw::ParamFuncsBaseVirt< TNumType >::funcCtrlPtSizeImplVirt ( const std::size_t &  _i) const
privatepure virtual
template<typename TNumType >
TNumType& tuw::ParamFuncsBaseVirt< TNumType >::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 426 of file param_func.hpp.

template<typename TNumType >
const TNumType& tuw::ParamFuncsBaseVirt< TNumType >::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 432 of file param_func.hpp.

template<typename TNumType >
TNumType& tuw::ParamFuncsBaseVirt< TNumType >::funcsArcBegin ( )
inline

Access to the initial value of the arc parametrization.

Definition at line 396 of file param_func.hpp.

template<typename TNumType >
const TNumType& tuw::ParamFuncsBaseVirt< TNumType >::funcsArcBegin ( ) const
inline

Const access to the initial value of the arc parametrization.

Definition at line 402 of file param_func.hpp.

template<typename TNumType >
virtual TNumType& tuw::ParamFuncsBaseVirt< TNumType >::funcsArcBeginImplVirt ( )
privatepure virtual
template<typename TNumType >
virtual const TNumType& tuw::ParamFuncsBaseVirt< TNumType >::funcsArcBeginImplVirt ( ) const
privatepure virtual
template<typename TNumType >
TNumType& tuw::ParamFuncsBaseVirt< TNumType >::funcsArcEnd ( )
inline

Access to the final value of the arc parametrization.

Definition at line 408 of file param_func.hpp.

template<typename TNumType >
const TNumType& tuw::ParamFuncsBaseVirt< TNumType >::funcsArcEnd ( ) const
inline

Const access to the finall value of the arc parametrization.

Definition at line 414 of file param_func.hpp.

template<typename TNumType >
virtual TNumType& tuw::ParamFuncsBaseVirt< TNumType >::funcsArcEndImplVirt ( )
privatepure virtual
template<typename TNumType >
virtual const TNumType& tuw::ParamFuncsBaseVirt< TNumType >::funcsArcEndImplVirt ( ) const
privatepure virtual
template<typename TNumType >
const TNumType& tuw::ParamFuncsBaseVirt< TNumType >::funcsArcEval ( ) const
inline

Const access to the active evaluation point arc parametrization.

Definition at line 420 of file param_func.hpp.

template<typename TNumType >
virtual const TNumType& tuw::ParamFuncsBaseVirt< TNumType >::funcsArcEvalImplVirt ( ) const
privatepure virtual
template<typename TNumType >
virtual TNumType& tuw::ParamFuncsBaseVirt< TNumType >::funcsArcImplVirt ( const std::size_t &  _i,
const std::size_t &  _j 
)
privatepure virtual
template<typename TNumType >
virtual const TNumType& tuw::ParamFuncsBaseVirt< TNumType >::funcsArcImplVirt ( const std::size_t &  _i,
const std::size_t &  _j 
) const
privatepure virtual
template<typename TNumType >
std::size_t tuw::ParamFuncsBaseVirt< TNumType >::funcsArcSize ( ) const
inline

Number of arc parametrizations.

Definition at line 378 of file param_func.hpp.

template<typename TNumType >
std::size_t tuw::ParamFuncsBaseVirt< TNumType >::funcsArcSize ( const std::size_t &  _i) const
inline

Number of control points of parametrization _i.

Definition at line 384 of file param_func.hpp.

template<typename TNumType >
virtual std::size_t tuw::ParamFuncsBaseVirt< TNumType >::funcsArcSizeImplVirt ( ) const
privatepure virtual
template<typename TNumType >
virtual std::size_t tuw::ParamFuncsBaseVirt< TNumType >::funcsArcSizeImplVirt ( const std::size_t &  _i) const
privatepure virtual
template<typename TNumType >
std::size_t tuw::ParamFuncsBaseVirt< TNumType >::funcsSize ( ) const
inline

Number of parametric functions.

Definition at line 372 of file param_func.hpp.

template<typename TNumType >
virtual std::size_t tuw::ParamFuncsBaseVirt< TNumType >::funcsSizeImplVirt ( ) const
privatepure virtual
template<typename TNumType >
void tuw::ParamFuncsBaseVirt< TNumType >::init ( const std::vector< ParamFuncsStructure > &  _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 366 of file param_func.hpp.

template<typename TNumType >
virtual void tuw::ParamFuncsBaseVirt< TNumType >::initImplVirt ( const std::vector< ParamFuncsStructure > &  _paramFuncsStructure)
privatepure virtual
template<typename TNumType >
ParamFuncsBaseVirt& tuw::ParamFuncsBaseVirt< TNumType >::operator= ( const ParamFuncsBaseVirt< TNumType > &  )
default
template<typename TNumType >
ParamFuncsBaseVirt& tuw::ParamFuncsBaseVirt< TNumType >::operator= ( ParamFuncsBaseVirt< TNumType > &&  )
default
template<typename TNumType >
void tuw::ParamFuncsBaseVirt< TNumType >::precompute ( )
inline

Precomputes cached data.

Definition at line 471 of file param_func.hpp.

template<typename TNumType >
virtual void tuw::ParamFuncsBaseVirt< TNumType >::precomputeImplVirt ( )
privatepure virtual
template<typename TNumType >
void tuw::ParamFuncsBaseVirt< TNumType >::setEvalArc ( const TNumType &  _arcEval,
const eAG _eAG = eAG::NONE 
)
inline

Sets parametric function evaluation arc.

Definition at line 477 of file param_func.hpp.

template<typename TNumType >
virtual void tuw::ParamFuncsBaseVirt< TNumType >::setEvalArcImplVirt ( const TNumType &  _arcEval,
const eAG _eAG 
)
privatepure virtual
template<typename TNumType >
void tuw::ParamFuncsBaseVirt< TNumType >::shiftStartCtrlPt ( const TNumType &  _dt)
inline

Definition at line 464 of file param_func.hpp.

template<typename TNumType >
virtual void tuw::ParamFuncsBaseVirt< TNumType >::shiftStartCtrlPtImplVirt ( const TNumType &  _dt)
privatepure virtual

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