Helios++
Helios software for LiDAR simulations
XmlSurveyLoader Class Reference

Survey loader from XML. More...

#include <XmlSurveyLoader.h>

Inheritance diagram for XmlSurveyLoader:
Collaboration diagram for XmlSurveyLoader:

Public Member Functions

 XmlSurveyLoader (std::string &filePath, std::string &assetsDir)
 XML survey loader constructor. More...
 
std::shared_ptr< LegcreateLegFromXML (tinyxml2::XMLElement *legNode)
 Create a leg from a XML element/node. More...
 
std::shared_ptr< SurveycreateSurveyFromXml (tinyxml2::XMLElement *surveyNode, bool legNoiseDisabled=false, bool rebuildScene=false)
 Create a survey form a XML element/node. More...
 
std::shared_ptr< Surveyload (bool legNoiseDisabled=false, bool rebuildScene=false)
 Load a full survey from XML. More...
 
- Public Member Functions inherited from XmlAssetsLoader
 XmlAssetsLoader (std::string &filePath, std::string &assetsDir)
 Build a XmlAssetsLoader for given XML file and assets directory. More...
 
std::shared_ptr< AssetgetAssetById (std::string type, std::string id)
 Get asset by its identifier. More...
 
std::shared_ptr< AssetgetAssetByLocation (std::string type, std::string location)
 Get asset by location. More...
 
std::shared_ptr< AssetcreateAssetFromXml (std::string type, tinyxml2::XMLElement *assetNode)
 Create an asset from given XML element (node) More...
 
Color4f createColorFromXml (tinyxml2::XMLElement *node)
 Create a color from given XML element (node) More...
 
std::map< std::string, ObjectT > createParamsFromXml (tinyxml2::XMLElement *paramsNode)
 Create a map of parameters from given XML element (node) More...
 
std::shared_ptr< PlatformcreatePlatformFromXml (tinyxml2::XMLElement *platformNode)
 Create a platform from given XML element (node) More...
 
std::shared_ptr< PlatformSettingscreatePlatformSettingsFromXml (tinyxml2::XMLElement *node)
 Create platform settings from given XML element (node) More...
 
std::shared_ptr< ScannercreateScannerFromXml (tinyxml2::XMLElement *scannerNode)
 Create scanner from given XML element (node) More...
 
std::shared_ptr< ScannerSettingscreateScannerSettingsFromXml (tinyxml2::XMLElement *node)
 Create scanner settings from given XML element (node) More...
 
std::shared_ptr< FWFSettingscreateFWFSettingsFromXml (tinyxml2::XMLElement *node, std::shared_ptr< FWFSettings > settings=nullptr)
 Create FWF settings from given XML element (node) More...
 
std::shared_ptr< ScenecreateSceneFromXml (tinyxml2::XMLElement *sceneNode, std::string path)
 Create scene from given XML element (node) More...
 
Rotation createRotationFromXml (tinyxml2::XMLElement *rotGroupNode)
 Create a rotation from given XML element (node) More...
 
glm::dvec3 createVec3dFromXml (tinyxml2::XMLElement *node, std::string attrPrefix)
 Create a 3D vector from given XML element (node) More...
 

Private Member Functions

std::shared_ptr< SceneloadScene (std::string sceneString, bool rebuildScene=false)
 Load scene from XML. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from XmlAssetsLoader
static std::shared_ptr< NoiseSource< double > > createNoiseSource (tinyxml2::XMLElement *noise)
 Create a noise source from given XML element (node) More...
 
- Public Attributes inherited from XmlAssetsLoader
tinyxml2::XMLDocument doc
 XML file through tinyxml2 library.
 
SceneLoadingSpecification sceneSpec
 Scene loading specification. More...
 
- Protected Member Functions inherited from XmlAssetsLoader
ObjectT getAttribute (tinyxml2::XMLElement *element, std::string attrName, std::string type, ObjectT defaultVal)
 Obtain attribute from XML. More...
 
- Protected Attributes inherited from XmlAssetsLoader
std::string assetsDir
 Assets directory.
 
std::string xmlDocFilename = "unknown.xml"
 Name of the XML file.
 
std::string xmlDocFilePath = ""
 Path to the XML file.
 
std::unordered_map< std::string, std::shared_ptr< ScannerSettings > > scannerTemplates
 Map containing all scanner templates that were loading while building from XML file. No repetitions, each template appears only one time. More...
 

Detailed Description

Survey loader from XML.

This class strongly depends on its parent class XmlAssetsLoader

See also
XmlAssetsLoader

Constructor & Destructor Documentation

◆ XmlSurveyLoader()

XmlSurveyLoader::XmlSurveyLoader ( std::string &  filePath,
std::string &  assetsDir 
)
inline

XML survey loader constructor.

Parameters
filePath
assetsDir

Member Function Documentation

◆ createLegFromXML()

shared_ptr< Leg > XmlSurveyLoader::createLegFromXML ( tinyxml2::XMLElement *  legNode)

Create a leg from a XML element/node.

Parameters
legNodeXML element/node containing leg data
Returns
Created leg
See also
Leg

◆ createSurveyFromXml()

shared_ptr< Survey > XmlSurveyLoader::createSurveyFromXml ( tinyxml2::XMLElement *  surveyNode,
bool  legNoiseDisabled = false,
bool  rebuildScene = false 
)

Create a survey form a XML element/node.

Parameters
surveyNodeXML element/node containing survey data
legNoiseDisabledDisable leg noise
rebuildSceneFlag to specify scene must be rebuild even when a previously built one is found (true) or not (false)
Returns
Created survey
See also
Survey

◆ load()

shared_ptr< Survey > XmlSurveyLoader::load ( bool  legNoiseDisabled = false,
bool  rebuildScene = false 
)

Load a full survey from XML.

Parameters
legNoiseDisabledDisable leg noise
rebuildSceneFlag to specify scene must be rebuild even when a previously built one is found (true) or not (false)
Returns
Fully loaded survey
See also
Survey

◆ loadScene()

shared_ptr< Scene > XmlSurveyLoader::loadScene ( std::string  sceneString,
bool  rebuildScene = false 
)
private

Load scene from XML.

Parameters
sceneStringString from XML scene attribute at survey element/node
rebuildSceneFlag to specify scene must be rebuild even when a previously built one is found (true) or not (false)
Returns
Loaded scene
See also
Scene

The documentation for this class was generated from the following files: