hpp-rbprm 4.14.0
Implementation of RB-PRM planner using hpp.
Loading...
Searching...
No Matches
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
25namespace hpp {
26namespace rbprm {
27
28// forward declaration
30// Planner objects are manipulated only via shared pointers
31typedef 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
Definition: rbprm-path-validation.hh:34
virtual bool validate(const core::PathPtr_t &path, bool reverse, core::PathPtr_t &validPart, core::PathValidationReportPtr_t &report)
Definition: rbprm-path-validation.hh:46
RbPrmValidationPtr_t getValidator()
Definition: rbprm-path-validation.hh:56
RbPrmPathValidation(const core::DevicePtr_t &robot, const core::value_type &stepSize)
RbPrmValidationPtr_t rbprmValidation_
Definition: rbprm-path-validation.hh:64
virtual void add(const core::ConfigValidationPtr_t &configValidation)
Add a configuration validation object.
static RbPrmPathValidationPtr_t create(const core::DevicePtr_t &robot, const core::value_type &stepSize)
Create an instance and return a shared pointer to the instance.
virtual bool validate(const core::PathPtr_t &path, bool reverse, core::PathPtr_t &validPart, core::PathValidationReportPtr_t &report, const std::vector< std::string > &filter)
validate with custom filter for the rom validation
#define HPP_RBPRM_DLLAPI
Definition: config.hh:64
HPP_PREDEF_CLASS(RbPrmFullBody)
shared_ptr< RbPrmPathValidation > RbPrmPathValidationPtr_t
Definition: rbprm-path-validation.hh:31
shared_ptr< RbPrmValidation > RbPrmValidationPtr_t
Definition: rbprm-validation.hh:35
Definition: algorithm.hh:26