Helios++
Helios software for LiDAR simulations
XmlSurveyLoader.h
1 #pragma once
2 
3 #include "XmlAssetsLoader.h"
4 #include "SpectralLibrary.h"
5 #include "Survey.h"
6 #include "Leg.h"
7 
16 
17 public:
18  // *** CONSTRUCTION / DESTRUCTION *** //
19  // ************************************ //
25  XmlSurveyLoader(std::string& filePath, std::string& assetsDir)
26  : XmlAssetsLoader(filePath, assetsDir) {}
27 
28  // *** M E T H O D S *** //
29  // *********************** //
36  std::shared_ptr<Leg> createLegFromXML(tinyxml2::XMLElement* legNode);
46  std::shared_ptr<Survey> createSurveyFromXml(
47  tinyxml2::XMLElement* surveyNode,
48  bool legNoiseDisabled=false,
49  bool rebuildScene=false
50  );
59  std::shared_ptr<Survey> load(
60  bool legNoiseDisabled=false,
61  bool rebuildScene=false
62  );
63 
64 private:
74  std::shared_ptr<Scene> loadScene(
75  std::string sceneString,
76  bool rebuildScene=false
77  );
78 };
std::shared_ptr< Survey > load(bool legNoiseDisabled=false, bool rebuildScene=false)
Load a full survey from XML.
Definition: XmlSurveyLoader.cpp:18
std::shared_ptr< Survey > createSurveyFromXml(tinyxml2::XMLElement *surveyNode, bool legNoiseDisabled=false, bool rebuildScene=false)
Create a survey form a XML element/node.
Definition: XmlSurveyLoader.cpp:40
std::shared_ptr< Leg > createLegFromXML(tinyxml2::XMLElement *legNode)
Create a leg from a XML element/node.
Definition: XmlSurveyLoader.cpp:225
Class for asset loading from XML file.
Definition: XmlAssetsLoader.h:22
std::string assetsDir
Assets directory.
Definition: XmlAssetsLoader.h:29
XmlSurveyLoader(std::string &filePath, std::string &assetsDir)
XML survey loader constructor.
Definition: XmlSurveyLoader.h:25
std::shared_ptr< Scene > loadScene(std::string sceneString, bool rebuildScene=false)
Load scene from XML.
Definition: XmlSurveyLoader.cpp:246
Survey loader from XML.
Definition: XmlSurveyLoader.h:15