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