From 4026ad8dfececc0588869e929ecd6b31d44fd1da Mon Sep 17 00:00:00 2001 From: Rares Ambrus Date: Sat, 30 Apr 2016 18:51:14 +0200 Subject: [PATCH] Added method to find the root folder of the observations for an xml file --- .../metaroom_xml_parser/simple_xml_parser.h | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/metaroom_xml_parser/include/metaroom_xml_parser/simple_xml_parser.h b/metaroom_xml_parser/include/metaroom_xml_parser/simple_xml_parser.h index 3d39ba73..b977b060 100644 --- a/metaroom_xml_parser/include/metaroom_xml_parser/simple_xml_parser.h +++ b/metaroom_xml_parser/include/metaroom_xml_parser/simple_xml_parser.h @@ -82,6 +82,38 @@ friend class SimpleDynamicObjectParser; {} + static std::string getRootFolderFromSweepXml(const std::string& xml_file){ + std::string root_folder = ""; + bool valid_path = true; + std::string patrol_string = "patrol_run_"; + std::string room_string = "room_"; + std::string date_string = "YYYYMMDD"; + + size_t p_pos_1 = xml_file.find(patrol_string); + size_t r_pos_1 = xml_file.find(room_string) - 1; // remove the / before the room_ + if ((p_pos_1 == std::string::npos) || ( r_pos_1 == std::string::npos)){ + // not a valid path + return root_folder; + } + + std::string d_1 = xml_file.substr(p_pos_1 - date_string.length() -1, date_string.length()); + QString d_1_q(d_1.c_str()); + for (size_t i=0; i createRGBandDepthFromPC(boost::shared_ptr> cloud) { std::pair toRet;