Go to the documentation of this file.00001
00011 #ifndef RAIL_INTERACTIVE_WORLD_ROOM_H_
00012 #define RAIL_INTERACTIVE_WORLD_ROOM_H_
00013
00014 #include <interactive_world_tools/Surface.h>
00015 #include <string>
00016
00017 namespace rail
00018 {
00019 namespace interactive_world
00020 {
00021
00028 class Room
00029 {
00030 public:
00039 Room(const std::string &name = "", const std::string &frame_id = "");
00040
00048 const std::string &getName() const;
00049
00057 void setName(const std::string &name);
00058
00066 const std::string &getFrameID() const;
00067
00075 void setFrameID(const std::string &frame_id);
00076
00084 const std::vector<Surface> &getSurfaces() const;
00085
00093 size_t getNumSurfaces() const;
00094
00104 const Surface &getSurface(const size_t index) const;
00105
00113 void addSurface(const Surface &surface);
00114
00123 void removeSurface(const size_t index);
00124
00133 const Surface &findSurface(const std::string &name) const;
00134
00135 private:
00137 std::string name_, frame_id_;
00139 std::vector<Surface> surfaces_;
00140 };
00141
00142 }
00143 }
00144
00145 #endif