00001 #ifndef STRUCTURES_9TKSKPHM 00002 #define STRUCTURES_9TKSKPHM 00003 00004 #include <bwi_tools/point.h> 00005 #include <stdint.h> 00006 #include <string> 00007 #include <yaml-cpp/yaml.h> 00008 00009 #include <geometry_msgs/Pose.h> 00010 00011 namespace bwi_planning_common { 00012 00013 void readLocationFile(const std::string& filename, 00014 std::vector<std::string>& locations, std::vector<int32_t>& location_map); 00015 00016 class Door { 00017 public: 00018 std::string name; 00019 std::string approach_names[2]; 00020 bwi::Point2f approach_points[2]; 00021 bwi::Point2f door_corners[2]; 00022 float approach_yaw[2]; 00023 00024 bwi::Point2f door_center; 00025 float width; 00026 }; 00027 00028 void readDoorFile(const std::string& filename, std::vector<Door>& doors); 00029 size_t resolveDoor(const std::string& door, const std::vector<Door>& doors); 00030 00031 bool readObjectApproachFile(const std::string& filename, 00032 std::map<std::string, geometry_msgs::Pose>& object_approach_map); 00033 00034 const size_t NO_DOOR_IDX = (size_t) -1; 00035 const int INVALID_LOCATION = -1; 00036 00037 } /* bwi_planning_common */ 00038 00039 #endif /* end of include guard: STRUCTURES_9TKSKPHM */