18#ifndef SDF_PARSER_CONFIG_HH_
19#define SDF_PARSER_CONFIG_HH_
26#include <gz/utils/ImplPtr.hh>
31#include "sdf/config.hh"
37inline namespace SDF_VERSION_NAMESPACE
73class ParserConfigPrivate;
109 std::map<std::string, std::vector<std::string> >;
122 public:
const std::function<std::string(
const std::string &)> &
139 std::function<std::string(
const std::string &)> _cb);
150 public:
void AddURIPath(
const std::string &_uri,
const std::string &_path);
237 public:
void SetStoreResolvedURIs(
bool _resolveURI);
242 public:
bool StoreResolvedURIs() const;
245 GZ_UTILS_IMPL_PTR(dataPtr)
This class contains configuration options for the libsdformat parser.
Definition ParserConfig.hh:106
void AddURIPath(const std::string &_uri, const std::string &_path)
Associate paths to a URI.
void URDFSetPreserveFixedJoint(bool _preserveFixedJoint)
Set the preserveFixedJoint flag.
void ResetDeprecatedElementsPolicy()
Resets the policy for deprecated elements so that it follows WarningsPolicy.
const CustomInertiaCalculator & CustomInertiaCalc() const
Get the registered custom mesh MOI Calculator.
void SetDeprecatedElementsPolicy(EnforcementPolicy _policy)
Set the policy for deprecated elements.
void SetUnrecognizedElementsPolicy(EnforcementPolicy _policy)
Set the policy for unrecogonized elements without an xmlns.
void SetFindCallback(std::function< std::string(const std::string &)> _cb)
Set the callback to use when libsdformat can't find a file.
const SchemeToPathMap & URIPathMap() const
Get the URI scheme to search directories map.
ParserConfig()
Default constructor.
void RegisterCustomModelParser(CustomModelParser _modelParser)
Registers a custom model parser.
EnforcementPolicy UnrecognizedElementsPolicy() const
Get the current unrecognized elements policy.
std::map< std::string, std::vector< std::string > > SchemeToPathMap
type alias for the map from URI scheme to search directories
Definition ParserConfig.hh:109
EnforcementPolicy WarningsPolicy() const
Get the current warning enforcement policy.
ConfigureResolveAutoInertials CalculateInertialConfiguration() const
Get the current configuration for the CalculateInertial() function.
void SetWarningsPolicy(EnforcementPolicy _policy)
Set the warning enforcment policy.
const std::vector< CustomModelParser > & CustomModelParsers() const
Get the registered custom model parsers.
bool URDFPreserveFixedJoint() const
Get the preserveFixedJoint flag value.
const std::function< std::string(const std::string &)> & FindFileCallback() const
Get the find file callback function.
GZ_DEPRECATED(15) void SetStoreResovledURIs(bool _resolveURI)
Set the storeResolvedURIs flag value.
static ParserConfig & GlobalConfig()
Mutable access to a singleton ParserConfig that serves as the global ParserConfig object for all pars...
EnforcementPolicy DeprecatedElementsPolicy() const
Get the current deprecated elements policy.
void SetCalculateInertialConfiguration(ConfigureResolveAutoInertials _configuration)
Set the configuration for the CalculateInertial() function.
void RegisterCustomInertiaCalc(CustomInertiaCalculator _inertiaCalculator)
Registers a custom Moment of Inertia Calculator for Meshes.
EnforcementPolicy
Policy to describe how to treat certain conditions when parsing.
Definition ParserConfig.hh:41
@ WARN
Treat condition as a warning and issue to user.
@ LOG
Ignore condition in favor of best effort parsing.
@ ERR
Policy is to treat condition as an error and fail parsing.
std::function< sdf::InterfaceModelPtr(const sdf::NestedInclude &, Errors &)> CustomModelParser
Defines a custom model parser.
Definition InterfaceElements.hh:198
ConfigureResolveAutoInertials
Configuration options of how CalculateInertial() function would be used.
Definition ParserConfig.hh:56
@ SAVE_CALCULATION
If this values is used, CalculateInertial() would be called and the computed inertial values would be...
@ SKIP_CALCULATION_IN_LOAD
If this value is used, CalculateInertial() won't be called from inside the Root::Load() function.
@ SAVE_CALCULATION_IN_ELEMENT
If this values is used, CalculateInertial() would be called and the computed inertial values would be...
std::function< std::optional< gz::math::Inertiald >(sdf::Errors &, const sdf::CustomInertiaCalcProperties &)> CustomInertiaCalculator
Definition CustomInertiaCalcProperties.hh:84
namespace for Simulation Description Format parser
Definition Actor.hh:35
#define SDFORMAT_VISIBLE
Use to represent "symbol visible" if supported.
Definition system_util.hh:25