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>
47 class JointCollectionTpl,
49 static ReturnType
run(
57 InternalVisitorModelAndData<JointModel, JointModel, ArgsTmp> visitor(jdata1, jdata2,
args);
58 return boost::apply_visitor(visitor, jmodel1, jmodel2);
61 template<
typename Jo
intModelDerived1,
typename Jo
intModelDerived2>
62 static ReturnType
run(
68 InternalVisitorModelAndData<JointModelDerived1, JointModelDerived2, NoArg> visitor(
73 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
74 static ReturnType
run(
81 InternalVisitorModelAndData<JointModel, JointModel, NoArg> visitor(jdata1, jdata2);
82 return boost::apply_visitor(visitor, jmodel1, jmodel2);
85 template<
typename Jo
intModelDerived1,
typename Jo
intModelDerived2,
typename ArgsTmp>
86 static ReturnType
run(
91 InternalVisitorModel<ArgsTmp> visitor(
args);
98 template<
typename,
int>
99 class JointCollectionTpl,
106 InternalVisitorModel<ArgsTmp> visitor(
args);
107 return boost::apply_visitor(visitor, jmodel1, jmodel2);
110 template<
typename Jo
intModelDerived1,
typename Jo
intModelDerived2>
115 InternalVisitorModel<NoArg> visitor;
119 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
124 InternalVisitorModel<NoArg> visitor;
125 return boost::apply_visitor(visitor, jmodel1, jmodel2);
129 template<
typename Jo
intModel1,
typename Jo
intModel2,
typename ArgType>
142 template<
typename Jo
intModelDerived1,
typename Jo
intModelDerived2>
148 &JointVisitorDerived::template algo<JointModelDerived1, JointModelDerived2>,
164 template<
typename Jo
intModel1,
typename Jo
intModel2>
166 :
public boost::static_visitor<ReturnType>
177 template<
typename Jo
intModelDerived1,
typename Jo
intModelDerived2>
183 &JointVisitorDerived::template algo<JointModelDerived1, JointModelDerived2>,
196 template<
typename ArgType,
typename Dummy =
void>
204 template<
typename Jo
intModel1,
typename Jo
intModel2>
210 &JointVisitorDerived::template algo<JointModel1, JointModel2>,
217 template<
typename Dummy>
224 template<
typename Jo
intModel1,
typename Jo
intModel2>
229 return JointVisitorDerived::template algo<JointModel1, JointModel2>(
239 #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 Wed Sep 25 2024 02:42:25