Go to the documentation of this file.
5 #ifndef __pinocchio_algorithm_constraints_constraint_model_visitor_hpp__
6 #define __pinocchio_algorithm_constraints_constraint_model_visitor_hpp__
24 template<
typename Constra
intModelVisitorDerived,
typename ReturnType =
void>
31 template<
typename,
int>
34 static ReturnType
run(
40 InternalVisitorModelAndData<Scalar, Options, ConstraintCollectionTpl, ArgsTmp> visitor(
42 return boost::apply_visitor(visitor,
cmodel);
48 template<
typename,
int>
55 InternalVisitorModel<Scalar, Options, ConstraintCollectionTpl, ArgsTmp> visitor(
args);
56 return boost::apply_visitor(visitor, cdata);
63 template<
typename,
int>
76 template<
typename Constra
intModelDerived>
80 &ConstraintModelVisitorDerived::template algo<ConstraintModelDerived>,
84 template<
typename Constra
intDataDerived>
88 &ConstraintModelVisitorDerived::template algo<ConstraintDataDerived>,
98 template<
typename,
int>
112 template<
typename Constra
intModelDerived>
116 &ConstraintModelVisitorDerived::template algo<ConstraintModelDerived>,
118 boost::ref(
cmodel.derived()),
134 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
137 ConstraintModelCalcVisitor<Scalar, Options, JointCollectionTpl>>
141 typedef boost::fusion::vector<const Model &, const Data &>
ArgsType;
143 template<
typename Constra
intModel>
157 template<
typename S,
int O>
158 class JointCollectionTpl,
159 template<
typename S,
int O>
160 class ConstraintCollectionTpl>
177 template<
typename,
int>
178 class JointCollectionTpl,
179 typename JacobianMatrix>
182 ConstraintModelJacobianVisitor<Scalar, Options, JointCollectionTpl, JacobianMatrix>>
186 typedef boost::fusion::vector<const Model &, const Data &, JacobianMatrix &>
ArgsType;
188 template<
typename Constra
intModel>
194 const Eigen::MatrixBase<JacobianMatrix> & jacobian_matrix)
203 template<
typename S,
int O>
204 class JointCollectionTpl,
205 template<
typename S,
int O>
206 class ConstraintCollectionTpl,
207 typename JacobianMatrix>
213 const Eigen::MatrixBase<JacobianMatrix> & jacobian_matrix)
218 cmodel, cdata,
typename Algo::ArgsType(
model,
data, jacobian_matrix.const_cast_derived()));
224 template<
typename Scalar,
int Options,
template<
typename S,
int O>
class ConstraintCollectionTpl>
226 : boost::static_visitor<typename ConstraintCollectionTpl<Scalar, Options>::ConstraintDataVariant>
233 template<
typename Constra
intModel>
237 return cmodel.createData();
246 template<
typename Scalar,
int Options,
template<
typename S,
int O>
class ConstraintCollectionTpl>
247 ConstraintDataTpl<Scalar, Options, ConstraintCollectionTpl>
256 template<
typename S,
int O>
257 class ConstraintCollectionTpl,
258 typename ConstraintDataDerived>
261 ConstraintDataComparisonOperatorVisitor<
264 ConstraintCollectionTpl,
265 ConstraintDataDerived>,
268 typedef boost::fusion::vector<const ConstraintDataDerived &>
ArgsType;
270 template<
typename Constra
intData>
274 return cdata_lhs.
derived() == cdata_rhs;
281 template<
typename S,
int O>
282 class ConstraintCollectionTpl,
283 typename ConstraintDataDerived>
291 return Algo::run(cdata_generic,
typename Algo::ArgsType(boost::ref(cdata.
derived())));
296 #endif // ifdef __pinocchio_algorithm_constraints_constraint_model_visitor_hpp__
DataTpl< Scalar, Options, JointCollectionTpl > Data
ReturnType operator()(const ConstraintModelBase< ConstraintModelDerived > &cmodel) const
boost::variant< RigidConstraintData > ConstraintDataVariant
boost::fusion::vector< const Model &, const Data & > ArgsType
static ReturnType run(const ConstraintModelTpl< Scalar, Options, ConstraintCollectionTpl > &cmodel, ConstraintDataTpl< Scalar, Options, ConstraintCollectionTpl > &cdata, ArgsTmp args)
static ConstraintDataVariant run(const ConstraintModelVariant &cmodel)
ConstraintDataTpl< Scalar, Options, ConstraintCollectionTpl > ConstraintData
ConstraintCollection::ConstraintModelVariant ConstraintModelVariant
static ReturnType run(const ConstraintDataTpl< Scalar, Options, ConstraintCollectionTpl > &cdata, ArgsTmp args)
ConstraintModelTpl< Scalar, Options, ConstraintCollectionTpl > ConstraintModel
ConstraintModelCreateDataVisitor fusion visitor.
Base structure for Unary visitation of a ConstraintModel. This structure provides runners to call the...
boost::fusion::vector< const Model &, const Data &, JacobianMatrix & > ArgsType
ConstraintDataTpl< Scalar, Options, ConstraintCollectionTpl > createData(const ConstraintModelTpl< Scalar, Options, ConstraintCollectionTpl > &cmodel)
DataTpl< Scalar, Options, JointCollectionTpl > Data
void calc(const ConstraintModelTpl< Scalar, Options, ConstraintCollectionTpl > &cmodel, ConstraintDataTpl< Scalar, Options, ConstraintCollectionTpl > &cdata, const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data)
ConstraintCollectionTpl< Scalar, Options > ConstraintCollection
ConstraintCollection::ConstraintDataVariant ConstraintDataVariant
InternalVisitorModelAndData(ConstraintData &cdata, ArgsTmp args)
void jacobian(const ConstraintModelTpl< Scalar, Options, ConstraintCollectionTpl > &cmodel, ConstraintDataTpl< Scalar, Options, ConstraintCollectionTpl > &cdata, const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< JacobianMatrix > &jacobian_matrix)
ConstraintDataTpl< Scalar, Options, ConstraintCollectionTpl > ConstraintData
InternalVisitorModel(ArgsTmp args)
ConstraintDataVariant operator()(const pinocchio::ConstraintModelBase< ConstraintModel > &cmodel) const
bool isEqual(const ConstraintDataTpl< Scalar, Options, ConstraintCollectionTpl > &cdata_generic, const ConstraintDataBase< ConstraintDataDerived > &cdata)
ConstraintModelCalcVisitor fusion visitor.
static void algo(const pinocchio::ConstraintModelBase< ConstraintModel > &cmodel, typename ConstraintModel::ConstraintData &cdata, const Model &model, const Data &data, const Eigen::MatrixBase< JacobianMatrix > &jacobian_matrix)
boost::fusion::vector< const ConstraintDataDerived & > ArgsType
ReturnType operator()(const ConstraintModelBase< ConstraintModelDerived > &cmodel) const
boost::variant< RigidConstraintModel > ConstraintModelVariant
ConstraintModelTpl< context::Scalar, context::Options, ConstraintCollectionTpl > ConstraintModel
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.
static bool algo(const ConstraintDataBase< ConstraintData > &cdata_lhs, const ConstraintDataDerived &cdata_rhs)
ConstraintModelTpl< Scalar, Options, ConstraintCollectionTpl > ConstraintModel
ModelTpl< Scalar, Options, JointCollectionTpl > Model
static void algo(const pinocchio::ConstraintModelBase< ConstraintModel > &cmodel, typename ConstraintModel::ConstraintData &cdata, const Model &model, const Data &data)
ReturnType operator()(const ConstraintDataBase< ConstraintDataDerived > &cdata) const
traits< Derived >::ConstraintData ConstraintData
JointCollectionTpl & model
Main pinocchio namespace.
ModelTpl< Scalar, Options, JointCollectionTpl > Model
ConstraintModelJacobianVisitor fusion visitor.
pinocchio
Author(s):
autogenerated on Sat Jun 22 2024 02:41:45