18 #ifndef HPP_MANIPULATION_GRAPHPATHVALIDATOR_HH 19 # define HPP_MANIPULATION_GRAPHPATHVALIDATOR_HH 21 # include <hpp/core/path-validation.hh> 22 # include <hpp/core/obstacle-user.hh> 29 namespace manipulation {
30 using hpp::core::PathValidation;
32 using hpp::core::Path;
33 using hpp::core::PathPtr_t;
34 using hpp::core::PathVector;
35 using hpp::core::PathVectorPtr_t;
47 public PathValidation,
48 public core::ObstacleUserInterface
62 virtual bool validate (
const PathPtr_t& path,
bool reverse,
69 pathValidation_ = pathValidation;
75 return pathValidation_;
81 constraintGraph_ = graph;
87 return constraintGraph_;
106 void addObstacle (
const hpp::core::CollisionObjectConstPtr_t&
object)
108 boost::shared_ptr<core::ObstacleUserInterface> oui =
109 HPP_DYNAMIC_PTR_CAST(core::ObstacleUserInterface, pathValidation_);
110 if (oui) oui->addObstacle (
object);
120 const pinocchio::CollisionObjectConstPtr_t& obstacle)
122 boost::shared_ptr<core::ObstacleUserInterface> oui =
123 HPP_DYNAMIC_PTR_CAST(core::ObstacleUserInterface, pathValidation_);
124 if (oui) oui->removeObstacleFromJoint (joint, obstacle);
135 boost::shared_ptr<core::ObstacleUserInterface> oui =
136 HPP_DYNAMIC_PTR_CAST(core::ObstacleUserInterface, pathValidation_);
137 if (oui) oui->filterCollisionPairs (relMotion);
148 boost::shared_ptr<core::ObstacleUserInterface> oui =
149 HPP_DYNAMIC_PTR_CAST(core::ObstacleUserInterface, pathValidation_);
150 if (oui) oui->setSecurityMargins(securityMargins);
159 bool impl_validate (
const PathVectorPtr_t& path,
bool reverse,
162 bool impl_validate (
const PathPtr_t& path,
bool reverse,
170 template <
typename T>
180 #endif // HPP_MANIPULATION_GRAPHPATHVALIDATOR_HH Definition: graph-path-validation.hh:46
static GraphPathValidationPtr_t create(const PathValidationPtr_t &pathValidation)
core::PathValidationReportPtr_t PathValidationReportPtr_t
Definition: fwd.hh:119
void constraintGraph(const graph::GraphPtr_t &graph)
Set the graph of constraints.
Definition: graph-path-validation.hh:79
pinocchio::JointPtr_t JointPtr_t
Definition: fwd.hh:32
core::value_type value_type
Definition: fwd.hh:79
void addObstacle(const hpp::core::CollisionObjectConstPtr_t &object)
Definition: graph-path-validation.hh:106
#define HPP_MANIPULATION_DLLAPI
Definition: config.hh:64
graph::GraphPtr_t constraintGraph() const
Get the graph of constraints.
Definition: graph-path-validation.hh:85
boost::shared_ptr< GraphPathValidation > GraphPathValidationPtr_t
Definition: fwd.hh:88
void setSecurityMargins(const matrix_t &securityMargins)
Definition: graph-path-validation.hh:146
boost::shared_ptr< Device > DevicePtr_t
Definition: fwd.hh:29
void innerValidation(const PathValidationPtr_t &pathValidation)
Set the encapsulated path validator.
Definition: graph-path-validation.hh:67
core::matrix_t matrix_t
Definition: fwd.hh:120
core::PathValidationPtr_t PathValidationPtr_t
Definition: fwd.hh:118
void filterCollisionPairs(const core::RelativeMotion::matrix_type &relMotion)
Filter collision pairs.
Definition: graph-path-validation.hh:133
boost::shared_ptr< Graph > GraphPtr_t
Definition: fwd.hh:35
void removeObstacleFromJoint(const JointPtr_t &joint, const pinocchio::CollisionObjectConstPtr_t &obstacle)
Definition: graph-path-validation.hh:119
const PathValidationPtr_t & innerValidation()
Get the encapsulated path validator.
Definition: graph-path-validation.hh:73