libmove3d-planners
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros Groups Pages
HRICS_Cell.hpp
1 #ifndef HRICELL_H
2 #define HRICELL_H
3 
4 #include "API/Grids/ThreeDCell.hpp"
5 
6 #include "HRICS_Grid.hpp"
7 
8 #include "Graphic-pkg.h"
9 
14 namespace HRICS
15 {
16  class Cell : public API::ThreeDCell
17  {
18 
19  public:
20  Cell();
21  Cell(int i, Eigen::Vector3i pos , Eigen::Vector3d corner, HRICS::Grid* grid);
22 
23  ~Cell() { }
24 
25  double getCost();
26  // double getHRICostSpace();
27  void setBlankCost() { _CostIsComputed = false; this->resetExplorationStatus(); }
28 
29  Eigen::Vector3i getCoord() { return _Coord; }
30 
31  bool getOpen() { return _Open; }
32  void setOpen() { _Open = true; }
33 
34  bool getClosed() { return _Closed; }
35  void setClosed() { _Closed = true; }
36 
37  void resetExplorationStatus();
38 
39  GLint getDisplayList() { return m_list; }
40  void createDisplaylist();
41 
42  bool getIsCostComputed() { return _CostIsComputed; }
43 
44  void setGradient(const Eigen::Vector3d& grad) { m_GradientDirection = grad; }
45  Eigen::Vector3d getGradient() { return m_GradientDirection; }
46 
47  void draw();
48 
49  private:
50 
51  Eigen::Vector3i _Coord;
52 
53  double* _v0; double* _v1; double* _v2; double* _v3;
54  double* _v4; double* _v5; double* _v6; double* _v7;
55 
56  bool _Open;
57  bool _Closed;
58 
59  bool _CostIsComputed;
60  double _Cost;
61 
62  GLint m_list;
63 
64  Eigen::Vector3d m_GradientDirection;
65 
66  };
67  //Contenu du namespace
68 }
69 
70 
71 #endif // HRICELL_H
Definition: HRICS_Grid.hpp:16
Definition: HRICS_Cell.hpp:16
Definition: ThreeDCell.hpp:25