hpp-rbprm  4.10.0
Implementation of RB-PRM planner using hpp.
dynamic-path-validation.hh
Go to the documentation of this file.
1 //
2 // Copyright (c) 2017 CNRS
3 // Authors: Fernbach Pierre
4 //
5 // This file is part of hpp-rbprm
6 // hpp-core is free software: you can redistribute it
7 // and/or modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation, either version
9 // 3 of the License, or (at your option) any later version.
10 //
11 // hpp-core is distributed in the hope that it will be
12 // useful, but WITHOUT ANY WARRANTY; without even the implied warranty
13 // of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // General Lesser Public License for more details. You should have
15 // received a copy of the GNU Lesser General Public License along with
16 // hpp-core If not, see
17 // <http://www.gnu.org/licenses/>.
18 
19 
20 #ifndef HPP_RBPRM_DYNAMIC_PATH_VALIDATION_HH
21 #define HPP_RBPRM_DYNAMIC_PATH_VALIDATION_HH
24 namespace hpp {
25  namespace rbprm {
26 
27  // forward declaration
28  HPP_PREDEF_CLASS (DynamicPathValidation);
29  // Planner objects are manipulated only via shared pointers
30  typedef boost::shared_ptr <DynamicPathValidation> DynamicPathValidationPtr_t;
31 
32 
34  {
35  public:
37  static DynamicPathValidationPtr_t create (const core::DevicePtr_t& robot, const core::value_type& stepSize);
38 
40  virtual bool validate (const core::PathPtr_t& path, bool reverse, core::PathPtr_t& validPart, core::PathValidationReportPtr_t& report,const std::vector<std::string>& filter);
41 
42  virtual bool validate (const core::PathPtr_t& path, bool reverse, core::PathPtr_t& validPart, core::PathValidationReportPtr_t& report);
43 
44  void addDynamicValidator(const DynamicValidationPtr_t& dynamicValidation){
45  core::pathValidation::Discretized::add (dynamicValidation);
46  dynamicValidation_=dynamicValidation;
47  }
48 
49  protected:
52  DynamicPathValidation (const core::DevicePtr_t& robot, const core::value_type& stepSize);
53 
54 
55  private:
56 
57  DynamicValidationPtr_t dynamicValidation_;
58  }; // class RbPrmPlanner
59  } // namespace rbprm
60 } // namespace hpp
61 
62 #endif // HPP_RBPRM_DYNAMIC_PATH_VALIDATION_HH
dynamic-validation.hh
rbprm-path-validation.hh
hpp::rbprm::HPP_PREDEF_CLASS
HPP_PREDEF_CLASS(RbPrmFullBody)
hpp::rbprm::DynamicPathValidationPtr_t
boost::shared_ptr< DynamicPathValidation > DynamicPathValidationPtr_t
Definition: dynamic-path-validation.hh:30
hpp::rbprm::DynamicValidationPtr_t
boost::shared_ptr< DynamicValidation > DynamicValidationPtr_t
Definition: dynamic-validation.hh:54
hpp::rbprm::DynamicPathValidation
Definition: dynamic-path-validation.hh:33
hpp
Definition: algorithm.hh:27
hpp::rbprm::DynamicPathValidation::addDynamicValidator
void addDynamicValidator(const DynamicValidationPtr_t &dynamicValidation)
Definition: dynamic-path-validation.hh:44
hpp::rbprm::RbPrmPathValidation
Definition: rbprm-path-validation.hh:34
HPP_RBPRM_DLLAPI
#define HPP_RBPRM_DLLAPI
Definition: config.hh:64