TaskModel.h
Go to the documentation of this file.
00001 
00011 #ifndef SPATIAL_TEMPORAL_LEARNING_WORLDLIB_MODEL_TASK_MODEL_H_
00012 #define SPATIAL_TEMPORAL_LEARNING_WORLDLIB_MODEL_TASK_MODEL_H_
00013 
00014 // worldlib
00015 #include "PlacementModel.h"
00016 
00017 // C++ Standard Library
00018 #include <stdint.h>
00019 #include <string>
00020 #include <vector>
00021 
00022 namespace rail
00023 {
00024 namespace spatial_temporal_learning
00025 {
00026 namespace worldlib
00027 {
00028 namespace model
00029 {
00030 
00037 class TaskModel
00038 {
00039 public:
00048   TaskModel(const uint32_t task_id = 0, const std::string &name = "");
00049 
00057   uint32_t getTaskID();
00058 
00066   void setTaskID(const uint32_t task_id);
00067 
00075   const std::string &getName() const;
00076 
00084   void setName(const std::string &name);
00085 
00093   const std::vector<PlacementModel> &getPlacementModels() const;
00094 
00102   std::vector<PlacementModel> &getPlacementModels();
00103 
00111   size_t getNumPlacementModels() const;
00112 
00122   const PlacementModel &getPlacementModel(const size_t index) const;
00123 
00133   PlacementModel &getPlacementModel(const size_t index);
00134 
00142   void addPlacementModel(const PlacementModel &placement_model);
00143 
00152   void removePlacementModel(const size_t index);
00153 
00162   void getUniqueItems(std::vector<world::Item> &items) const;
00163 
00172   void getUniqueSurfaces(std::vector<world::Surface> &surfaces) const;
00173 
00174 private:
00176   uint32_t task_id_;
00178   std::string name_;
00179   /* The associated placement models */
00180   std::vector<PlacementModel> placement_models_;
00181 };
00182 
00183 }
00184 }
00185 }
00186 }
00187 
00188 #endif


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