constraint-data-generic.hpp
Go to the documentation of this file.
1 //
2 // Copyright (c) 2023 INRIA
3 //
4 
5 #ifndef __pinocchio_algorithm_constraint_data_generic_hpp__
6 #define __pinocchio_algorithm_constraint_data_generic_hpp__
7 
12 
13 namespace pinocchio
14 {
15 
16  template<
17  typename _Scalar,
18  int _Options,
19  template<typename S, int O>
20  class ConstraintCollectionTpl>
21  struct traits<ConstraintDataTpl<_Scalar, _Options, ConstraintCollectionTpl>>
22  {
23  typedef _Scalar Scalar;
24  enum
25  {
26  Options = _Options
27  };
29  };
30 
31  template<
32  typename _Scalar,
33  int _Options,
34  template<typename S, int O>
37  : ConstraintDataBase<ConstraintDataTpl<_Scalar, _Options, ConstraintCollectionTpl>>
39  {
41  typedef _Scalar Scalar;
42  enum
43  {
44  Options = _Options
45  };
46 
50 
53  {
54  }
55 
57  : ConstraintDataVariant(cdata_variant)
58  {
59  }
60 
61  template<typename ContraintDataDerived>
64  {
65  BOOST_MPL_ASSERT(
66  (boost::mpl::contains<typename ConstraintDataVariant::types, ContraintDataDerived>));
67  }
68 
70  {
71  return static_cast<ConstraintDataVariant &>(*this);
72  }
73 
75  {
76  return static_cast<const ConstraintDataVariant &>(*this);
77  }
78 
79  template<typename ConstraintDataDerived>
81  {
82  return ::pinocchio::isEqual(*this, other.derived());
83  }
84 
85  bool isEqual(const ConstraintDataTpl & other) const
86  {
87  return /*Base::isEqual(other) &&*/ toVariant() == other.toVariant();
88  }
89 
90  bool operator==(const ConstraintDataTpl & other) const
91  {
92  return isEqual(other);
93  }
94 
95  bool operator!=(const ConstraintDataTpl & other) const
96  {
97  return !(*this == other);
98  }
99  };
100 
101  template<
102  typename ConstraintDataDerived,
103  typename Scalar,
104  int Options,
105  template<typename S, int O>
106  class ConstraintCollectionTpl>
110  {
111  return data2 == data1.derived();
112  }
113 
114 } // namespace pinocchio
115 
116 #endif // ifndef __pinocchio_algorithm_constraint_data_generic_hpp__
pinocchio::ConstraintCollectionTpl
Definition: algorithm/constraints/fwd.hpp:19
pinocchio::ConstraintDataTpl::ConstraintDataTpl
ConstraintDataTpl(const ConstraintDataVariant &cdata_variant)
Definition: constraint-data-generic.hpp:56
pinocchio::ConstraintDataTpl::ConstraintCollection
ConstraintCollectionTpl< Scalar, Options > ConstraintCollection
Definition: constraint-data-generic.hpp:47
pinocchio::ConstraintCollectionTpl::ConstraintDataVariant
boost::variant< RigidConstraintData > ConstraintDataVariant
Definition: algorithm/constraints/fwd.hpp:31
pinocchio::Options
Options
Definition: joint-configuration.hpp:1116
pinocchio::operator==
bool operator==(const ConstraintDataBase< ConstraintDataDerived > &data1, const ConstraintDataTpl< Scalar, Options, ConstraintCollectionTpl > &data2)
Definition: constraint-data-generic.hpp:107
pinocchio::ConstraintDataTpl::isEqual
bool isEqual(const ConstraintDataBase< ConstraintDataDerived > &other) const
Definition: constraint-data-generic.hpp:80
pinocchio::ConstraintDataTpl::ConstraintModelVariant
ConstraintCollection::ConstraintModelVariant ConstraintModelVariant
Definition: constraint-data-generic.hpp:49
pinocchio::python::Scalar
context::Scalar Scalar
Definition: admm-solver.cpp:29
pinocchio::ConstraintDataTpl::Base
ConstraintDataBase< ConstraintModelTpl< _Scalar, _Options, ConstraintCollectionTpl > > Base
Definition: constraint-data-generic.hpp:40
pinocchio::ConstraintDataTpl::operator==
bool operator==(const ConstraintDataTpl &other) const
Definition: constraint-data-generic.hpp:90
pinocchio::ConstraintDataTpl::Scalar
_Scalar Scalar
Definition: constraint-data-generic.hpp:41
pinocchio::traits< ConstraintDataTpl< _Scalar, _Options, ConstraintCollectionTpl > >::Scalar
_Scalar Scalar
Definition: constraint-data-generic.hpp:23
pinocchio::ConstraintDataTpl::ConstraintDataTpl
ConstraintDataTpl(const ConstraintDataBase< ContraintDataDerived > &cdata)
Definition: constraint-data-generic.hpp:62
pinocchio::ConstraintDataTpl
Definition: constraint-data-generic.hpp:36
constraint-model-visitor.hpp
pinocchio::ConstraintDataBase< ConstraintDataTpl< _Scalar, _Options, ConstraintCollectionTpl > >::derived
ConstraintDataTpl< _Scalar, _Options, ConstraintCollectionTpl > & derived()
Definition: constraint-data-base.hpp:19
pinocchio::traits< ConstraintDataTpl< _Scalar, _Options, ConstraintCollectionTpl > >::ConstraintModel
ConstraintModelTpl< Scalar, Options, ConstraintCollectionTpl > ConstraintModel
Definition: constraint-data-generic.hpp:28
pinocchio::ConstraintDataTpl::ConstraintDataTpl
ConstraintDataTpl()
Definition: constraint-data-generic.hpp:51
pinocchio::ConstraintDataTpl::toVariant
ConstraintDataVariant & toVariant()
Definition: constraint-data-generic.hpp:69
pinocchio::ConstraintModelTpl
Definition: constraint-model-generic.hpp:36
pinocchio::ConstraintDataTpl::toVariant
const ConstraintDataVariant & toVariant() const
Definition: constraint-data-generic.hpp:74
pinocchio::ConstraintDataTpl::operator!=
bool operator!=(const ConstraintDataTpl &other) const
Definition: constraint-data-generic.hpp:95
fwd.hpp
pinocchio::ConstraintCollectionTpl::ConstraintModelVariant
boost::variant< RigidConstraintModel > ConstraintModelVariant
Definition: algorithm/constraints/fwd.hpp:30
constraint-model-base.hpp
pinocchio::traits
Common traits structure to fully define base classes for CRTP.
Definition: fwd.hpp:71
pinocchio::ConstraintDataTpl::Options
@ Options
Definition: constraint-data-generic.hpp:44
pinocchio::ConstraintDataTpl::ConstraintDataVariant
ConstraintCollection::ConstraintDataVariant ConstraintDataVariant
Definition: constraint-data-generic.hpp:48
isEqual
virtual bool isEqual(const CollisionGeometry &other) const=0
pinocchio::ConstraintDataBase
Definition: constraint-data-base.hpp:14
pinocchio::ConstraintDataTpl::isEqual
bool isEqual(const ConstraintDataTpl &other) const
Definition: constraint-data-generic.hpp:85
pinocchio
Main pinocchio namespace.
Definition: timings.cpp:27
constraint-data-base.hpp


pinocchio
Author(s):
autogenerated on Sat Jun 22 2024 02:41:45