Room.h
Go to the documentation of this file.
00001 
00011 #ifndef SPATIAL_TEMPORAL_LEARNING_WORLDLIB_WORLD_ROOM_H_
00012 #define SPATIAL_TEMPORAL_LEARNING_WORLDLIB_WORLD_ROOM_H_
00013 
00014 // worldlib
00015 #include "Object.h"
00016 #include "Surface.h"
00017 #include "../geometry/Position.h"
00018 
00019 // C++ Standard Library
00020 #include <vector>
00021 
00022 namespace rail
00023 {
00024 namespace spatial_temporal_learning
00025 {
00026 namespace worldlib
00027 {
00028 namespace world
00029 {
00030 
00037 class Room : public Object
00038 {
00039 public:
00052   Room(const std::string &name = "", const std::string &frame_id = "", const geometry::Pose &pose = geometry::Pose(),
00053       const double width = 0, const double depth = 0, const double height = 0);
00054 
00062   const std::vector<Surface> &getSurfaces() const;
00063 
00071   std::vector<Surface> &getSurfaces();
00072 
00080   size_t getNumSurfaces() const;
00081 
00091   const Surface &getSurface(const size_t index) const;
00092 
00102   Surface &getSurface(const size_t index);
00103 
00111   void addSurface(const Surface &surface);
00112 
00121   void removeSurface(const size_t index);
00122 
00131   bool surfaceExists(const std::string &name) const;
00132 
00142   const Surface &findSurface(const std::string &name) const;
00143 
00153   Surface &findSurface(const std::string &name);
00154 
00164   const Surface &findClosestSurface(const geometry::Position &position) const;
00165 
00175   Surface &findClosestSurface(const geometry::Position &position);
00176 
00186   size_t findClosestSurfaceIndex(const geometry::Position &position) const;
00187 
00188 private:
00190   std::vector<Surface> surfaces_;
00191 };
00192 
00193 }
00194 }
00195 }
00196 }
00197 
00198 #endif


worldlib
Author(s): Russell Toris
autogenerated on Thu Jun 6 2019 20:55:36