20#ifndef SDFORMAT_EDITOR_PARSER_HH_
21#define SDFORMAT_EDITOR_PARSER_HH_
29#include <interfaces/sdformat_parser_interface.h>
32#include <glm/gtc/quaternion.hpp>
43 private:
void Initialize(
const std::string file_path,
bool &success)
override;
67 private: std::vector<sdf::ElementPtr>
LookupElementsInternal(
const std::string& attribute_type,
const std::string& attribute_value,
68 sdf::ElementPtr scope, sdf::ElementPtr scope_to_exclude);
73 private: sdf::ElementPtr
FindScope(sdf::ElementPtr element);
79 private: sdf::ElementPtr
FindCanonical(sdf::ElementPtr element);
108 private:
Mentions FindMentions(std::string key, sdf::ElementPtr element_to_exclude, sdf::ParamPtr attribute_to_exclude)
override;
120 private: std::pair<glm::dvec3, glm::dquat>
FindAbsolutePose(sdf::ElementPtr element, std::vector<sdf::ElementPtr> previously_visited_elements = {});
127 private: std::pair<glm::dvec3, glm::dquat>
ParsePoseElement(sdf::ElementPtr element, std::string& relative_to);
145 private: std::pair<std::vector<ModelViewerI::ModelInfo>, std::vector<ModelViewerI::PresetModelInfo>>
GetModelsFromSDFTree(
bool render_collisions =
false)
override;