hpp-constraints  4.10.1
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 boost::shared_ptr <DifferentiableFunction>
102  typedef boost::shared_ptr <DifferentiableFunctionSet>
104  typedef DifferentiableFunctionSet DifferentiableFunctionStack
106  typedef boost::shared_ptr <ActiveSetDifferentiableFunction>
108  typedef boost::shared_ptr <DistanceBetweenBodies>
110  typedef boost::shared_ptr <DistanceBetweenPointsInBodies>
112  typedef boost::shared_ptr<RelativeCom> RelativeComPtr_t;
113  typedef boost::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 boost::shared_ptr<ConvexShapeContact>
121  typedef boost::shared_ptr<ConvexShapeContactComplement>
123  typedef boost::shared_ptr<ConvexShapeContactHold>
125  typedef boost::shared_ptr<StaticStability> StaticStabilityPtr_t;
126  typedef boost::shared_ptr<QPStaticStability> QPStaticStabilityPtr_t;
127  typedef boost::shared_ptr<ConfigurationConstraint>
129  typedef boost::shared_ptr<Identity> IdentityPtr_t;
130  typedef boost::shared_ptr<AffineFunction> AffineFunctionPtr_t;
131  typedef boost::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 OutputSE3Bit = 0x8;
151 
152  typedef boost::shared_ptr<Position> PositionPtr_t;
153  typedef boost::shared_ptr<Orientation> OrientationPtr_t;
154  typedef boost::shared_ptr<Transformation> TransformationPtr_t;
155  typedef boost::shared_ptr<RelativePosition> RelativePositionPtr_t;
156  typedef boost::shared_ptr<RelativeOrientation> RelativeOrientationPtr_t;
157  typedef boost::shared_ptr<RelativeTransformation>
159 
161 
163  typedef boost::shared_ptr <Implicit> ImplicitPtr_t;
164  typedef boost::shared_ptr <const Implicit> ImplicitConstPtr_t;
165  typedef std::vector < constraints::ImplicitPtr_t > NumericalConstraints_t;
167  typedef boost::shared_ptr <ImplicitConstraintSet>
169 
175  };
176  typedef std::vector<ComparisonType> ComparisonTypes_t;
177 
179  typedef boost::shared_ptr <Explicit> ExplicitPtr_t;
180  typedef boost::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 boost::shared_ptr <RelativePose> RelativePosePtr_t;
192  HPP_PREDEF_CLASS (RelativeTransformation);
193  typedef boost::shared_ptr <RelativeTransformation>
196  typedef boost::shared_ptr <ImplicitFunction> ImplicitFunctionPtr_t;
198  typedef boost::shared_ptr<ConvexShapeContact> ConvexShapeContactPtr_t;
199  } // namespace explicit_
200 
202  typedef boost::shared_ptr <LockedJoint> LockedJointPtr_t;
203  typedef boost::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 boost::shared_ptr <OfParameterSubset> OfParameterSubsetPtr_t;
209  } // namespace function
210  } // namespace constraints
211 } // namespace hpp
212 
213 #endif // HPP_CONSTRAINTS_FWD_HH
GenericTransformation< PositionBit|OrientationBit|OutputSE3Bit > TransformationSE3
Definition: fwd.hh:147
boost::shared_ptr< RelativeOrientation > RelativeOrientationPtr_t
Definition: fwd.hh:156
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
boost::shared_ptr< ConvexShapeContactHold > ConvexShapeContactHoldPtr_t
Definition: fwd.hh:124
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
pinocchio::CenterOfMassComputation CenterOfMassComputation
Definition: fwd.hh:98
Definition: convex-shape-contact.hh:221
pinocchio::JointJacobian_t JointJacobian_t
Definition: fwd.hh:51
Definition: distance-between-points-in-bodies.hh:36
Definition: matrix-view.hh:37
boost::shared_ptr< Position > PositionPtr_t
Definition: fwd.hh:152
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
boost::shared_ptr< ComBetweenFeet > ComBetweenFeetPtr_t
Definition: fwd.hh:113
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
boost::shared_ptr< ConvexShapeContactComplement > ConvexShapeContactComplementPtr_t
Definition: fwd.hh:122
pinocchio::DevicePtr_t DevicePtr_t
Definition: fwd.hh:97
Definition: com-between-feet.hh:57
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:33
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
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
pinocchio::ArrayXb ArrayXb
Definition: fwd.hh:68
Eigen::Matrix< value_type, 5, 1 > vector5_t
Definition: fwd.hh:63
boost::shared_ptr< ActiveSetDifferentiableFunction > ActiveSetDifferentiableFunctionPtr_t
Definition: fwd.hh:107
Definition: differentiable-function-set.hh:33
pinocchio::Device Device
Definition: fwd.hh:96
boost::shared_ptr< ImplicitFunction > ImplicitFunctionPtr_t
Definition: fwd.hh:196
pinocchio::ComJacobian_t ComJacobian_t
Definition: fwd.hh:50
Eigen::BlockIndex BlockIndex
Definition: fwd.hh:160
GenericTransformation< OrientationBit|OutputSE3Bit > OrientationSO3
Definition: fwd.hh:149
Definition: implicit-function.hh:37
boost::shared_ptr< const Explicit > ExplicitConstPtr_t
Definition: fwd.hh:180
pinocchio::LiegroupSpace LiegroupSpace
Definition: fwd.hh:56
boost::shared_ptr< ConfigurationConstraint > ConfigurationConstraintPtr_t
Definition: fwd.hh:128
pinocchio::Configuration_t Configuration_t
Definition: fwd.hh:93
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
Definition: convex-shape-contact.hh:275
boost::shared_ptr< ImplicitConstraintSet > ImplicitConstraintSetPtr_t
Definition: fwd.hh:168
pinocchio::JointPtr_t JointPtr_t
Definition: fwd.hh:38
pinocchio::CollisionObjectConstPtr_t CollisionObjectConstPtr_t
Definition: fwd.hh:92
pinocchio::JointConstPtr_t JointConstPtr_t
Definition: fwd.hh:39
Definition: fwd.hh:171
boost::shared_ptr< Explicit > ExplicitPtr_t
Definition: fwd.hh:179
boost::shared_ptr< ConstantFunction > ConstantFunctionPtr_t
Definition: fwd.hh:131
pinocchio::ObjectVector_t ObjectVector_t
Definition: fwd.hh:90
boost::shared_ptr< DifferentiableFunction > DifferentiableFunctionPtr_t
Definition: fwd.hh:101
Definition: convex-shape-contact.hh:77
boost::shared_ptr< Transformation > TransformationPtr_t
Definition: fwd.hh:154
std::vector< LockedJointPtr_t > LockedJoints_t
Definition: fwd.hh:204
GenericTransformation< RelativeBit|OrientationBit > RelativeOrientation
Definition: fwd.hh:146
boost::shared_ptr< RelativeTransformation > RelativeTransformationPtr_t
Definition: fwd.hh:194
boost::shared_ptr< DistanceBetweenPointsInBodies > DistanceBetweenPointsInBodiesPtr_t
Definition: fwd.hh:111
Definition: affine-function.hh:133
pinocchio::LiegroupSpaceConstPtr_t LiegroupSpaceConstPtr_t
Definition: fwd.hh:58
Definition: relative-com.hh:57
boost::shared_ptr< const Implicit > ImplicitConstPtr_t
Definition: fwd.hh:164
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
boost::shared_ptr< QPStaticStability > QPStaticStabilityPtr_t
Definition: fwd.hh:126
GenericTransformation< RelativeBit|OrientationBit|OutputSE3Bit > RelativeOrientationSO3
Definition: fwd.hh:150
pinocchio::vectorOut_t vectorOut_t
Definition: fwd.hh:49
pinocchio::LiegroupElementRef LiegroupElementRef
Definition: fwd.hh:54
boost::shared_ptr< StaticStability > StaticStabilityPtr_t
Definition: fwd.hh:125
GenericTransformation< RelativeBit|PositionBit|OrientationBit|OutputSE3Bit > RelativeTransformationSE3
Definition: fwd.hh:148
pinocchio::size_type size_type
Definition: fwd.hh:36
boost::shared_ptr< AffineFunction > AffineFunctionPtr_t
Definition: fwd.hh:130
Eigen::Quaternion< value_type > Quaternion_t
Definition: fwd.hh:66
Eigen::Ref< matrix_t > matrixOut_t
Definition: fwd.hh:46
boost::shared_ptr< RelativeCom > RelativeComPtr_t
Definition: fwd.hh:112
HPP_PREDEF_CLASS(OfParameterSubset)
boost::shared_ptr< LockedJoint > LockedJointPtr_t
Definition: fwd.hh:202
boost::shared_ptr< OfParameterSubset > OfParameterSubsetPtr_t
Definition: fwd.hh:208
boost::shared_ptr< RelativePosition > RelativePositionPtr_t
Definition: fwd.hh:155
std::vector< ConvexShape > ConvexShapes_t
Definition: fwd.hh:80
Definition: convex-shape.hh:64
GenericTransformation< PositionBit > Position
Definition: fwd.hh:142
boost::shared_ptr< Identity > IdentityPtr_t
Definition: fwd.hh:129
pinocchio::value_type value_type
Definition: fwd.hh:37
Definition: implicit.hh:99
boost::shared_ptr< ConvexShapeContact > ConvexShapeContactPtr_t
Definition: fwd.hh:198
boost::shared_ptr< DistanceBetweenBodies > DistanceBetweenBodiesPtr_t
Definition: fwd.hh:109
boost::shared_ptr< Implicit > ImplicitPtr_t
Definition: fwd.hh:163
Definition: hierarchical-iterative.hh:218
std::list< JointAndShape_t > JointAndShapes_t
Definition: fwd.hh:118
Eigen::Matrix< value_type, 6, 6 > matrix6_t
Definition: fwd.hh:42
boost::shared_ptr< const LockedJoint > LockedJointConstPtr_t
Definition: fwd.hh:203
boost::shared_ptr< DifferentiableFunctionSet > DifferentiableFunctionSetPtr_t
Definition: fwd.hh:103
std::vector< constraints::ImplicitPtr_t > NumericalConstraints_t
Definition: fwd.hh:165
Definition: explicit-constraint-set.hh:93
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
boost::shared_ptr< RelativePose > RelativePosePtr_t
Definition: fwd.hh:191
boost::shared_ptr< Orientation > OrientationPtr_t
Definition: fwd.hh:153