00001 /* 00002 * VisualizationFactory.hpp 00003 * 00004 * Created on: Mar 20, 2015 00005 * Author: Péter Fankhauser 00006 * Institute: ETH Zurich, Autonomous Systems Lab 00007 */ 00008 00009 #pragma once 00010 00011 #include <grid_map_visualization/visualizations/VisualizationBase.hpp> 00012 #include <vector> 00013 #include <string> 00014 #include <memory> 00015 00016 namespace grid_map_visualization { 00017 00018 class VisualizationFactory 00019 { 00020 public: 00021 VisualizationFactory(ros::NodeHandle& nodeHandle); 00022 virtual ~VisualizationFactory(); 00023 00024 bool isValidType(const std::string& type); 00025 std::shared_ptr<VisualizationBase> getInstance(const std::string& type, const std::string& name); 00026 00027 private: 00028 ros::NodeHandle& nodeHandle_; 00029 std::vector<std::string> types_; 00030 }; 00031 00032 } /* namespace */