hpp-rbprm  4.13.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/rbprm/config.hh>
23 #include <hpp/util/pointer.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 shared_ptr<RbPrmPathValidation> RbPrmPathValidationPtr_t;
32 
34  : public core::pathValidation::Discretized {
35  public:
37  static RbPrmPathValidationPtr_t create(const core::DevicePtr_t& robot,
38  const core::value_type& stepSize);
39 
41  virtual bool validate(const core::PathPtr_t& path, bool reverse,
42  core::PathPtr_t& validPart,
43  core::PathValidationReportPtr_t& report,
44  const std::vector<std::string>& filter);
45 
46  virtual bool validate(const core::PathPtr_t& path, bool reverse,
47  core::PathPtr_t& validPart,
48  core::PathValidationReportPtr_t& report) {
49  return core::pathValidation::Discretized::validate(path, reverse, validPart,
50  report);
51  }
52 
54  virtual void add(const core::ConfigValidationPtr_t& configValidation);
55 
56  RbPrmValidationPtr_t getValidator() { return rbprmValidation_; }
57 
58  protected:
61  RbPrmPathValidation(const core::DevicePtr_t& robot,
62  const core::value_type& stepSize);
63 
65 
66 }; // class RbPrmPlanner
67 } // namespace rbprm
68 } // namespace hpp
69 #endif // HPP_RBPRM_PATH_VALIDATION_HH
#define HPP_RBPRM_DLLAPI
Definition: config.hh:64
RbPrmValidationPtr_t rbprmValidation_
Definition: rbprm-path-validation.hh:64
virtual bool validate(const core::PathPtr_t &path, bool reverse, core::PathPtr_t &validPart, core::PathValidationReportPtr_t &report)
Definition: rbprm-path-validation.hh:46
Definition: algorithm.hh:26
shared_ptr< RbPrmValidation > RbPrmValidationPtr_t
Definition: rbprm-validation.hh:34
RbPrmValidationPtr_t getValidator()
Definition: rbprm-path-validation.hh:56
HPP_PREDEF_CLASS(RbPrmFullBody)
shared_ptr< RbPrmPathValidation > RbPrmPathValidationPtr_t
Definition: rbprm-path-validation.hh:31
Definition: rbprm-path-validation.hh:33