34 struct ConstraintDataTpl
39 typedef _Scalar Scalar;
46 typedef typename ConstraintCollection::ConstraintDataVariant ConstraintDataVariant;
47 typedef typename ConstraintCollection::ConstraintModelVariant ConstraintModelVariant;
50 : ConstraintDataVariant()
54 ConstraintDataTpl(
const ConstraintDataVariant & cdata_variant)
55 : ConstraintDataVariant(cdata_variant)
59 template<
typename Contra
intDataDerived>
61 : ConstraintDataVariant((ConstraintDataVariant)cdata.derived())
64 (boost::mpl::contains<typename ConstraintDataVariant::types, ContraintDataDerived>));
67 ConstraintDataVariant & toVariant()
69 return static_cast<ConstraintDataVariant &
>(*this);
72 const ConstraintDataVariant & toVariant()
const 74 return static_cast<const ConstraintDataVariant &
>(*this);
77 template<
typename Constra
intDataDerived>
80 return ::pinocchio::isEqual(*
this, other.derived());
83 bool isEqual(
const ConstraintDataTpl & other)
const 85 return toVariant() == other.toVariant();
88 bool operator==(
const ConstraintDataTpl & other)
const 90 return isEqual(other);
93 bool operator!=(
const ConstraintDataTpl & other)
const 95 return !(*
this == other);