Object.h
Go to the documentation of this file.
00001 
00013 #ifndef SPATIAL_TEMPORAL_LEARNING_WORLDLIB_WORLD_OBJECT_H_
00014 #define SPATIAL_TEMPORAL_LEARNING_WORLDLIB_WORLD_OBJECT_H_
00015 
00016 // worldlib
00017 #include "../geometry/Pose.h"
00018 
00019 // C++ Standard Library
00020 #include <string>
00021 #include <vector>
00022 
00023 namespace rail
00024 {
00025 namespace spatial_temporal_learning
00026 {
00027 namespace worldlib
00028 {
00029 namespace world
00030 {
00031 
00040 class Object
00041 {
00042 public:
00056   Object(const std::string &name = "", const std::string &frame_id = "", const geometry::Pose &pose = geometry::Pose(),
00057       const double width = 0, const double depth = 0, const double height = 0);
00058 
00066   const std::string &getName() const;
00067 
00075   void setName(const std::string &name);
00076 
00084   const std::string &getFrameID() const;
00085 
00093   void setFrameID(const std::string &frame_id);
00094 
00102   const geometry::Pose &getPose() const;
00103 
00111   geometry::Pose &getPose();
00112 
00120   void setPose(geometry::Pose &pose);
00121 
00129   double getWidth() const;
00130 
00138   void setWidth(const double width);
00139 
00147   double getDepth() const;
00148 
00156   void setDepth(const double depth);
00157 
00165   double getHeight() const;
00166 
00174   void setHeight(const double height);
00175 
00183   const std::vector<std::string> &getAliases() const;
00184 
00192   size_t getNumAliases() const;
00193 
00203   const std::string &getAlias(const size_t index) const;
00204 
00212   void addAlias(const std::string &alias);
00213 
00222   void removeAlias(const size_t index);
00223 
00232   bool checkName(const std::string &name) const;
00233 
00243   geometry::Position fromParentFrame(const geometry::Position &position) const;
00244 
00254   geometry::Pose fromParentFrame(const geometry::Pose &pose) const;
00255 
00256 private:
00258   std::string name_, frame_id_;
00260   geometry::Pose pose_;
00262   double width_, depth_, height_;
00264   std::vector<std::string> aliases_;
00265 };
00266 
00267 }
00268 }
00269 }
00270 }
00271 
00272 #endif


worldlib
Author(s): Russell Toris
autogenerated on Fri Feb 12 2016 00:24:18