Template Struct JointBinaryVisitorBase

Nested Relationships

Nested Types

Struct Documentation

template<typename JointVisitorDerived, typename ReturnType = void>
struct JointBinaryVisitorBase

Base structure for Binary visitation of two JointModels. This structure provides runners to call the right visitor according to the number of arguments. This should be used when deriving new rigid body algorithms.

Public Static Functions

template<typename JointModelDerived1, typename JointModelDerived2, typename ArgsTmp>
static inline ReturnType run(const JointModelBase<JointModelDerived1> &jmodel1, const JointModelBase<JointModelDerived2> &jmodel2, typename JointModelBase<JointModelDerived1>::JointDataDerived &jdata1, typename JointModelBase<JointModelDerived2>::JointDataDerived &jdata2, ArgsTmp args)
template<typename Scalar, int Options, template<typename, int> class JointCollectionTpl, typename ArgsTmp>
static inline ReturnType run(const JointModelTpl<Scalar, Options, JointCollectionTpl> &jmodel1, const JointModelTpl<Scalar, Options, JointCollectionTpl> &jmodel2, JointDataTpl<Scalar, Options, JointCollectionTpl> &jdata1, JointDataTpl<Scalar, Options, JointCollectionTpl> &jdata2, ArgsTmp args)
template<typename JointModelDerived1, typename JointModelDerived2>
static inline ReturnType run(const JointModelBase<JointModelDerived1> &jmodel1, const JointModelBase<JointModelDerived2> &jmodel2, typename JointModelBase<JointModelDerived1>::JointDataDerived &jdata1, typename JointModelBase<JointModelDerived2>::JointDataDerived &jdata2)
template<typename Scalar, int Options, template<typename, int> class JointCollectionTpl>
static inline ReturnType run(const JointModelTpl<Scalar, Options, JointCollectionTpl> &jmodel1, const JointModelTpl<Scalar, Options, JointCollectionTpl> &jmodel2, JointDataTpl<Scalar, Options, JointCollectionTpl> &jdata1, JointDataTpl<Scalar, Options, JointCollectionTpl> &jdata2)
template<typename JointModelDerived1, typename JointModelDerived2, typename ArgsTmp>
static inline ReturnType run(const JointModelBase<JointModelDerived1> &jmodel1, const JointModelBase<JointModelDerived2> &jmodel2, ArgsTmp args)
template<typename Scalar, int Options, template<typename, int> class JointCollectionTpl, typename ArgsTmp>
static inline ReturnType run(const JointModelTpl<Scalar, Options, JointCollectionTpl> &jmodel1, const JointModelTpl<Scalar, Options, JointCollectionTpl> &jmodel2, ArgsTmp args)
template<typename JointModelDerived1, typename JointModelDerived2>
static inline ReturnType run(const JointModelBase<JointModelDerived1> &jmodel1, const JointModelBase<JointModelDerived2> &jmodel2)
template<typename Scalar, int Options, template<typename, int> class JointCollectionTpl>
static inline ReturnType run(const JointModelTpl<Scalar, Options, JointCollectionTpl> &jmodel1, const JointModelTpl<Scalar, Options, JointCollectionTpl> &jmodel2)