hpp-constraints  4.11.0
Definition of basic geometric constraints for motion planning
fwd.hh
Go to the documentation of this file.
1 // This file is part of hpp-constraints.
7 // hpp-constraints is free software: you can redistribute it
8 // and/or modify it under the terms of the GNU Lesser General Public
9 // License as published by the Free Software Foundation, either version
10 // 3 of the License, or (at your option) any later version.
11 //
12 // hpp-constraints is distributed in the hope that it will be
13 // useful, but WITHOUT ANY WARRANTY; without even the implied warranty
14 // of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 // General Lesser Public License for more details. You should have
16 // received a copy of the GNU Lesser General Public License along with
17 // hpp-constraints. If not, see
18 // <http://www.gnu.org/licenses/>.
19 
20 #ifndef HPP_CONSTRAINTS_FWD_HH
21 # define HPP_CONSTRAINTS_FWD_HH
22 
23 # include <list>
24 # include <hpp/pinocchio/fwd.hh>
26 
27 namespace Eigen {
28  struct BlockIndex;
29 } // namespace Eigen
30 
31 namespace hpp {
32  namespace constraints {
33  HPP_PREDEF_CLASS (DifferentiableFunction);
34  HPP_PREDEF_CLASS (DifferentiableFunctionSet);
35  HPP_PREDEF_CLASS (ActiveSetDifferentiableFunction);
42  typedef Eigen::Matrix<value_type, 6, 6> matrix6_t;
43  typedef Eigen::Matrix<value_type, 8, 1> vector8_t;
45  typedef Eigen::Ref <const matrix_t> matrixIn_t;
46  typedef Eigen::Ref <matrix_t> matrixOut_t;
59  namespace eigen {
60  typedef Eigen::Matrix <value_type, 3, 3> matrix3_t;
61  typedef Eigen::Matrix <value_type, 3, 1> vector3_t;
62  } // namespace eigen
63  typedef Eigen::Matrix <value_type, 5, 1> vector5_t;
64  typedef Eigen::Matrix <value_type, 6, 1> vector6_t;
65  typedef Eigen::Matrix <value_type, 7, 1> vector7_t;
66  typedef Eigen::Quaternion<value_type> Quaternion_t;
67 
69  typedef ArrayXb bool_array_t;
70 
71  typedef std::pair<size_type, size_type> segment_t;
72  typedef std::vector < segment_t > segments_t;
73 
80  class ConvexShape;
81  typedef std::vector <ConvexShape> ConvexShapes_t;
89 
100  typedef shared_ptr <DifferentiableFunction>
102  typedef shared_ptr <DifferentiableFunctionSet>
104  typedef DifferentiableFunctionSet DifferentiableFunctionStack
106  typedef shared_ptr <ActiveSetDifferentiableFunction>
108  typedef shared_ptr <DistanceBetweenBodies>
110  typedef shared_ptr <DistanceBetweenPointsInBodies>
112  typedef shared_ptr<RelativeCom> RelativeComPtr_t;
113  typedef shared_ptr<ComBetweenFeet> ComBetweenFeetPtr_t;
116  typedef std::vector<vector3_t> Shape_t;
117  typedef std::pair <JointPtr_t, Shape_t> JointAndShape_t;
118  typedef std::list <JointAndShape_t> JointAndShapes_t;
119  typedef shared_ptr<ConvexShapeContact>
121  typedef shared_ptr<ConvexShapeContactComplement>
123  typedef shared_ptr<ConvexShapeContactHold>
125  typedef shared_ptr<StaticStability> StaticStabilityPtr_t;
126  typedef shared_ptr<QPStaticStability> QPStaticStabilityPtr_t;
127  typedef shared_ptr<ConfigurationConstraint>
129  typedef shared_ptr<Identity> IdentityPtr_t;
130  typedef shared_ptr<AffineFunction> AffineFunctionPtr_t;
131  typedef shared_ptr<ConstantFunction> ConstantFunctionPtr_t;
132 
133  template <int _Options> class GenericTransformation;
134 
136  const int RelativeBit = 0x1;
137  const int PositionBit = 0x2;
138  const int OrientationBit = 0x4;
139  const int OutputR3xSO3Bit = 0x8;
151 
152  typedef shared_ptr<Position> PositionPtr_t;
153  typedef shared_ptr<Orientation> OrientationPtr_t;
154  typedef shared_ptr<Transformation> TransformationPtr_t;
155  typedef shared_ptr<RelativePosition> RelativePositionPtr_t;
156  typedef shared_ptr<RelativeOrientation> RelativeOrientationPtr_t;
157  typedef shared_ptr<RelativeTransformation>
159 
161 
163  typedef shared_ptr <Implicit> ImplicitPtr_t;
164  typedef shared_ptr <const Implicit> ImplicitConstPtr_t;
165  typedef std::vector < constraints::ImplicitPtr_t > NumericalConstraints_t;
167  typedef shared_ptr <ImplicitConstraintSet>
169 
175  };
176  typedef std::vector<ComparisonType> ComparisonTypes_t;
177 
179  typedef shared_ptr <Explicit> ExplicitPtr_t;
180  typedef shared_ptr <const Explicit> ExplicitConstPtr_t;
181 
182  class ExplicitConstraintSet;
183  namespace solver {
184  class HierarchicalIterative;
185  class BySubstitution;
186  } // namespace solver
187 
188  namespace explicit_ {
189  class Function;
190  HPP_PREDEF_CLASS (RelativePose);
191  typedef shared_ptr <RelativePose> RelativePosePtr_t;
192  HPP_PREDEF_CLASS (RelativeTransformation);
193  typedef shared_ptr <RelativeTransformation>
196  typedef shared_ptr <ImplicitFunction> ImplicitFunctionPtr_t;
198  typedef shared_ptr<ConvexShapeContact> ConvexShapeContactPtr_t;
199  } // namespace explicit_
200 
202  typedef shared_ptr <LockedJoint> LockedJointPtr_t;
203  typedef shared_ptr <const LockedJoint> LockedJointConstPtr_t;
204  typedef std::vector <LockedJointPtr_t> LockedJoints_t;
205 
206  namespace function {
207  HPP_PREDEF_CLASS (OfParameterSubset);
208  typedef shared_ptr <OfParameterSubset> OfParameterSubsetPtr_t;
209  } // namespace function
210  } // namespace constraints
211 } // namespace hpp
212 
213 #endif // HPP_CONSTRAINTS_FWD_HH
shared_ptr< StaticStability > StaticStabilityPtr_t
Definition: fwd.hh:125
Definition: static-stability.hh:34
Definition: distance-between-bodies.hh:40
pinocchio::vector_t vector_t
Definition: fwd.hh:47
ComparisonType
Definition: fwd.hh:170
pinocchio::vectorIn_t vectorIn_t
Definition: fwd.hh:48
pinocchio::ConfigurationOut_t ConfigurationOut_t
Definition: fwd.hh:95
Definition: implicit-constraint-set.hh:34
Eigen::Matrix< value_type, 3, 3 > matrix3_t
Definition: fwd.hh:60
shared_ptr< RelativePose > RelativePosePtr_t
Definition: fwd.hh:191
pinocchio::CenterOfMassComputation CenterOfMassComputation
Definition: fwd.hh:98
Definition: convex-shape-contact.hh:221
shared_ptr< ConfigurationConstraint > ConfigurationConstraintPtr_t
Definition: fwd.hh:128
pinocchio::JointJacobian_t JointJacobian_t
Definition: fwd.hh:51
Definition: distance-between-points-in-bodies.hh:36
Definition: matrix-view.hh:37
shared_ptr< QPStaticStability > QPStaticStabilityPtr_t
Definition: fwd.hh:126
DEVEL typedef GenericTransformation< PositionBit|OrientationBit > Transformation
Definition: fwd.hh:133
Definition: active-set-differentiable-function.hh:24
pinocchio::LiegroupSpacePtr_t LiegroupSpacePtr_t
Definition: fwd.hh:57
Definition: fwd.hh:172
GenericTransformation< RelativeBit|PositionBit > RelativePosition
Definition: fwd.hh:145
pinocchio::CollisionObjectPtr_t CollisionObjectPtr_t
Definition: fwd.hh:91
ArrayXb bool_array_t
Definition: fwd.hh:69
Definition: locked-joint.hh:56
pinocchio::DevicePtr_t DevicePtr_t
Definition: fwd.hh:97
shared_ptr< ActiveSetDifferentiableFunction > ActiveSetDifferentiableFunctionPtr_t
Definition: fwd.hh:107
shared_ptr< ComBetweenFeet > ComBetweenFeetPtr_t
Definition: fwd.hh:113
shared_ptr< const Explicit > ExplicitConstPtr_t
Definition: fwd.hh:180
Definition: com-between-feet.hh:56
Eigen::Ref< const matrix_t > matrixIn_t
Definition: fwd.hh:45
GenericTransformation< RelativeBit|PositionBit|OrientationBit > RelativeTransformation
Definition: fwd.hh:144
pinocchio::LiegroupElement LiegroupElement
Definition: fwd.hh:53
Definition: affine-function.hh:68
Square distance between input configuration and reference configuration.
Definition: configuration-constraint.hh:32
GenericTransformation< OrientationBit > Orientation
Definition: fwd.hh:143
pinocchio::LiegroupElementConstRef LiegroupElementConstRef
Definition: fwd.hh:55
Definition: fwd.hh:174
Definition: fwd.hh:27
#define HPP_CONSTRAINTS_DEPRECATED
Definition: deprecated.hh:32
shared_ptr< OfParameterSubset > OfParameterSubsetPtr_t
Definition: fwd.hh:208
std::vector< segment_t > segments_t
Definition: fwd.hh:72
std::pair< size_type, size_type > segment_t
Definition: fwd.hh:71
Definition: explicit.hh:118
Definition: fwd.hh:173
Definition: qp-static-stability.hh:33
pinocchio::matrix_t matrix_t
Definition: fwd.hh:44
shared_ptr< ConvexShapeContact > ConvexShapeContactPtr_t
Definition: fwd.hh:198
GenericTransformation< PositionBit|OrientationBit|OutputR3xSO3Bit > TransformationR3xSO3
Definition: fwd.hh:147
pinocchio::ArrayXb ArrayXb
Definition: fwd.hh:68
Eigen::Matrix< value_type, 5, 1 > vector5_t
Definition: fwd.hh:63
Definition: differentiable-function-set.hh:33
pinocchio::Device Device
Definition: fwd.hh:96
pinocchio::ComJacobian_t ComJacobian_t
Definition: fwd.hh:50
Eigen::BlockIndex BlockIndex
Definition: fwd.hh:160
Definition: implicit-function.hh:37
shared_ptr< ConvexShapeContactComplement > ConvexShapeContactComplementPtr_t
Definition: fwd.hh:122
GenericTransformation< OrientationBit|OutputR3xSO3Bit > OrientationSO3
Definition: fwd.hh:149
pinocchio::LiegroupSpace LiegroupSpace
Definition: fwd.hh:56
pinocchio::Configuration_t Configuration_t
Definition: fwd.hh:93
shared_ptr< RelativeOrientation > RelativeOrientationPtr_t
Definition: fwd.hh:156
Eigen::Matrix< value_type, 3, 1 > vector3_t
Definition: fwd.hh:61
pinocchio::ConfigurationIn_t ConfigurationIn_t
Definition: fwd.hh:94
std::vector< ComparisonType > ComparisonTypes_t
Definition: fwd.hh:176
shared_ptr< Explicit > ExplicitPtr_t
Definition: fwd.hh:179
Definition: convex-shape-contact.hh:275
pinocchio::JointPtr_t JointPtr_t
Definition: fwd.hh:38
pinocchio::CollisionObjectConstPtr_t CollisionObjectConstPtr_t
Definition: fwd.hh:92
shared_ptr< DistanceBetweenBodies > DistanceBetweenBodiesPtr_t
Definition: fwd.hh:109
pinocchio::JointConstPtr_t JointConstPtr_t
Definition: fwd.hh:39
Definition: fwd.hh:171
pinocchio::ObjectVector_t ObjectVector_t
Definition: fwd.hh:90
shared_ptr< ConstantFunction > ConstantFunctionPtr_t
Definition: fwd.hh:131
shared_ptr< Position > PositionPtr_t
Definition: fwd.hh:152
shared_ptr< const Implicit > ImplicitConstPtr_t
Definition: fwd.hh:164
Definition: convex-shape-contact.hh:77
shared_ptr< ConvexShapeContactHold > ConvexShapeContactHoldPtr_t
Definition: fwd.hh:124
shared_ptr< Identity > IdentityPtr_t
Definition: fwd.hh:129
std::vector< LockedJointPtr_t > LockedJoints_t
Definition: fwd.hh:204
GenericTransformation< RelativeBit|OrientationBit > RelativeOrientation
Definition: fwd.hh:146
Definition: affine-function.hh:133
pinocchio::LiegroupSpaceConstPtr_t LiegroupSpaceConstPtr_t
Definition: fwd.hh:58
Definition: relative-com.hh:56
shared_ptr< DistanceBetweenPointsInBodies > DistanceBetweenPointsInBodiesPtr_t
Definition: fwd.hh:111
shared_ptr< DifferentiableFunction > DifferentiableFunctionPtr_t
Definition: fwd.hh:101
Eigen::Matrix< value_type, 8, 1 > vector8_t
Definition: fwd.hh:43
Eigen::Matrix< value_type, 6, 1 > vector6_t
Definition: fwd.hh:64
std::vector< vector3_t > Shape_t
Definition: fwd.hh:116
Definition: by-substitution.hh:62
Eigen::Matrix< value_type, 7, 1 > vector7_t
Definition: fwd.hh:65
std::pair< JointPtr_t, Shape_t > JointAndShape_t
Definition: fwd.hh:117
shared_ptr< Transformation > TransformationPtr_t
Definition: fwd.hh:154
shared_ptr< RelativeCom > RelativeComPtr_t
Definition: fwd.hh:112
shared_ptr< DifferentiableFunctionSet > DifferentiableFunctionSetPtr_t
Definition: fwd.hh:103
shared_ptr< RelativeTransformation > RelativeTransformationPtr_t
Definition: fwd.hh:194
pinocchio::vectorOut_t vectorOut_t
Definition: fwd.hh:49
pinocchio::LiegroupElementRef LiegroupElementRef
Definition: fwd.hh:54
shared_ptr< ImplicitConstraintSet > ImplicitConstraintSetPtr_t
Definition: fwd.hh:168
pinocchio::size_type size_type
Definition: fwd.hh:36
Eigen::Quaternion< value_type > Quaternion_t
Definition: fwd.hh:66
Eigen::Ref< matrix_t > matrixOut_t
Definition: fwd.hh:46
HPP_PREDEF_CLASS(OfParameterSubset)
shared_ptr< AffineFunction > AffineFunctionPtr_t
Definition: fwd.hh:130
std::vector< ConvexShape > ConvexShapes_t
Definition: fwd.hh:80
Definition: convex-shape.hh:64
GenericTransformation< PositionBit > Position
Definition: fwd.hh:142
shared_ptr< const LockedJoint > LockedJointConstPtr_t
Definition: fwd.hh:203
shared_ptr< Implicit > ImplicitPtr_t
Definition: fwd.hh:163
pinocchio::value_type value_type
Definition: fwd.hh:37
Definition: implicit.hh:114
GenericTransformation< RelativeBit|PositionBit|OrientationBit|OutputR3xSO3Bit > RelativeTransformationR3xSO3
Definition: fwd.hh:148
Definition: hierarchical-iterative.hh:218
std::list< JointAndShape_t > JointAndShapes_t
Definition: fwd.hh:118
shared_ptr< RelativePosition > RelativePositionPtr_t
Definition: fwd.hh:155
Eigen::Matrix< value_type, 6, 6 > matrix6_t
Definition: fwd.hh:42
shared_ptr< Orientation > OrientationPtr_t
Definition: fwd.hh:153
GenericTransformation< RelativeBit|OrientationBit|OutputR3xSO3Bit > RelativeOrientationSO3
Definition: fwd.hh:150
shared_ptr< ImplicitFunction > ImplicitFunctionPtr_t
Definition: fwd.hh:196
std::vector< constraints::ImplicitPtr_t > NumericalConstraints_t
Definition: fwd.hh:165
Definition: explicit-constraint-set.hh:91
Definition: affine-function.hh:35
pinocchio::CenterOfMassComputationPtr_t CenterOfMassComputationPtr_t
Definition: fwd.hh:99
Definition: convex-shape-contact.hh:26
pinocchio::Transform3f Transform3f
Definition: fwd.hh:52
shared_ptr< LockedJoint > LockedJointPtr_t
Definition: fwd.hh:202