30 #ifndef HPP_CORE_CONTINUOUS_VALIDATION_BODY_PAIR_COLLISION_HH
31 #define HPP_CORE_CONTINUOUS_VALIDATION_BODY_PAIR_COLLISION_HH
33 #include <coal/collision_data.h>
35 #include <boost/icl/continuous_interval.hpp>
36 #include <boost/icl/interval_set.hpp>
43 namespace continuousValidation {
77 const pinocchio::DeviceData& data);
105 virtual std::string
name()
const = 0;
106 virtual std::ostream&
print(std::ostream& os)
const = 0;
115 for (
auto& request : m_->requests) request.security_margin =
securityMargin;
129 maximalVelocity_(other.maximalVelocity_) {}
132 coal::CollisionResult result,
145 shared_ptr<Model> m_;
156 virtual void setupPath();
171 virtual bool computeDistanceLowerBound(
value_type& distanceLowerBound,
173 const pinocchio::DeviceData& data);
179 return pair.
print(os);
Definition: body-pair-collision.hh:62
virtual void setReport(ValidationReportPtr_t &report, coal::CollisionResult result, CollisionPair_t _pair) const
Definition: body-pair-collision.hh:131
bool validateConfiguration(const value_type &t, interval_t &interval, ValidationReportPtr_t &report, const pinocchio::DeviceData &data)
virtual void addCollisionPair(const CollisionObjectConstPtr_t &, const CollisionObjectConstPtr_t &)
Definition: body-pair-collision.hh:102
virtual bool removeObjectTo_b(const CollisionObjectConstPtr_t &)
Definition: body-pair-collision.hh:99
const CollisionRequests_t & requests() const
Definition: body-pair-collision.hh:86
value_type securityMargin() const
Get security margin of the first pair of object.
Definition: body-pair-collision.hh:112
CollisionPairs_t & pairs()
Definition: body-pair-collision.hh:83
CollisionRequests_t & requests()
Definition: body-pair-collision.hh:89
virtual std::string name() const =0
BodyPairCollision(value_type tolerance)
Definition: body-pair-collision.hh:122
virtual size_type indexJointA() const
Returns joint A index or -1 if no such joint exists.
Definition: body-pair-collision.hh:95
void securityMargin(const value_type &securityMargin)
Set security margin.
Definition: body-pair-collision.hh:114
BodyPairCollision(const BodyPairCollision &other)
Copy constructor.
Definition: body-pair-collision.hh:126
const CollisionPairs_t & pairs() const
Definition: body-pair-collision.hh:80
virtual std::ostream & print(std::ostream &os) const =0
virtual size_type indexJointB() const
Returns joint B index or -1 if no such joint exists.
Definition: body-pair-collision.hh:97
value_type maximalVelocity() const
Definition: body-pair-collision.hh:92
Definition: interval-validation.hh:67
value_type tolerance() const
Definition: interval-validation.hh:95
std::ostream & operator<<(std::ostream &os, const BodyPairCollision &pair)
Definition: body-pair-collision.hh:177
std::vector< CollisionPair_t > CollisionPairs_t
Definition: fwd.hh:239
pinocchio::value_type value_type
Definition: fwd.hh:174
std::vector< coal::CollisionRequest > CollisionRequests_t
Definition: collision-pair.hh:43
pinocchio::vector_t vector_t
Definition: fwd.hh:220
std::pair< value_type, value_type > interval_t
Definition: fwd.hh:175
pinocchio::size_type size_type
Definition: fwd.hh:173
shared_ptr< ValidationReport > ValidationReportPtr_t
Definition: fwd.hh:225
shared_ptr< CollisionValidationReport > CollisionValidationReportPtr_t
Definition: fwd.hh:96
pinocchio::CollisionObjectConstPtr_t CollisionObjectConstPtr_t
Definition: fwd.hh:100
Definition: bi-rrt-planner.hh:35
Definition: collision-pair.hh:45
Definition: collision-validation-report.hh:47