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_STATE_H_ 00022 #define FOOTSTEP_PLANNER_STATE_H_ 00023 00024 #include <footstep_planner/helper.h> 00025 00026 00027 namespace footstep_planner 00028 { 00034 class State 00035 { 00036 public: 00037 State(); 00038 State(double x, double y, double theta, Leg leg); 00039 ~State(); 00040 00041 void setX(double x) { ivX = x; } 00042 void setY(double y) { ivY = y; } 00043 void setTheta(double theta) { ivTheta = theta; } 00044 void setLeg(Leg leg) { ivLeg = leg; } 00045 00046 double getX() const { return ivX; } 00047 double getY() const { return ivY; }; 00048 double getTheta() const { return ivTheta; } 00049 Leg getLeg() const { return ivLeg; } 00050 00055 bool operator ==(const State& s2) const; 00056 00061 bool operator !=(const State& s2) const; 00062 00063 private: 00065 double ivX; 00067 double ivY; 00069 double ivTheta; 00071 Leg ivLeg; 00072 }; 00073 } 00074 #endif /* FOOTSTEP_PLANNER_STATE_H_ */