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>
33 static ReturnType
run(
39 InternalVisitorModelAndData<Scalar, Options, ConstraintCollectionTpl, ArgsTmp> visitor(
41 return boost::apply_visitor(visitor,
cmodel);
53 InternalVisitorModel<Scalar, Options, ConstraintCollectionTpl, ArgsTmp> visitor(
args);
54 return boost::apply_visitor(visitor, cdata);
73 template<
typename Constra
intModelDerived>
77 &ConstraintModelVisitorDerived::template algo<ConstraintModelDerived>,
81 template<
typename Constra
intDataDerived>
85 &ConstraintModelVisitorDerived::template algo<ConstraintDataDerived>,
108 template<
typename Constra
intModelDerived>
112 &ConstraintModelVisitorDerived::template algo<ConstraintModelDerived>,
114 boost::ref(
cmodel.derived()),
130 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
133 ConstraintModelCalcVisitor<Scalar, Options, JointCollectionTpl>>
137 typedef boost::fusion::vector<const Model &, const Data &>
ArgsType;
139 template<
typename Constra
intModel>
153 template<
typename S,
int O>
class JointCollectionTpl,
154 template<
typename S,
int O>
class ConstraintCollectionTpl>
171 template<
typename,
int>
class JointCollectionTpl,
172 typename JacobianMatrix>
175 ConstraintModelJacobianVisitor<Scalar, Options, JointCollectionTpl, JacobianMatrix>>
179 typedef boost::fusion::vector<const Model &, const Data &, JacobianMatrix &>
ArgsType;
181 template<
typename Constra
intModel>
187 const Eigen::MatrixBase<JacobianMatrix> & jacobian_matrix)
196 template<
typename S,
int O>
class JointCollectionTpl,
197 template<
typename S,
int O>
class ConstraintCollectionTpl,
198 typename JacobianMatrix>
204 const Eigen::MatrixBase<JacobianMatrix> & jacobian_matrix)
209 cmodel, cdata,
typename Algo::ArgsType(
model,
data, jacobian_matrix.const_cast_derived()));
215 template<
typename Scalar,
int Options,
template<
typename S,
int O>
class ConstraintCollectionTpl>
217 : boost::static_visitor<typename ConstraintCollectionTpl<Scalar, Options>::ConstraintDataVariant>
224 template<
typename Constra
intModel>
228 return cmodel.createData();
237 template<
typename Scalar,
int Options,
template<
typename S,
int O>
class ConstraintCollectionTpl>
238 ConstraintDataTpl<Scalar, Options, ConstraintCollectionTpl>
247 template<
typename S,
int O>
class ConstraintCollectionTpl,
248 typename ConstraintDataDerived>
251 ConstraintDataComparisonOperatorVisitor<
254 ConstraintCollectionTpl,
255 ConstraintDataDerived>,
258 typedef boost::fusion::vector<const ConstraintDataDerived &>
ArgsType;
260 template<
typename Constra
intData>
264 return cdata_lhs.
derived() == cdata_rhs;
271 template<
typename S,
int O>
class ConstraintCollectionTpl,
272 typename ConstraintDataDerived>
280 return Algo::run(cdata_generic,
typename Algo::ArgsType(boost::ref(cdata.
derived())));
285 #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 Sun Dec 22 2024 03:41:08