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 #ifndef FOOTSTEP_PLANNER_PLANNINGSTATE_H_
00022 #define FOOTSTEP_PLANNER_PLANNINGSTATE_H_
00023
00024 #include <footstep_planner/helper.h>
00025 #include <footstep_planner/State.h>
00026
00027
00028 namespace footstep_planner
00029 {
00045 class PlanningState
00046 {
00047 public:
00059 PlanningState(double x, double y, double theta, Leg leg,
00060 double cell_size, int num_angle_bins, int max_hash_size);
00061
00066 PlanningState(int x, int y, int theta, Leg leg, int max_hash_size);
00067
00069 PlanningState(const State& s, double cell_size, int num_angle_bins,
00070 int max_hash_size);
00071
00073 PlanningState(const PlanningState& s);
00074
00075 ~PlanningState();
00076
00081 bool operator ==(const PlanningState& s2) const;
00082
00087 bool operator !=(const PlanningState& s2) const;
00088
00094 void setId(unsigned int id) { ivId = id; }
00095
00096 Leg getLeg() const { return ivLeg; }
00097 int getTheta() const { return ivTheta; }
00098 int getX() const { return ivX; }
00099 int getY() const { return ivY; }
00100
00105 unsigned int getHashTag() const { return ivHashTag; }
00106
00111 int getId() const { return ivId; }
00112
00114 State getState(double cell_size, int num_angle_bins) const;
00115
00116 private:
00118 int ivX;
00120 int ivY;
00122 int ivTheta;
00124 Leg ivLeg;
00125
00127 int ivId;
00128
00133 unsigned int ivHashTag;
00134 };
00135 }
00136 #endif // FOOTSTEP_PLANNER_PLANNINGSTATE_H_