趣味で作ってるロボット用ソフトウェア
 All Classes Files Functions Enumerations Enumerator Friends Pages
Avoid_path.h
Go to the documentation of this file.
1 #ifndef HRK_AVOID_PATH_H
2 #define HRK_AVOID_PATH_H
3 
9 #include <memory>
10 #include <vector>
11 #include "path_t.h"
12 
13 
14 namespace hrk
15 {
16  class PointF;
17  class CircleF;
18 
20  class Avoid_path
21  {
22  public:
23  enum {
24  Auto_id = -1,
25  };
26 
27  Avoid_path(void);
28  ~Avoid_path(void);
29 
31  void set_eps(double eps);
32 
34  void set_max_path_size(int max_path_size);
35 
45  long set_obstacle(const CircleF& circle, long obstacle_id = Auto_id);
46 
47  const CircleF* obstacle(long obstacle_id) const;
48 
50  void remove_obstacle(long obstacle_id);
51 
52  void clear_obstacles(void);
53 
55  std::vector<path_t> path(const PointF& start,
56  const PointF& goal, double margin);
57 
58  private:
59  Avoid_path(const Avoid_path& rhs);
60  Avoid_path& operator = (const Avoid_path& rhs);
61 
62  struct pImpl;
63  std::auto_ptr<pImpl> pimpl;
64  };
65 }
66 
67 #endif
障害物を回避する経路の生成
Definition: Avoid_path.h:20
位置
Definition: PointF.h:12
void remove_obstacle(long obstacle_id)
登録してある障害物を取り除く
Definition: Avoid_path.cpp:983
void set_eps(double eps)
計算誤差の許容範囲を設定する
Definition: Avoid_path.cpp:943
Definition: CircleF.h:14
std::vector< path_t > path(const PointF &start, const PointF &goal, double margin)
経路を生成する
Definition: Avoid_path.cpp:1000
void set_max_path_size(int max_path_size)
path_t を返す最大数を設定する
Definition: Avoid_path.cpp:949
経路
long set_obstacle(const CircleF &circle, long obstacle_id=Auto_id)
円状の障害物を登録する
Definition: Avoid_path.cpp:955