Go to the documentation of this file.
5 #ifndef __pinocchio_multibody_visitor_joint_binary_visitor_hpp__
6 #define __pinocchio_multibody_visitor_joint_binary_visitor_hpp__
8 #include <boost/variant.hpp>
19 typedef boost::blank
NoArg;
26 template<
typename Jo
intVisitorDerived,
typename ReturnType =
void>
30 template<
typename Jo
intModelDerived1,
typename Jo
intModelDerived2,
typename ArgsTmp>
31 static ReturnType
run(
38 InternalVisitorModelAndData<JointModelDerived1, JointModelDerived2, ArgsTmp> visitor(
39 jdata1, jdata2,
args);
46 template<
typename,
int>
class JointCollectionTpl,
48 static ReturnType
run(
56 InternalVisitorModelAndData<JointModel, JointModel, ArgsTmp> visitor(jdata1, jdata2,
args);
57 return boost::apply_visitor(visitor, jmodel1, jmodel2);
60 template<
typename Jo
intModelDerived1,
typename Jo
intModelDerived2>
61 static ReturnType
run(
67 InternalVisitorModelAndData<JointModelDerived1, JointModelDerived2, NoArg> visitor(
72 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
73 static ReturnType
run(
80 InternalVisitorModelAndData<JointModel, JointModel, NoArg> visitor(jdata1, jdata2);
81 return boost::apply_visitor(visitor, jmodel1, jmodel2);
84 template<
typename Jo
intModelDerived1,
typename Jo
intModelDerived2,
typename ArgsTmp>
85 static ReturnType
run(
90 InternalVisitorModel<ArgsTmp> visitor(
args);
97 template<
typename,
int>
class JointCollectionTpl,
99 static ReturnType
run(
104 InternalVisitorModel<ArgsTmp> visitor(
args);
105 return boost::apply_visitor(visitor, jmodel1, jmodel2);
108 template<
typename Jo
intModelDerived1,
typename Jo
intModelDerived2>
113 InternalVisitorModel<NoArg> visitor;
117 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
122 InternalVisitorModel<NoArg> visitor;
123 return boost::apply_visitor(visitor, jmodel1, jmodel2);
127 template<
typename Jo
intModel1,
typename Jo
intModel2,
typename ArgType>
140 template<
typename Jo
intModelDerived1,
typename Jo
intModelDerived2>
146 &JointVisitorDerived::template algo<JointModelDerived1, JointModelDerived2>,
162 template<
typename Jo
intModel1,
typename Jo
intModel2>
164 :
public boost::static_visitor<ReturnType>
175 template<
typename Jo
intModelDerived1,
typename Jo
intModelDerived2>
181 &JointVisitorDerived::template algo<JointModelDerived1, JointModelDerived2>,
194 template<
typename ArgType,
typename Dummy =
void>
202 template<
typename Jo
intModel1,
typename Jo
intModel2>
208 &JointVisitorDerived::template algo<JointModel1, JointModel2>,
215 template<
typename Dummy>
222 template<
typename Jo
intModel1,
typename Jo
intModel2>
227 return JointVisitorDerived::template algo<JointModel1, JointModel2>(
237 #endif // ifndef __pinocchio_multibody_visitor_joint_binary_visitor_hpp__
InternalVisitorModelAndData(JointData1 &jdata1, JointData2 &jdata2, ArgType args)
static ReturnType run(const JointModelBase< JointModelDerived1 > &jmodel1, const JointModelBase< JointModelDerived2 > &jmodel2)
static ReturnType run(const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel1, const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel2)
JointModel1::JointDataDerived JointData1
JointModel2::JointDataDerived JointData2
static ReturnType run(const JointModelBase< JointModelDerived1 > &jmodel1, const JointModelBase< JointModelDerived2 > &jmodel2, typename JointModelBase< JointModelDerived1 >::JointDataDerived &jdata1, typename JointModelBase< JointModelDerived2 >::JointDataDerived &jdata2, ArgsTmp args)
Base structure for Binary visitation of two JointModels. This structure provides runners to call the ...
ReturnType operator()(const JointModelBase< JointModel1 > &jmodel1, const JointModelBase< JointModel2 > &jmodel2) const
InternalVisitorModel(ArgType args)
ReturnType operator()(const JointModelBase< JointModel1 > &jmodel1, const JointModelBase< JointModel2 > &jmodel2) const
static ReturnType run(const JointModelBase< JointModelDerived1 > &jmodel1, const JointModelBase< JointModelDerived2 > &jmodel2, ArgsTmp args)
static ReturnType run(const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel1, const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel2, JointDataTpl< Scalar, Options, JointCollectionTpl > &jdata1, JointDataTpl< Scalar, Options, JointCollectionTpl > &jdata2)
JointModelTpl< context::Scalar > JointModel
JointModel2::JointDataDerived JointData2
static 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)
ReturnType operator()(const JointModelBase< JointModelDerived1 > &jmodel1, const JointModelBase< JointModelDerived2 > &jmodel2) const
static ReturnType run(const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel1, const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel2, ArgsTmp args)
result_of::push_front< V const, T >::type append(T const &t, V const &v)
Append the element T at the front of boost fusion vector V.
InternalVisitorModelAndData(JointData1 &jdata1, JointData2 &jdata2)
JointModel1::JointDataDerived JointData1
static ReturnType run(const JointModelBase< JointModelDerived1 > &jmodel1, const JointModelBase< JointModelDerived2 > &jmodel2, typename JointModelBase< JointModelDerived1 >::JointDataDerived &jdata1, typename JointModelBase< JointModelDerived2 >::JointDataDerived &jdata2)
ReturnType operator()(const JointModelBase< JointModelDerived1 > &jmodel1, const JointModelBase< JointModelDerived2 > &jmodel2) const
JointModelDerived & derived()
Main pinocchio namespace.
pinocchio
Author(s):
autogenerated on Sun Dec 22 2024 03:41:10