Surface.h
Go to the documentation of this file.
00001 
00011 #ifndef RAIL_INTERACTIVE_WORLD_SURFACE_H_
00012 #define RAIL_INTERACTIVE_WORLD_SURFACE_H_
00013 
00014 #include <interactive_world_tools/PlacementSurface.h>
00015 #include <interactive_world_tools/PointOfInterest.h>
00016 #include <string>
00017 #include <vector>
00018 
00019 namespace rail
00020 {
00021 namespace interactive_world
00022 {
00023 
00030 class Surface
00031 {
00032 public:
00043   Surface(const std::string &name = "", const std::string &frame_id = "", const double width = 0,
00044       const double height = 0);
00045 
00053   const std::string &getName() const;
00054 
00062   void setName(const std::string &name);
00063 
00071   const std::string &getFrameID() const;
00072 
00080   void setFrameID(const std::string &frame_id);
00081 
00089   double getWidth() const;
00090 
00098   void setWidth(const double width);
00099 
00107   double getHeight() const;
00108 
00116   void setHeight(const double height);
00117 
00125   const std::vector<PlacementSurface> &getPlacementSurfaces() const;
00126 
00134   size_t getNumPlacementSurfaces() const;
00135 
00145   const PlacementSurface &getPlacementSurface(const size_t index) const;
00146 
00154   void addPlacementSurface(const PlacementSurface &placement_surface);
00155 
00164   void removePlacementSurface(const size_t index);
00165 
00173   const std::vector<std::string> &getAliases() const;
00174 
00182   size_t getNumAliases() const;
00183 
00193   const std::string &getAlias(const size_t index) const;
00194 
00202   void addAlias(const std::string &alias);
00203 
00212   void removeAlias(const size_t index);
00213 
00221   const std::vector<PointOfInterest> &getPointsOfInterest() const;
00222 
00230   size_t getNumPointsOfInterest() const;
00231 
00241   const PointOfInterest &getPointOfInterest(const size_t index) const;
00242 
00250   void addPointOfInterest(const PointOfInterest &point_of_interest);
00251 
00260   void removePointOfInterest(const size_t index);
00261 
00262 private:
00264   std::string name_, frame_id_;
00266   double width_, height_;
00268   std::vector<std::string> aliases_;
00270   std::vector<PlacementSurface> placement_surfaces_;
00272   std::vector<PointOfInterest> pois_;
00273 };
00274 
00275 }
00276 }
00277 
00278 #endif


interactive_world_tools
Author(s): Russell Toris
autogenerated on Thu Jun 6 2019 21:34:15