Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef FOOTSTEP_PLANNER_PLANNINGSTATE_H_
00025 #define FOOTSTEP_PLANNER_PLANNINGSTATE_H_
00026
00027 #include <footstep_planner/helper.h>
00028 #include <footstep_planner/State.h>
00029
00030
00031 namespace footstep_planner
00032 {
00048 class PlanningState
00049 {
00050 public:
00062 PlanningState(double x, double y, double theta, Leg leg,
00063 double cell_size, int num_angle_bins, int max_hash_size);
00064
00069 PlanningState(int x, int y, int theta, Leg leg, int max_hash_size);
00070
00072 PlanningState(const State& s, double cell_size, int num_angle_bins,
00073 int max_hash_size);
00074
00076 PlanningState(const PlanningState& s);
00077
00078 ~PlanningState();
00079
00084 bool operator ==(const PlanningState& s2) const;
00085
00090 bool operator !=(const PlanningState& s2) const;
00091
00097 void setId(unsigned int id) { ivId = id; };
00098
00099 Leg getLeg() const { return ivLeg; };
00100 int getTheta() const { return ivTheta; };
00101 int getX() const { return ivX; };
00102 int getY() const { return ivY; };
00103
00108 unsigned int getHashTag() const { return ivHashTag; };
00109
00114 int getId() const { return ivId; };
00115
00117 State getState(double cell_size, int num_angle_bins) const;
00118
00119 private:
00121 int ivX;
00123 int ivY;
00125 int ivTheta;
00127 Leg ivLeg;
00128
00130 int ivId;
00131
00136 unsigned int ivHashTag;
00137 };
00138 }
00139 #endif // FOOTSTEP_PLANNER_PLANNINGSTATE_H_