HLR  0.0.1
Planner.hpp
1 #ifndef KINEMATICS_PLANNER_HPP
2 #define KINEMATICS_PLANNER_HPP
3 
4 #include <optional>
5 #include <vector>
6 #include <Kinematics/Matrix.hpp>
7 
8 namespace HLR
9 {
10 namespace Kinematics
11 {
12 namespace Planners
13 {
17 class Planner
18 {
19 public:
23  Planner() = default;
24 
28  virtual ~Planner() = default;
29 
34  Planner(const Planner& p) = delete;
35 
40  Planner(Planner&& p) = delete;
41 
47  Planner& operator=(const Planner& p) = delete;
48 
54  Planner& operator=(Planner&& p) = delete;
55 
64  virtual const std::optional<std::vector<Matrix<double, 5, 1>>> get_path(
65  const Matrix<double, 5, 1>& current_state,
66  const Matrix<double, 3, 1>& target_pos) const = 0;
67 };
68 }
69 }
70 }
71 
72 #endif
virtual ~Planner()=default
Pure virtual destructor.
Planner & operator=(const Planner &p)=delete
Copy assignment operator, deleted.
virtual const std::optional< std::vector< Matrix< double, 5, 1 > > > get_path(const Matrix< double, 5, 1 > &current_state, const Matrix< double, 3, 1 > &target_pos) const =0
Calculate a path between a start position and the target position.
Planner()=default
Constructor.
Abstract class that forces.
Definition: Planner.hpp:17
Create a matrix with numerical values.
Definition: Matrix.hpp:22