29 #ifndef HPP_CONSTRAINTS_CONVEX_SHAPE_CONTACT_HH
30 #define HPP_CONSTRAINTS_CONVEX_SHAPE_CONTACT_HH
41 namespace constraints {
100 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
138 return floorConvexShapes_;
142 return objectConvexShapes_;
157 std::ostream&
print(std::ostream& o)
const;
169 if ((floorConvexShapes_.size() == 0) || (objectConvexShapes_.size() == 0)) {
170 return std::pair<JointConstPtr_t, JointConstPtr_t>(
nullptr,
nullptr);
175 size_type index1 = Joint::index(floor0_joint);
176 size_type index2 = Joint::index(object0_joint);
178 for (ConvexShapes_t::const_iterator it(floorConvexShapes_.begin());
179 it != floorConvexShapes_.end(); ++it) {
180 size_type jointIndex = Joint::index(it->joint_);
181 if (jointIndex != index1) {
182 return std::pair<JointConstPtr_t, JointConstPtr_t>(
nullptr,
nullptr);
186 for (ConvexShapes_t::const_iterator it(objectConvexShapes_.begin());
187 it != objectConvexShapes_.end(); ++it) {
188 size_type jointIndex = Joint::index(it->joint_);
189 if (jointIndex != index2) {
190 return std::pair<JointConstPtr_t, JointConstPtr_t>(
nullptr,
nullptr);
194 if (index1 <= index2) {
195 return std::pair<JointConstPtr_t, JointConstPtr_t>(floor0_joint,
198 return std::pair<JointConstPtr_t, JointConstPtr_t>(object0_joint,
224 void computeRadius();
230 std::size_t& iobject, std::size_t& ifloor)
const;
241 bool selectConvexShapes(
const pinocchio::DeviceData& data,
242 std::size_t& iobject, std::size_t& ifloor)
const;
247 mutable GenericTransformationModel<true> relativeTransformationModel_;
289 static std::pair<ConvexShapeContactPtr_t, ConvexShapeContactComplementPtr_t>
314 return sibling_->dependsOnRelPoseBetween(
nullptr);
374 return constraint_->dependsOnRelPoseBetween(
nullptr);
Definition: convex-shape.hh:73
Definition: differentiable-function.hh:63
#define HPP_CONSTRAINTS_DLLAPI
Definition: config.hh:88
std::vector< JointAndShape_t > JointAndShapes_t
Definition: fwd.hh:126
pinocchio::vector3_t vector3_t
Definition: fwd.hh:52
Eigen::Matrix< value_type, 6, 1 > vector6_t
Definition: fwd.hh:76
pinocchio::DevicePtr_t DevicePtr_t
Definition: fwd.hh:109
pinocchio::DeviceConstPtr_t DeviceConstPtr_t
Definition: fwd.hh:110
pinocchio::size_type size_type
Definition: fwd.hh:47
shared_ptr< ConvexShapeContact > ConvexShapeContactPtr_t
Definition: fwd.hh:127
pinocchio::value_type value_type
Definition: fwd.hh:48
shared_ptr< ConvexShapeContactComplement > ConvexShapeContactComplementPtr_t
Definition: fwd.hh:129
shared_ptr< ConvexShapeContactHold > ConvexShapeContactHoldPtr_t
Definition: fwd.hh:130
pinocchio::vectorIn_t vectorIn_t
Definition: fwd.hh:60
pinocchio::ConfigurationIn_t ConfigurationIn_t
Definition: fwd.hh:106
pinocchio::matrix_t matrix_t
Definition: fwd.hh:56
Eigen::Ref< matrix_t > matrixOut_t
Definition: fwd.hh:58
pinocchio::LiegroupElementConstRef LiegroupElementConstRef
Definition: fwd.hh:67
pinocchio::LiegroupElementRef LiegroupElementRef
Definition: fwd.hh:66
std::vector< ConvexShape > ConvexShapes_t
Definition: fwd.hh:92
pinocchio::JointPtr_t JointPtr_t
Definition: fwd.hh:49
pinocchio::JointConstPtr_t JointConstPtr_t
Definition: fwd.hh:50
Definition: active-set-differentiable-function.hh:36