PlanningState.h
Go to the documentation of this file.
00001 /*
00002  * A footstep planner for humanoid robots
00003  *
00004  * Copyright 2010-2011 Johannes Garimort, Armin Hornung, University of Freiburg
00005  * http://www.ros.org/wiki/footstep_planner
00006  *
00007  *
00008  * This program is free software: you can redistribute it and/or modify
00009  * it under the terms of the GNU General Public License as published by
00010  * the Free Software Foundation, version 3.
00011  *
00012  * This program is distributed in the hope that it will be useful,
00013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015  * GNU General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU General Public License
00018  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
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_


footstep_planner
Author(s): Johannes Garimort, Armin Hornung
autogenerated on Wed Aug 26 2015 11:54:32