00001 /****************************************************************************** 00002 STDR Simulator - Simple Two DImensional Robot Simulator 00003 Copyright (C) 2013 STDR Simulator 00004 This program is free software; you can redistribute it and/or modify 00005 it under the terms of the GNU General Public License as published by 00006 the Free Software Foundation; either version 3 of the License, or 00007 (at your option) any later version. 00008 This program is distributed in the hope that it will be useful, 00009 but WITHOUT ANY WARRANTY; without even the implied warranty of 00010 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00011 GNU General Public License for more details. 00012 You should have received a copy of the GNU General Public License 00013 along with this program; if not, write to the Free Software Foundation, 00014 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 00015 00016 Authors : 00017 * Manos Tsardoulias, etsardou@gmail.com 00018 * Aris Thallas, aris.thallas@gmail.com 00019 * Chris Zalidis, zalidis@gmail.com 00020 ******************************************************************************/ 00021 00022 #ifndef STDR_MAP_LOADER_H 00023 #define STDR_MAP_LOADER_H 00024 00025 #include <stdio.h> 00026 #include <stdlib.h> 00027 #include <libgen.h> 00028 #include <fstream> 00029 00030 #include <string> 00031 #include "ros/ros.h" 00032 #include "map_server/image_loader.h" 00033 #include "nav_msgs/MapMetaData.h" 00034 #include "yaml-cpp/yaml.h" 00035 00036 00037 #ifdef HAVE_NEW_YAMLCPP 00038 00039 00040 template<typename T> 00041 void operator >> (const YAML::Node& node, T& i) 00042 { 00043 i = node.as<T>(); 00044 } 00045 #endif 00046 00051 namespace stdr_server { 00052 00057 namespace map_loader { 00058 00064 nav_msgs::OccupancyGrid loadMap(const std::string& fname); 00065 00066 } // end of namespace map_loader 00067 00068 } // end of namespace stdr_server 00069 00070 00071 #endif