Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | Friends | List of all members
tuw::LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs > Class Template Referenceabstract

#include <trajectory_simulator.hpp>

Public Types

using NumType = TNumType
 
using StateSPtr = std::shared_ptr< StateType >
 
using StateType = typename TSimType::StateType
 

Public Member Functions

void computeLatticeArcs (TSimType &_sim, std::vector< NumType > &_latticeArcs)
 
void computeLatticeStructure (TSimType &_sim, const size_t _latticeIdx)
 
template<size_t FuncsNr = 0, size_t TupSize = std::tuple_size<std::tuple<TLatticeCostFuncs...>>::value, typename std::enable_if<(TupSize > 0>
void evaluate (const auto &_x, const size_t &_i, TSimType &_sim, auto &_ansPtr)
 
template<size_t FuncsNr = 0, size_t TupSize = std::tuple_size<std::tuple<TLatticeCostFuncs...>>::value, typename std::enable_if<(TupSize==0)>::type * = nullptr>
void evaluate (const auto &_x, const size_t &_i, TSimType &_sim, auto &_ansPtr)
 
template<size_t FuncsNr = 0, size_t TupSize = std::tuple_size<std::tuple<TLatticeCostFuncs...>>::value, typename std::enable_if<(TupSize > 0>
void evaluateWithGrad (const auto &_x, const size_t &_i, const auto &_gradX, TSimType &_sim, auto &_ansPtr, auto &_ansGradPtr, const size_t &elSize)
 
template<size_t FuncsNr = 0, size_t TupSize = std::tuple_size<std::tuple<TLatticeCostFuncs...>>::value, typename std::enable_if<(TupSize==0)>::type * = nullptr>
void evaluateWithGrad (const auto &_x, const size_t &_i, const auto &_gradX, TSimType &_sim, auto &_ansPtr, auto &_ansGradPtr, const size_t &elSize)
 
 LatticeTypeBaseCRTP ()=default
 
 LatticeTypeBaseCRTP (const LatticeTypeBaseCRTP &)=default
 
 LatticeTypeBaseCRTP (LatticeTypeBaseCRTP &&)=default
 
LatticeTypeBaseCRTPoperator= (const LatticeTypeBaseCRTP &)=default
 
LatticeTypeBaseCRTPoperator= (LatticeTypeBaseCRTP &&)=default
 
virtual void precompute (TSimType &_sim)=0
 
virtual ~LatticeTypeBaseCRTP ()=default
 

Static Public Member Functions

template<size_t FuncsNr = 0, size_t TupSize = std::tuple_size<std::tuple<TLatticeCostFuncs...>>::value, typename std::enable_if<(TupSize > 0>
static constexpr const size_t costFuncsNr ()
 
template<size_t FuncsNr = 0, size_t TupSize = std::tuple_size<std::tuple<TLatticeCostFuncs...>>::value, typename std::enable_if<(TupSize==0)>::type * = nullptr>
static constexpr const size_t costFuncsNr ()
 
static constexpr const size_t costFuncsTypesNr ()
 

Public Attributes

std::vector< LatticePoint< NumType, StateType > > lattice
 

Private Member Functions

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

Private Attributes

std::tuple< TLatticeCostFuncs... > costFuncs_
 
std::vector< NumTypelatticeArcs_
 
std::vector< LatticePoint< NumType, StateType > >::iterator latticeVecCacheIter_
 
std::vector< LatticePoint< NumType, StateType > >::iterator latticeVecIterEnd_
 

Friends

template<typename T , typename... TTuple>
size_t bindFromPartLatticesToSimLattice (std::tuple< TTuple... > &, std::vector< T > &)
 
template<typename TNumType2 , typename TSimType2 , bool TUseStateNm2, template< typename, typename > class... TLatticeTypes2>
class TrajectorySimulator
 

Detailed Description

template<class TDerived, typename TNumType, class TSimType, class... TLatticeCostFuncs>
class tuw::LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs >

Definition at line 77 of file 2/trajectory_simulator.hpp.

Member Typedef Documentation

template<class TDerived, typename TNumType, class TSimType, class... TLatticeCostFuncs>
using tuw::LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs >::NumType = TNumType

Definition at line 80 of file 2/trajectory_simulator.hpp.

template<class TDerived, typename TNumType, class TSimType, class... TLatticeCostFuncs>
using tuw::LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs >::StateSPtr = std::shared_ptr<StateType>

Definition at line 86 of file 2/trajectory_simulator.hpp.

template<class TDerived, typename TNumType, class TSimType, class... TLatticeCostFuncs>
using tuw::LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs >::StateType = typename TSimType::StateType

Definition at line 83 of file 2/trajectory_simulator.hpp.

Constructor & Destructor Documentation

template<class TDerived, typename TNumType, class TSimType, class... TLatticeCostFuncs>
tuw::LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs >::LatticeTypeBaseCRTP ( )
default
template<class TDerived, typename TNumType, class TSimType, class... TLatticeCostFuncs>
virtual tuw::LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs >::~LatticeTypeBaseCRTP ( )
virtualdefault
template<class TDerived, typename TNumType, class TSimType, class... TLatticeCostFuncs>
tuw::LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs >::LatticeTypeBaseCRTP ( const LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs > &  )
default
template<class TDerived, typename TNumType, class TSimType, class... TLatticeCostFuncs>
tuw::LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs >::LatticeTypeBaseCRTP ( LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs > &&  )
default

Member Function Documentation

template<class TDerived, typename TNumType, class TSimType, class... TLatticeCostFuncs>
void tuw::LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs >::computeLatticeArcs ( TSimType &  _sim,
std::vector< NumType > &  _latticeArcs 
)
inline

Definition at line 124 of file 2/trajectory_simulator.hpp.

template<class TDerived, typename TNumType, class TSimType, class... TLatticeCostFuncs>
void tuw::LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs >::computeLatticeStructure ( TSimType &  _sim,
const size_t  _latticeIdx 
)
inline

Definition at line 107 of file 2/trajectory_simulator.hpp.

template<class TDerived, typename TNumType, class TSimType, class... TLatticeCostFuncs>
template<size_t FuncsNr = 0, size_t TupSize = std::tuple_size<std::tuple<TLatticeCostFuncs...>>::value, typename std::enable_if<(TupSize > 0>
static constexpr const size_t tuw::LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs >::costFuncsNr ( )
inlinestatic

Definition at line 135 of file 2/trajectory_simulator.hpp.

template<class TDerived, typename TNumType, class TSimType, class... TLatticeCostFuncs>
template<size_t FuncsNr = 0, size_t TupSize = std::tuple_size<std::tuple<TLatticeCostFuncs...>>::value, typename std::enable_if<(TupSize==0)>::type * = nullptr>
static constexpr const size_t tuw::LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs >::costFuncsNr ( )
inlinestatic

Definition at line 143 of file 2/trajectory_simulator.hpp.

template<class TDerived, typename TNumType, class TSimType, class... TLatticeCostFuncs>
static constexpr const size_t tuw::LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs >::costFuncsTypesNr ( )
inlinestatic

Definition at line 149 of file 2/trajectory_simulator.hpp.

template<class TDerived, typename TNumType, class TSimType, class... TLatticeCostFuncs>
template<size_t FuncsNr = 0, size_t TupSize = std::tuple_size<std::tuple<TLatticeCostFuncs...>>::value, typename std::enable_if<(TupSize > 0>
void tuw::LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs >::evaluate ( const auto &  _x,
const size_t &  _i,
TSimType &  _sim,
auto &  _ansPtr 
)
inline

Definition at line 157 of file 2/trajectory_simulator.hpp.

template<class TDerived, typename TNumType, class TSimType, class... TLatticeCostFuncs>
template<size_t FuncsNr = 0, size_t TupSize = std::tuple_size<std::tuple<TLatticeCostFuncs...>>::value, typename std::enable_if<(TupSize==0)>::type * = nullptr>
void tuw::LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs >::evaluate ( const auto &  _x,
const size_t &  _i,
TSimType &  _sim,
auto &  _ansPtr 
)
inline

Definition at line 169 of file 2/trajectory_simulator.hpp.

template<class TDerived, typename TNumType, class TSimType, class... TLatticeCostFuncs>
template<size_t FuncsNr = 0, size_t TupSize = std::tuple_size<std::tuple<TLatticeCostFuncs...>>::value, typename std::enable_if<(TupSize > 0>
void tuw::LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs >::evaluateWithGrad ( const auto &  _x,
const size_t &  _i,
const auto &  _gradX,
TSimType &  _sim,
auto &  _ansPtr,
auto &  _ansGradPtr,
const size_t &  elSize 
)
inline

Definition at line 176 of file 2/trajectory_simulator.hpp.

template<class TDerived, typename TNumType, class TSimType, class... TLatticeCostFuncs>
template<size_t FuncsNr = 0, size_t TupSize = std::tuple_size<std::tuple<TLatticeCostFuncs...>>::value, typename std::enable_if<(TupSize==0)>::type * = nullptr>
void tuw::LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs >::evaluateWithGrad ( const auto &  _x,
const size_t &  _i,
const auto &  _gradX,
TSimType &  _sim,
auto &  _ansPtr,
auto &  _ansGradPtr,
const size_t &  elSize 
)
inline

Definition at line 197 of file 2/trajectory_simulator.hpp.

template<class TDerived, typename TNumType, class TSimType, class... TLatticeCostFuncs>
LatticeTypeBaseCRTP& tuw::LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs >::operator= ( const LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs > &  )
default
template<class TDerived, typename TNumType, class TSimType, class... TLatticeCostFuncs>
LatticeTypeBaseCRTP& tuw::LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs >::operator= ( LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs > &&  )
default
template<class TDerived, typename TNumType, class TSimType, class... TLatticeCostFuncs>
virtual void tuw::LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs >::precompute ( TSimType &  _sim)
pure virtual
template<class TDerived, typename TNumType, class TSimType, class... TLatticeCostFuncs>
TDerived& tuw::LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs >::thisDerived ( )
inlineprivate

Definition at line 203 of file 2/trajectory_simulator.hpp.

template<class TDerived, typename TNumType, class TSimType, class... TLatticeCostFuncs>
const TDerived& tuw::LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs >::thisDerived ( ) const
inlineprivate

Definition at line 209 of file 2/trajectory_simulator.hpp.

Friends And Related Function Documentation

template<class TDerived, typename TNumType, class TSimType, class... TLatticeCostFuncs>
template<typename T , typename... TTuple>
size_t bindFromPartLatticesToSimLattice ( std::tuple< TTuple... > &  ,
std::vector< T > &   
)
friend
template<class TDerived, typename TNumType, class TSimType, class... TLatticeCostFuncs>
template<typename TNumType2 , typename TSimType2 , bool TUseStateNm2, template< typename, typename > class... TLatticeTypes2>
friend class TrajectorySimulator
friend

Definition at line 231 of file 2/trajectory_simulator.hpp.

Member Data Documentation

template<class TDerived, typename TNumType, class TSimType, class... TLatticeCostFuncs>
std::tuple<TLatticeCostFuncs...> tuw::LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs >::costFuncs_
private

Definition at line 221 of file 2/trajectory_simulator.hpp.

template<class TDerived, typename TNumType, class TSimType, class... TLatticeCostFuncs>
std::vector<LatticePoint<NumType, StateType> > tuw::LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs >::lattice

Definition at line 215 of file 2/trajectory_simulator.hpp.

template<class TDerived, typename TNumType, class TSimType, class... TLatticeCostFuncs>
std::vector<NumType> tuw::LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs >::latticeArcs_
private

Definition at line 218 of file 2/trajectory_simulator.hpp.

template<class TDerived, typename TNumType, class TSimType, class... TLatticeCostFuncs>
std::vector<LatticePoint<NumType, StateType> >::iterator tuw::LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs >::latticeVecCacheIter_
private

Definition at line 224 of file 2/trajectory_simulator.hpp.

template<class TDerived, typename TNumType, class TSimType, class... TLatticeCostFuncs>
std::vector<LatticePoint<NumType, StateType> >::iterator tuw::LatticeTypeBaseCRTP< TDerived, TNumType, TSimType, TLatticeCostFuncs >::latticeVecIterEnd_
private

Definition at line 227 of file 2/trajectory_simulator.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