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
88class ParserConfigPrivate;
124 std::map<std::string, std::vector<std::string> >;
137 public:
const std::function<std::string(
const std::string &)> &
154 std::function<std::string(
const std::string &)> _cb);
165 public:
void AddURIPath(
const std::string &_uri,
const std::string &_path);
265 public:
void SetStoreResolvedURIs(
bool _resolveURI);
270 public:
bool StoreResolvedURIs() const;
273 GZ_UTILS_IMPL_PTR(dataPtr)
This class contains configuration options for the libsdformat parser.
Definition ParserConfig.hh:121
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 unrecognized 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:124
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 enforcement 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.
CalculateInertialFailurePolicyType CalculateInertialFailurePolicy() const
Get the current policy for handling failures of the CalculateInertial() function.
void SetCalculateInertialConfiguration(ConfigureResolveAutoInertials _configuration)
Set the configuration for the CalculateInertial() function.
void SetCalculateInertialFailurePolicy(CalculateInertialFailurePolicyType _policy)
Set the policy for handling failures of 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:200
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
CalculateInertialFailurePolicyType
Configuration options of how CalculateInertial() failures should be handled.
Definition ParserConfig.hh:76
@ WARN_AND_USE_DEFAULT_INERTIAL
If this value is used, failures of Geometry::CalculateInertial() will result in default inertial valu...
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