Surface.h
Go to the documentation of this file.
00001 
00011 #ifndef SPATIAL_TEMPORAL_LEARNING_WORLDLIB_WORLD_SURFACE_H_
00012 #define SPATIAL_TEMPORAL_LEARNING_WORLDLIB_WORLD_SURFACE_H_
00013 
00014 // worldlib
00015 #include "Object.h"
00016 #include "PlacementSurface.h"
00017 #include "PointOfInterest.h"
00018 
00019 namespace rail
00020 {
00021 namespace spatial_temporal_learning
00022 {
00023 namespace worldlib
00024 {
00025 namespace world
00026 {
00027 
00034 class Surface : public Object
00035 {
00036 public:
00050   Surface(const std::string &name = "", const std::string &frame_id = "", const geometry::Pose &pose = geometry::Pose(),
00051       const double width = 0, const double depth = 0, const double height = 0);
00052 
00060   const std::vector<PlacementSurface> &getPlacementSurfaces() const;
00061 
00069   std::vector<PlacementSurface> &getPlacementSurfaces();
00070 
00078   size_t getNumPlacementSurfaces() const;
00079 
00089   const PlacementSurface &getPlacementSurface(const size_t index) const;
00090 
00100   PlacementSurface &getPlacementSurface(const size_t index);
00101 
00109   void addPlacementSurface(const PlacementSurface &placement_surface);
00110 
00119   void removePlacementSurface(const size_t index);
00120 
00130   bool placementSurfaceExists(const std::string &name) const;
00131 
00141   const PlacementSurface &findPlacementSurface(const std::string &name) const;
00142 
00152   PlacementSurface &findPlacementSurface(const std::string &name);
00153 
00162   const PlacementSurface &findClosestPlacementSurface(const geometry::Position &position) const;
00163 
00172   PlacementSurface &findClosestPlacementSurface(const geometry::Position &position);
00173 
00184   size_t findClosestPlacementSurfaceIndex(const geometry::Position &position) const;
00185 
00193   const std::vector<PointOfInterest> &getPointsOfInterest() const;
00194 
00202   std::vector<PointOfInterest> &getPointsOfInterest();
00203 
00211   size_t getNumPointsOfInterest() const;
00212 
00222   const PointOfInterest &getPointOfInterest(const size_t index) const;
00223 
00233   PointOfInterest &getPointOfInterest(const size_t index);
00234 
00242   void addPointOfInterest(const PointOfInterest &poi);
00243 
00252   void removePointOfInterest(const size_t index);
00253 
00263   bool pointOfInterestExists(const std::string &name) const;
00264 
00274   const PointOfInterest &findPointOfInterest(const std::string &name) const;
00275 
00285   PointOfInterest &findPointOfInterest(const std::string &name);
00286 
00287 private:
00289   std::vector<PlacementSurface> placement_surfaces_;
00291   std::vector<PointOfInterest> pois_;
00292 };
00293 
00294 }
00295 }
00296 }
00297 }
00298 
00299 #endif


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