place_profile_utils.h
Go to the documentation of this file.
00001 #ifndef LAMA_COMMON_PLACE_PROFILE_UTILS_H
00002 #define LAMA_COMMON_PLACE_PROFILE_UTILS_H
00003 
00004 #include <math.h>  // For round() (std::round() is since C++11).
00005 #include <cmath>
00006 #include <vector>
00007 #include <list>
00008 #include <map>
00009 #include <limits>
00010 #include <algorithm>
00011 #include <stdexcept>
00012 #include <sstream>
00013 
00014 #include <lama_msgs/PlaceProfile.h>
00015 
00016 #include <lama_common/angular_point.h>
00017 #include <lama_common/is_sorted.h>
00018 
00019 namespace lama_common
00020 {
00021 
00022 using std::vector;
00023 using geometry_msgs::Point32;
00024 using lama_msgs::PlaceProfile;
00025 
00026 void normalizePlaceProfile(PlaceProfile& profile, bool sort=true);
00027 PlaceProfile normalizedPlaceProfile(const PlaceProfile& profile, bool sort=true);
00028 
00029 bool isClosed(const PlaceProfile& profile, double max_frontier_width);
00030 void closePlaceProfile(PlaceProfile& profile, double max_frontier_width);
00031 PlaceProfile closedPlaceProfile(const PlaceProfile& profile, double max_frontier_width);
00032 
00033 vector<Point32> simplifyPath(const vector<Point32>& points, size_t begin, size_t end, double min_relevance);
00034 
00035 void simplifyPlaceProfile(PlaceProfile& profile, double min_relevance);
00036 PlaceProfile simplifiedPlaceProfile(const PlaceProfile& profile, double min_relevance);
00037 
00038 void curtailPlaceProfile(PlaceProfile& profile, double max_distance);
00039 PlaceProfile curtailedPlaceProfile(const PlaceProfile& profile, double max_distance);
00040 
00041 } // namespace lama_common
00042 
00043 #endif // LAMA_COMMON_PLACE_PROFILE_UTILS_H
00044 


lama_common
Author(s): Gaël Ecorchard , Karel Košnar , Vojtěch Vonásek
autogenerated on Thu Jun 6 2019 22:02:03