Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
sdf::v11 Namespace Reference

Namespaces

 filesystem
 

Classes

class  Actor
 Provides a description of an actor. More...
 
class  AirPressure
 AirPressure contains information about a general purpose fluid pressure sensor. More...
 
class  Altimeter
 Altimeter contains information about an altimeter sensor. More...
 
class  Animation
 Animation in Actor. More...
 
class  AssertionInternalError
 Class for generating Exceptions which come from sdf assertions. More...
 
class  Atmosphere
 The Atmosphere class contains information about an atmospheric model and related parameters such as temperature and pressure at sea level. More...
 
class  Box
 Box represents a box shape, and is usually accessed through a Geometry. More...
 
class  Camera
 Information about a monocular camera sensor. More...
 
class  Capsule
 Capsule represents a capsule shape, and is usually accessed through a Geometry. More...
 
class  Collision
 A collision element descibes the collision properties associated with a link. More...
 
class  Color
 Defines a color. More...
 
class  Console
 Message, error, warning, and logging functionality. More...
 
class  ConsolePrivate
 
class  Contact
 Contact information for a surface. More...
 
class  Cylinder
 Cylinder represents a cylinder shape, and is usually accessed through a Geometry. More...
 
class  Element
 SDF Element class. More...
 
class  ElementPrivate
 
class  Ellipsoid
 Ellipsoid represents a ellipsoid shape, and is usually accessed through a Geometry. More...
 
class  Error
 
class  Exception
 Class for generating exceptions. More...
 
class  ForceTorque
 ForceTorque contains information about a force torque sensor. More...
 
class  Frame
 A Frame element descibes the properties associated with an explicit frame defined in a Model or World. More...
 
class  Geometry
 Geometry provides access to a shape, such as a Box. More...
 
class  Gui
 
class  Heightmap
 Heightmap represents a shape defined by a 2D field, and is usually accessed through a Geometry. More...
 
class  HeightmapBlend
 Blend information to be used between textures on heightmaps. More...
 
class  HeightmapTexture
 Texture to be used on heightmaps. More...
 
class  Imu
 Imu contains information about an imu sensor. More...
 
class  Inertia
 A class for inertial information about a link. More...
 
class  InterfaceFrame
 Interface element representing an explicit frame. More...
 
class  InterfaceJoint
 Interface element representing a Joint. More...
 
class  InterfaceLink
 Interface element representing a Link. More...
 
class  InterfaceModel
 Interface element representing a Model. More...
 
class  InterfaceModelPoseGraph
 Class used in reposture callbacks of custom parsers to resolve poses. More...
 
class  InternalError
 Class for generating Internal Gazebo Errors: those errors which should never happend and represent programming bugs. More...
 
class  Joint
 
class  JointAxis
 Parameters related to the axis of rotation for rotational joints, and the axis of translation for prismatic joints. More...
 
class  Lidar
 Lidar contains information about a Lidar sensor. More...
 
class  Light
 Provides a description of a light source. More...
 
class  Link
 
class  Magnetometer
 Magnetometer contains information about a magnetometer sensor. More...
 
class  Material
 This class contains visual material properties. More...
 
class  Mesh
 Mesh represents a mesh shape, and is usually accessed through a Geometry. More...
 
class  Model
 
struct  NestedInclude
 Contains the necessary information about an included model file for custom model parsers to be able to find the file and parse it. More...
 
class  Noise
 The Noise class contains information about a noise model, such as a Gaussian distribution. More...
 
class  Param
 A parameter class. More...
 
class  ParamPrivate
 
struct  ParamStreamer
 
class  ParserConfig
 This class contains configuration options for the libsdformat parser. More...
 
class  Pbr
 This class provides access to Physically-Based-Rendering (PBR) material workflows. More...
 
class  PbrWorkflow
 This class contains Physically-Based-Rendering (PBR) workflow properties. More...
 
class  Physics
 The physics element specifies the type and properties of a dynamics engine. More...
 
class  Plane
 Plane represents a plane shape, and is usually accessed through a Geometry. More...
 
class  Root
 Root class that acts as an entry point to the SDF document model. More...
 
class  Scene
 
class  ScopedGraph
 
class  SDF
 Base SDF class. More...
 
class  SemanticPose
 SemanticPose is a data structure that can be used by different DOM objects to resolve poses on a PoseRelativeToGraph. More...
 
class  Sensor
 Information about an SDF sensor. More...
 
class  Sky
 
class  Sphere
 Sphere represents a sphere shape, and is usually accessed through a Geometry. More...
 
class  Surface
 Surface information for a collision. More...
 
class  Time
 A Time class, can be used to hold wall- or sim-time. More...
 
class  Trajectory
 Trajectory for Animation. More...
 
class  Visual
 
class  Waypoint
 Waypoint for Trajectory. More...
 
class  World
 

Typedefs

typedef std::shared_ptr< ConsoleConsolePtr
 
using CustomModelParser = std::function< sdf::InterfaceModelPtr(const sdf::NestedInclude &, Errors &)>
 Defines a custom model parser. More...
 
typedef std::shared_ptr< ElementElementPtr
 
typedef std::vector< ElementPtrElementPtr_V
 
typedef std::weak_ptr< ElementElementWeakPtr
 
using Errors = std::vector< Error >
 A vector of Error. More...
 
using InterfaceModelConstPtr = std::shared_ptr< const InterfaceModel >
 
using InterfaceModelPtr = std::shared_ptr< InterfaceModel >
 
typedef std::vector< ParamPtrParam_V
 
typedef std::shared_ptr< ParamParamPtr
 
using RepostureFunction = std::function< void(const sdf::InterfaceModelPoseGraph &)>
 Function signature for the reposture callback function. More...
 
typedef std::shared_ptr< SDFSDFPtr
 

Enumerations

enum  AtmosphereType { AtmosphereType::ADIABATIC = 0 }
 The set of atmosphere model types. More...
 
enum  EnforcementPolicy { EnforcementPolicy::ERR, EnforcementPolicy::WARN, EnforcementPolicy::LOG }
 Policy to describe how to treat certain conditions when parsing. More...
 
enum  ErrorCode {
  ErrorCode::NONE = 0, ErrorCode::FILE_READ, ErrorCode::DUPLICATE_NAME, ErrorCode::RESERVED_NAME,
  ErrorCode::ATTRIBUTE_MISSING, ErrorCode::ATTRIBUTE_INVALID, ErrorCode::ATTRIBUTE_DEPRECATED, ErrorCode::ATTRIBUTE_INCORRECT_TYPE,
  ErrorCode::ELEMENT_MISSING, ErrorCode::ELEMENT_INVALID, ErrorCode::ELEMENT_DEPRECATED, ErrorCode::ELEMENT_INCORRECT_TYPE,
  ErrorCode::URI_INVALID, ErrorCode::URI_LOOKUP, ErrorCode::DIRECTORY_NONEXISTANT, ErrorCode::MODEL_CANONICAL_LINK_INVALID,
  ErrorCode::MODEL_WITHOUT_LINK, ErrorCode::NESTED_MODELS_UNSUPPORTED, ErrorCode::LINK_INERTIA_INVALID, ErrorCode::JOINT_CHILD_LINK_INVALID,
  ErrorCode::JOINT_PARENT_LINK_INVALID, ErrorCode::JOINT_PARENT_SAME_AS_CHILD, ErrorCode::FRAME_ATTACHED_TO_INVALID, ErrorCode::FRAME_ATTACHED_TO_CYCLE,
  ErrorCode::FRAME_ATTACHED_TO_GRAPH_ERROR, ErrorCode::POSE_RELATIVE_TO_INVALID, ErrorCode::POSE_RELATIVE_TO_CYCLE, ErrorCode::POSE_RELATIVE_TO_GRAPH_ERROR,
  ErrorCode::STRING_READ, ErrorCode::MODEL_PLACEMENT_FRAME_INVALID, ErrorCode::VERSION_DEPRECATED
}
 Set of error codes. More...
 
enum  ForceTorqueFrame : uint8_t { ForceTorqueFrame::INVALID = 0, ForceTorqueFrame::PARENT = 1, ForceTorqueFrame::CHILD = 2, ForceTorqueFrame::SENSOR = 3 }
 The set of supported frames of the wrench values. More...
 
enum  ForceTorqueMeasureDirection : uint8_t { ForceTorqueMeasureDirection::INVALID = 0, ForceTorqueMeasureDirection::PARENT_TO_CHILD = 1, ForceTorqueMeasureDirection::CHILD_TO_PARENT = 2 }
 The set of measure directions of the wrench values. More...
 
enum  GeometryType {
  GeometryType::EMPTY = 0, GeometryType::BOX = 1, GeometryType::CYLINDER = 2, GeometryType::PLANE = 3,
  GeometryType::SPHERE = 4, GeometryType::MESH = 5, GeometryType::HEIGHTMAP = 6, GeometryType::CAPSULE = 7,
  GeometryType::ELLIPSOID = 8
}
 The set of geometry types. More...
 
enum  JointType {
  JointType::INVALID = 0, JointType::BALL = 1, JointType::CONTINUOUS = 2, JointType::FIXED = 3,
  JointType::GEARBOX = 4, JointType::PRISMATIC = 5, JointType::REVOLUTE = 6, JointType::REVOLUTE2 = 7,
  JointType::SCREW = 8, JointType::UNIVERSAL = 9
}
 The set of joint types. More...
 
enum  LightType { LightType::INVALID = 0, LightType::POINT = 1, LightType::SPOT = 2, LightType::DIRECTIONAL = 3 }
 The set of light types. More...
 
enum  NoiseType { NoiseType::NONE = 0, NoiseType::GAUSSIAN = 1, NoiseType::GAUSSIAN_QUANTIZED = 2 }
 The set of noise types. More...
 
enum  NormalMapSpace : int { NormalMapSpace::TANGENT = 0, NormalMapSpace::OBJECT = 1 }
 Space the normal map is defined in. More...
 
enum  PbrWorkflowType : int { PbrWorkflowType::NONE = 0, PbrWorkflowType::METAL = 1, PbrWorkflowType::SPECULAR = 2 }
 Type of PBR workflow. More...
 
enum  PixelFormatType {
  PixelFormatType::UNKNOWN_PIXEL_FORMAT = 0, PixelFormatType::L_INT8, PixelFormatType::L_INT16, PixelFormatType::RGB_INT8,
  PixelFormatType::RGBA_INT8, PixelFormatType::BGRA_INT8, PixelFormatType::RGB_INT16, PixelFormatType::RGB_INT32,
  PixelFormatType::BGR_INT8, PixelFormatType::BGR_INT16, PixelFormatType::BGR_INT32, PixelFormatType::R_FLOAT16,
  PixelFormatType::RGB_FLOAT16, PixelFormatType::R_FLOAT32, PixelFormatType::RGB_FLOAT32, PixelFormatType::BAYER_RGGB8,
  PixelFormatType::BAYER_BGGR8, PixelFormatType::BAYER_GBRG8, PixelFormatType::BAYER_GRBG8
}
 The set of pixel formats. More...
 
enum  SensorType {
  SensorType::NONE = 0, SensorType::ALTIMETER = 1, SensorType::CAMERA = 2, SensorType::CONTACT = 3,
  SensorType::DEPTH_CAMERA = 4, SensorType::FORCE_TORQUE = 5, SensorType::GPS = 6, SensorType::GPU_LIDAR = 7,
  SensorType::IMU = 8, SensorType::LOGICAL_CAMERA = 9, SensorType::MAGNETOMETER = 10, SensorType::MULTICAMERA = 11,
  SensorType::LIDAR = 12, SensorType::RFID = 13, SensorType::RFIDTAG = 14, SensorType::SONAR = 15,
  SensorType::WIRELESS_RECEIVER = 16, SensorType::WIRELESS_TRANSMITTER = 17, SensorType::AIR_PRESSURE = 18, SensorType::RGBD_CAMERA = 19,
  SensorType::THERMAL_CAMERA = 20
}
 The set of sensor types. More...
 
enum  ShaderType : int { ShaderType::PIXEL = 0, ShaderType::VERTEX = 1, ShaderType::NORMAL_MAP_OBJECTSPACE = 2, ShaderType::NORMAL_MAP_TANGENTSPACE = 3 }
 

Functions

SDFORMAT_VISIBLE void addURIPath (const std::string &_uri, const std::string &_path)
 Associate paths to a URI. More...
 
SDFORMAT_VISIBLE bool checkCanonicalLinkNames (const sdf::Root *_root)
 Check that for each model, the canonical_link attribute value matches the name of a link in the model if the attribute is set and not empty. More...
 
SDFORMAT_VISIBLE bool checkFrameAttachedToGraph (const sdf::Root *_root)
 For the world and each model, check that the attached_to graphs build without errors and have no cycles. More...
 
SDFORMAT_VISIBLE bool checkFrameAttachedToNames (const sdf::Root *_root)
 Check that for each frame, the attached_to attribute value does not match its own frame name but does match the name of a link, joint, or other frame in the model if the attribute is set and not empty. More...
 
SDFORMAT_VISIBLE bool checkJointParentChildLinkNames (const sdf::Root *_root)
 Check that all joints in contained models specify parent and child link names that match the names of sibling links. More...
 
SDFORMAT_VISIBLE bool checkPoseRelativeToGraph (const sdf::Root *_root)
 For the world and each model, check that the attached_to graphs build without errors and have no cycles. More...
 
SDFORMAT_VISIBLE bool convertFile (const std::string &_filename, const std::string &_version, SDFPtr _sdf)
 Convert an SDF file to a specific SDF version. More...
 
SDFORMAT_VISIBLE bool convertFile (const std::string &_filename, const std::string &_version, const ParserConfig &_config, SDFPtr _sdf)
 Convert an SDF file to a specific SDF version. More...
 
SDFORMAT_VISIBLE bool convertString (const std::string &_sdfString, const std::string &_version, SDFPtr _sdf)
 Convert an SDF string to a specific SDF version. More...
 
SDFORMAT_VISIBLE bool convertString (const std::string &_sdfString, const std::string &_version, const ParserConfig &_config, SDFPtr _sdf)
 Convert an SDF string to a specific SDF version. More...
 
template<typename T >
bool equal (const T &_a, const T &_b, const T &_epsilon=1e-6f)
 check if two values are equal, within a tolerance More...
 
SDFORMAT_VISIBLE std::string findFile (const std::string &_filename, bool _searchLocalPath=true, bool _useCallback=false)
 Find the absolute path of a file. More...
 
SDFORMAT_VISIBLE std::string findFile (const std::string &_filename, bool _searchLocalPath, bool _useCallback, const ParserConfig &_config)
 Find the absolute path of a file. More...
 
SDFORMAT_VISIBLE std::string getModelFilePath (const std::string &_modelDirPath)
 Get the file path to the model file. More...
 
SDFORMAT_VISIBLE bool init (SDFPtr _sdf)
 Initialize the SDF interface from the embedded root spec file. More...
 
SDFORMAT_VISIBLE bool initFile (const std::string &_filename, SDFPtr _sdf)
 Initialize the SDF interface using a file. More...
 
SDFORMAT_VISIBLE bool initFile (const std::string &_filename, const ParserConfig &_config, SDFPtr _sdf)
 Initialize the SDF interface using a file. More...
 
SDFORMAT_VISIBLE bool initFile (const std::string &_filename, ElementPtr _sdf)
 Initialize an SDF Element interface using a file. More...
 
SDFORMAT_VISIBLE bool initFile (const std::string &_filename, const ParserConfig &_config, ElementPtr _sdf)
 Initialize an SDFElement interface using a file. More...
 
SDFORMAT_VISIBLE bool initString (const std::string &_xmlString, SDFPtr _sdf)
 Initialize the SDF interface using a string. More...
 
SDFORMAT_VISIBLE bool initString (const std::string &_xmlString, const ParserConfig &_config, SDFPtr _sdf)
 Initialize the SDF interface using a string. More...
 
SDFORMAT_VISIBLE std::string JoinName (const std::string &_scopeName, const std::string &_localName)
 Join two strings with the '::' delimiter. More...
 
std::string SDFORMAT_VISIBLE lowercase (const std::string &_in)
 Transforms a string to its lowercase equivalent. More...
 
template<class T >
std::ostream & operator<< (std::ostream &os, ParamStreamer< T > s)
 
template<>
std::ostream & operator<< (std::ostream &os, ParamStreamer< double > s)
 
template<>
std::ostream & operator<< (std::ostream &os, ParamStreamer< float > s)
 
template<class... Ts>
std::ostream & operator<< (std::ostream &os, ParamStreamer< std::variant< Ts... >> sv)
 
SDFORMAT_VISIBLE std::ostream & operator<< (std::ostream &_out, const sdf::Errors &_errs)
 Output operator for a collection of errors. More...
 
template<class T >
 ParamStreamer (T) -> ParamStreamer< T >
 
SDFORMAT_VISIBLE sdf::SDFPtr readFile (const std::string &_filename)
 Populate the SDF values from a file. More...
 
SDFORMAT_VISIBLE sdf::SDFPtr readFile (const std::string &_filename, Errors &_errors)
 Populate the SDF values from a file. More...
 
SDFORMAT_VISIBLE sdf::SDFPtr readFile (const std::string &_filename, const ParserConfig &_config, Errors &_errors)
 Populate the SDF values from a file. More...
 
SDFORMAT_VISIBLE bool readFile (const std::string &_filename, SDFPtr _sdf, Errors &_errors)
 Populate the SDF values from a file. More...
 
SDFORMAT_VISIBLE bool readFile (const std::string &_filename, const ParserConfig &_config, SDFPtr _sdf, Errors &_errors)
 Populate the SDF values from a file. More...
 
SDFORMAT_VISIBLE bool readFile (const std::string &_filename, SDFPtr _sdf)
 Populate the SDF values from a file. More...
 
SDFORMAT_VISIBLE bool readFileWithoutConversion (const std::string &_filename, SDFPtr _sdf, Errors &_errors)
 Populate the SDF values from a file without converting to the latest SDF version. More...
 
SDFORMAT_VISIBLE bool readFileWithoutConversion (const std::string &_filename, const ParserConfig &_config, SDFPtr _sdf, Errors &_errors)
 Populate the SDF values from a file without converting to the latest SDF version. More...
 
SDFORMAT_VISIBLE bool readString (const std::string &_xmlString, SDFPtr _sdf, Errors &_errors)
 Populate the SDF values from a string. More...
 
SDFORMAT_VISIBLE bool readString (const std::string &_xmlString, const ParserConfig &_config, SDFPtr _sdf, Errors &_errors)
 Populate the SDF values from a string. More...
 
SDFORMAT_VISIBLE bool readString (const std::string &_xmlString, SDFPtr _sdf)
 Populate the SDF values from a string. More...
 
SDFORMAT_VISIBLE bool readString (const std::string &_xmlString, ElementPtr _sdf, Errors &_errors)
 Populate the SDF values from a string. More...
 
SDFORMAT_VISIBLE bool readString (const std::string &_xmlString, const ParserConfig &_config, ElementPtr _sdf, Errors &_errors)
 Populate the SDF values from a string. More...
 
SDFORMAT_VISIBLE bool readString (const std::string &_xmlString, ElementPtr _sdf)
 Populate the SDF values from a string. More...
 
SDFORMAT_VISIBLE bool readStringWithoutConversion (const std::string &_xmlString, SDFPtr _sdf, Errors &_errors)
 Populate the SDF values from a string without converting to the latest SDF version. More...
 
SDFORMAT_VISIBLE bool readStringWithoutConversion (const std::string &_xmlString, const ParserConfig &_config, SDFPtr _sdf, Errors &_errors)
 Populate the SDF values from a string. More...
 
SDFORMAT_VISIBLE bool recursiveSameTypeUniqueNames (sdf::ElementPtr _elem)
 Check that all sibling elements of the same type have unique names. More...
 
SDFORMAT_VISIBLE bool recursiveSiblingNoDoubleColonInNames (sdf::ElementPtr _elem)
 Check that all sibling elements do not contain the delimiter double colons '::' in element names, which is reserved for forming scopes in SDFormat 1.8. More...
 
SDFORMAT_VISIBLE bool recursiveSiblingUniqueNames (sdf::ElementPtr _elem)
 Check that all sibling elements of the any type have unique names. More...
 
SDFORMAT_VISIBLE void setFindCallback (std::function< std::string(const std::string &)> _cb)
 Set the callback to use when SDF can't find a file. More...
 
SDFORMAT_VISIBLE bool shouldValidateElement (sdf::ElementPtr _elem)
 Check whether the element should be validated. More...
 
SDFORMAT_VISIBLE std::vector< std::string > split (const std::string &_str, const std::string &_splitter)
 Split a string using the delimiter in splitter. More...
 
SDFORMAT_VISIBLE std::pair< std::string, std::string > SplitName (const std::string &_absoluteName)
 Split a name into a two strings based on the '::' delimeter. More...
 
SDFORMAT_VISIBLE std::string trim (const char *_in)
 Trim leading and trailing whitespace from a string. More...
 
SDFORMAT_VISIBLE std::string trim (const std::string &_in)
 Trim leading and trailing whitespace from a string. More...
 

Variables

class SDFORMAT_VISIBLE Element
 
const std::string kSdfScopeDelimiter = "::"
 
class SDFORMAT_VISIBLE Param
 
class SDFORMAT_VISIBLE SDF
 

Typedef Documentation

◆ CustomModelParser

using sdf::v11::CustomModelParser = typedef std::function<sdf::InterfaceModelPtr(const sdf::NestedInclude &, Errors &)>

Defines a custom model parser.

Every custom model parser should define it's own way of (quickly) determining if it should parse a model. This should generally be done by looking at the file extension of include.resolvedFileName, and returning nullptr if it doesn't match a given criteria.

Custom model parsers are visited in the reverse of how they are defined. The latest parser gains precedence.

Custom model parsers are never checked if resolved file extension ends with *.sdf or *.world. If libsdformat encounters a *.urdf file, it will first check custom parser. If no custom parser is found, it will then convert the URDF XML to SDFormat XML, and parse it as an SDFormat file.

Parameters
[in]includeThe parsed //include information from which this model should be parsed.
[out]errorsErrors encountered during custom parsing. If any errors are reported, this must return nullptr.
Returns
An optional ModelInterface.
  • If not nullptr, the returned model interface is incorporated into the existing model and its frames are exposed through the frame graph.
  • If nullptr and no errors are reported, then libsdformat should continue testing out other custom parsers registered under the same extension (e.g. a parser for .yaml, which may cover many different schemas).

If an exception is raised by this callback, libsdformat will not try to intercept the exception.

To see an example implementation, please refer to test/integration/interface_api.cc

◆ ElementPtr

typedef std::shared_ptr<Element> sdf::v11::ElementPtr

◆ ElementPtr_V

typedef std::vector<ElementPtr> sdf::v11::ElementPtr_V

◆ ElementWeakPtr

typedef std::weak_ptr<Element> sdf::v11::ElementWeakPtr

◆ Errors

using sdf::v11::Errors = typedef std::vector<Error>

A vector of Error.

◆ InterfaceModelConstPtr

using sdf::v11::InterfaceModelConstPtr = typedef std::shared_ptr<const InterfaceModel>

◆ InterfaceModelPtr

using sdf::v11::InterfaceModelPtr = typedef std::shared_ptr<InterfaceModel>

◆ Param_V

typedef std::vector<ParamPtr> sdf::v11::Param_V

◆ ParamPtr

typedef std::shared_ptr<Param> sdf::v11::ParamPtr

◆ RepostureFunction

using sdf::v11::RepostureFunction = typedef std::function<void(const sdf::InterfaceModelPoseGraph &)>

Function signature for the reposture callback function.

◆ SDFPtr

typedef std::shared_ptr<SDF> sdf::v11::SDFPtr

Enumeration Type Documentation

◆ AtmosphereType

The set of atmosphere model types.

Enumerator
ADIABATIC 

Adiabatic atmosphere model.

◆ EnforcementPolicy

Policy to describe how to treat certain conditions when parsing.

Enumerator
ERR 

Policy is to treat condition as an error and fail parsing.

WARN 

Treat condition as a warning and issue to user.

LOG 

Ignore condition in favor of best effort parsing.

◆ ErrorCode

enum sdf::v11::ErrorCode
strong

Set of error codes.

Usually one or more errors are returned in an Errors vector. The collection of Errors should be take as a whole, where an error toward the beginning of the vector can inform errors toward the end of the vector.

See also
Errors
Enumerator
NONE 
FILE_READ 

Indicates that reading an SDF file failed.

DUPLICATE_NAME 

A duplicate name was found for an element where unique names are required.

RESERVED_NAME 

A reserved name was used in an entity name attribute.

ATTRIBUTE_MISSING 

Indicates that a required SDF attribute is missing.

ATTRIBUTE_INVALID 

This error indicates that an SDF attribute is invalid.

ATTRIBUTE_DEPRECATED 

This error indicates that an SDF attribute is deprecated.

ATTRIBUTE_INCORRECT_TYPE 

Indicates an attribute was included that is not part of the sdf spec.

ELEMENT_MISSING 

Indicates that a required SDF element is missing.

ELEMENT_INVALID 

This error indicates that an SDF element is invalid.

ELEMENT_DEPRECATED 

This error indicates that an SDF element is deprecated.

ELEMENT_INCORRECT_TYPE 

Indicates that an incorrect SDF element type was encountered.

This error is used when an element of certain type is expected, and an element of a different type was received.

URI_INVALID 

A URI is invalid.

URI_LOOKUP 

A error occured while trying to resolve a URI.

DIRECTORY_NONEXISTANT 

A filesystem directory does not exist.

MODEL_CANONICAL_LINK_INVALID 

A model with an invalid canonical link.

MODEL_WITHOUT_LINK 

A model without a link.

NESTED_MODELS_UNSUPPORTED 

Indicates that a DOM object tried to read a nested model.

LINK_INERTIA_INVALID 

A link has invalid inertia.

JOINT_CHILD_LINK_INVALID 

A joint has an invalid child link.

JOINT_PARENT_LINK_INVALID 

A joint has an invalid parent link.

JOINT_PARENT_SAME_AS_CHILD 

A joint has the same link specified as parent and child.

FRAME_ATTACHED_TO_INVALID 

The frame attached-to value does not match the name of an existing frame in the current scope.

FRAME_ATTACHED_TO_CYCLE 

The frame attached-to graph contains a cycle.

FRAME_ATTACHED_TO_GRAPH_ERROR 

The frame attached-to graph has an internal error.

POSE_RELATIVE_TO_INVALID 

The pose relative-to value does not match the name of an existing frame in the current scope.

POSE_RELATIVE_TO_CYCLE 

The pose relative-to graph contains a cycle.

POSE_RELATIVE_TO_GRAPH_ERROR 

The pose relative-to graph has an internal error.

STRING_READ 

Indicates that reading an SDF string failed.

MODEL_PLACEMENT_FRAME_INVALID 

The specified placement frame is invalid.

VERSION_DEPRECATED 

The provided version has been deprecated or it is pre-versioning.

◆ ForceTorqueFrame

enum sdf::v11::ForceTorqueFrame : uint8_t
strong

The set of supported frames of the wrench values.

Enumerator
INVALID 

Invalid frame.

PARENT 

Wrench expressed in the orientation of the parent link frame.

CHILD 

Wrench expressed in the orientation of the child link frame.

SENSOR 

Wrench expressed in the orientation of the joint sensor frame.

◆ ForceTorqueMeasureDirection

The set of measure directions of the wrench values.

Enumerator
INVALID 

Invalid frame.

PARENT_TO_CHILD 

Wrench measured as applied by the parent link on the child link.

CHILD_TO_PARENT 

Wrench measured as applied by the child link on the parent link.

◆ GeometryType

The set of geometry types.

Enumerator
EMPTY 

Empty geometry. This means no shape has been defined.

BOX 

A box geometry.

CYLINDER 

A cylinder geometry.

PLANE 

A plane geometry.

SPHERE 

A sphere geometry.

MESH 

A mesh geometry.

HEIGHTMAP 

A heightmap geometry.

CAPSULE 

A capsule geometry.

ELLIPSOID 

An ellipsoid geometry.

◆ JointType

enum sdf::v11::JointType
strong

The set of joint types.

INVALID indicates that joint type has not been set, or has not been set correctly.

Enumerator
INVALID 

An invalid joint.

This indicates an error since a joint type is required to fully specify a joint.

BALL 

A ball and socket joint.

CONTINUOUS 

A hinge joint that rotates on a single axis with a continuous range of motion.

FIXED 

A joint with zero degrees of freedom that rigidly connects two links.

GEARBOX 

Geared revolute joint.

PRISMATIC 

A sliding joint that slides along an axis with a limited range specified by upper and lower limits.

REVOLUTE 

A hinge joint that rotates on a single axis with a fixed range of motion.

REVOLUTE2 

Same as two revolute joints connected in series.

SCREW 

A single degree of freedom joint with coupled sliding and rotational motion.

UNIVERSAL 

Similar to a ball joint, but constrains one degree of freedom.

◆ LightType

enum sdf::v11::LightType
strong

The set of light types.

INVALID indicates that light type has not been set, or has not been set correctly.

Enumerator
INVALID 

An invalid light.

This indicates an error since a light type is required to fully specify a light.

POINT 

A point light source.

SPOT 

A spot light source.

DIRECTIONAL 

A directional light source.

◆ NoiseType

enum sdf::v11::NoiseType
strong

The set of noise types.

Enumerator
NONE 

No noise model.

GAUSSIAN 

Draw noise values independently for each measurement from a Gaussian distribution.

GAUSSIAN_QUANTIZED 

Gaussian noise plus quantization of outputs (ie. rounding).

◆ NormalMapSpace

enum sdf::v11::NormalMapSpace : int
strong

Space the normal map is defined in.

Enumerator
TANGENT 

Tangent space.

OBJECT 

Object space.

◆ PbrWorkflowType

enum sdf::v11::PbrWorkflowType : int
strong

Type of PBR workflow.

Enumerator
NONE 

No workflow.

METAL 

Metal/Roughness workflow.

SPECULAR 

Specular/Glossiness workflow.

◆ PixelFormatType

The set of pixel formats.

This list should match ignition::common::Image::PixelFormatType.

Enumerator
UNKNOWN_PIXEL_FORMAT 
L_INT8 
L_INT16 
RGB_INT8 
RGBA_INT8 
BGRA_INT8 
RGB_INT16 
RGB_INT32 
BGR_INT8 
BGR_INT16 
BGR_INT32 
R_FLOAT16 
RGB_FLOAT16 
R_FLOAT32 
RGB_FLOAT32 
BAYER_RGGB8 
BAYER_BGGR8 
BAYER_GBRG8 
BAYER_GRBG8 

◆ SensorType

enum sdf::v11::SensorType
strong

The set of sensor types.

Enumerator
NONE 

An unspecified sensor type.

ALTIMETER 

An altimeter sensor.

CAMERA 

A monocular camera sensor.

CONTACT 

A contact sensor.

DEPTH_CAMERA 

A depth camera sensor.

FORCE_TORQUE 

A force-torque sensor.

GPS 

A GPS sensor.

GPU_LIDAR 

A GPU based lidar sensor.

IMU 

An IMU sensor.

LOGICAL_CAMERA 

A logical camera sensor.

MAGNETOMETER 

A magnetometer sensor.

MULTICAMERA 

A multicamera sensor.

LIDAR 

A CPU based lidar sensor.

RFID 

An RFID sensor.

RFIDTAG 

An RFID tag.

SONAR 

A sonar tag sensor.

WIRELESS_RECEIVER 

A wireless receiver.

WIRELESS_TRANSMITTER 

A wireless transmitter.

AIR_PRESSURE 

An air pressure sensor.

RGBD_CAMERA 

An RGBD sensor, which produces both a color image and a depth image.

THERMAL_CAMERA 

A thermal camera sensor.

◆ ShaderType

enum sdf::v11::ShaderType : int
strong
Enumerator
PIXEL 
VERTEX 
NORMAL_MAP_OBJECTSPACE 
NORMAL_MAP_TANGENTSPACE 

Function Documentation

◆ checkCanonicalLinkNames()

SDFORMAT_VISIBLE bool sdf::v11::checkCanonicalLinkNames ( const sdf::Root *  _root)

Check that for each model, the canonical_link attribute value matches the name of a link in the model if the attribute is set and not empty.

This checks recursively and should check the files exhaustively rather than terminating early when the first error is found.

Parameters
[in]_rootSDF Root object to check recursively.
Returns
True if all models have valid canonical_link attributes.

◆ checkFrameAttachedToGraph()

SDFORMAT_VISIBLE bool sdf::v11::checkFrameAttachedToGraph ( const sdf::Root *  _root)

For the world and each model, check that the attached_to graphs build without errors and have no cycles.

Confirm that following directed edges from each vertex in the graph leads to a model, link, or world frame. This checks recursively and should check the files exhaustively rather than terminating early when the first error is found.

Parameters
[in]_rootSDF Root object to check recursively.
Returns
True if all attached_to graphs are valid.

◆ checkFrameAttachedToNames()

SDFORMAT_VISIBLE bool sdf::v11::checkFrameAttachedToNames ( const sdf::Root *  _root)

Check that for each frame, the attached_to attribute value does not match its own frame name but does match the name of a link, joint, or other frame in the model if the attribute is set and not empty.

This checks recursively and should check the files exhaustively rather than terminating early when the first error is found.

Parameters
[in]_rootSDF Root object to check recursively.
Returns
True if all frames have valid attached_to attributes.

◆ checkJointParentChildLinkNames()

SDFORMAT_VISIBLE bool sdf::v11::checkJointParentChildLinkNames ( const sdf::Root *  _root)

Check that all joints in contained models specify parent and child link names that match the names of sibling links.

This checks recursively and should check the files exhaustively rather than terminating early when the first error is found.

Parameters
[in]_rootSDF Root object to check recursively.
Returns
True if all models have joints with valid parent and child link names.

◆ checkPoseRelativeToGraph()

SDFORMAT_VISIBLE bool sdf::v11::checkPoseRelativeToGraph ( const sdf::Root *  _root)

For the world and each model, check that the attached_to graphs build without errors and have no cycles.

Confirm that following directed edges from each vertex in the graph leads to a model, link, or world frame. This checks recursively and should check the files exhaustively rather than terminating early when the first error is found.

Parameters
[in]_rootSDF Root object to check recursively.
Returns
True if all attached_to graphs are valid.

◆ convertFile() [1/2]

SDFORMAT_VISIBLE bool sdf::v11::convertFile ( const std::string &  _filename,
const std::string &  _version,
SDFPtr  _sdf 
)

Convert an SDF file to a specific SDF version.

Parameters
[in]_filenameName of the SDF file to convert.
[in]_versionVersion to convert _filename to.
[out]_sdfPointer to the converted SDF document.
Returns
True on success.

◆ convertFile() [2/2]

SDFORMAT_VISIBLE bool sdf::v11::convertFile ( const std::string &  _filename,
const std::string &  _version,
const ParserConfig _config,
SDFPtr  _sdf 
)

Convert an SDF file to a specific SDF version.

Parameters
[in]_filenameName of the SDF file to convert.
[in]_versionVersion to convert _filename to.
[in]_configCustom parser configuration
[out]_sdfPointer to the converted SDF document.
Returns
True on success.

◆ convertString() [1/2]

SDFORMAT_VISIBLE bool sdf::v11::convertString ( const std::string &  _sdfString,
const std::string &  _version,
SDFPtr  _sdf 
)

Convert an SDF string to a specific SDF version.

Parameters
[in]_sdfStringThe SDF string to convert.
[in]_versionVersion to convert _filename to.
[out]_sdfPointer to the converted SDF document.
Returns
True on success.

◆ convertString() [2/2]

SDFORMAT_VISIBLE bool sdf::v11::convertString ( const std::string &  _sdfString,
const std::string &  _version,
const ParserConfig _config,
SDFPtr  _sdf 
)

Convert an SDF string to a specific SDF version.

Parameters
[in]_sdfStringThe SDF string to convert.
[in]_versionVersion to convert _filename to.
[in]_configCustom parser configuration
[out]_sdfPointer to the converted SDF document.
Returns
True on success.

◆ equal()

template<typename T >
bool sdf::v11::equal ( const T &  _a,
const T &  _b,
const T &  _epsilon = 1e-6f 
)
inline

check if two values are equal, within a tolerance

Parameters
[in]_athe first value
[in]_bthe second value
[in]_epsilonthe tolerance

Referenced by sdf::v11::Color::operator==().

◆ getModelFilePath()

SDFORMAT_VISIBLE std::string sdf::v11::getModelFilePath ( const std::string &  _modelDirPath)

Get the file path to the model file.

Parameters
[in]_modelDirPathdirectory system path of the model
Returns
string with the full filesystem path to the best version (greater SDF protocol supported by this sdformat version) of the .sdf model files hosted by _modelDirPath.

◆ init()

SDFORMAT_VISIBLE bool sdf::v11::init ( SDFPtr  _sdf)

Initialize the SDF interface from the embedded root spec file.

Parameters
[out]_sdfPointer to an SDF object.
Returns
True if successful.

◆ initFile() [1/4]

SDFORMAT_VISIBLE bool sdf::v11::initFile ( const std::string &  _filename,
SDFPtr  _sdf 
)

Initialize the SDF interface using a file.

Parameters
[in]_filenameName of the SDF file
[out]_sdfPointer to an SDF object.
Returns
True if successful.

◆ initFile() [2/4]

SDFORMAT_VISIBLE bool sdf::v11::initFile ( const std::string &  _filename,
const ParserConfig _config,
SDFPtr  _sdf 
)

Initialize the SDF interface using a file.

Parameters
[in]_filenameName of the SDF file
[in]_configCustom parser configuration
[out]_sdfPointer to an SDF object.
Returns
True if successful.

◆ initFile() [3/4]

SDFORMAT_VISIBLE bool sdf::v11::initFile ( const std::string &  _filename,
ElementPtr  _sdf 
)

Initialize an SDF Element interface using a file.

Parameters
[in]_filenameName of the SDF file
[in]_sdfPointer to an SDF Element object.
Returns
True if successful.

◆ initFile() [4/4]

SDFORMAT_VISIBLE bool sdf::v11::initFile ( const std::string &  _filename,
const ParserConfig _config,
ElementPtr  _sdf 
)

Initialize an SDFElement interface using a file.

Parameters
[in]_filenameName of the SDF file
[in]_configCustom parser configuration
[out]_sdfPointer to an SDF Element object.
Returns
True if successful.

◆ initString() [1/2]

SDFORMAT_VISIBLE bool sdf::v11::initString ( const std::string &  _xmlString,
SDFPtr  _sdf 
)

Initialize the SDF interface using a string.

Parameters
[in]_xmlStringXML string to be parsed.
[out]_sdfPointer to an SDF object.
Returns
True if successful.

◆ initString() [2/2]

SDFORMAT_VISIBLE bool sdf::v11::initString ( const std::string &  _xmlString,
const ParserConfig _config,
SDFPtr  _sdf 
)

Initialize the SDF interface using a string.

Parameters
[in]_xmlStringXML string to be parsed.
[in]_configCustom parser configuration
[out]_sdfPointer to an SDF object.
Returns
True if successful.

◆ JoinName()

SDFORMAT_VISIBLE std::string sdf::v11::JoinName ( const std::string &  _scopeName,
const std::string &  _localName 
)

Join two strings with the '::' delimiter.

This checks for edge cases and is safe to use with any valid names

Parameters
[in]_scopeNamethe left-hand-side component
[in]_localNamethe right-hand-side component
Returns
A full string with the names joined by the '::' delimeter.

◆ lowercase()

std::string SDFORMAT_VISIBLE sdf::v11::lowercase ( const std::string &  _in)

Transforms a string to its lowercase equivalent.

Parameters
[in]_inString to convert to lowercase
Returns
Lowercase equilvalent of _in.

◆ operator<<() [1/5]

template<class T >
std::ostream& sdf::v11::operator<< ( std::ostream &  os,
ParamStreamer< T >  s 
)

◆ operator<<() [2/5]

template<>
std::ostream& sdf::v11::operator<< ( std::ostream &  os,
ParamStreamer< double >  s 
)
inline

◆ operator<<() [3/5]

template<>
std::ostream& sdf::v11::operator<< ( std::ostream &  os,
ParamStreamer< float >  s 
)
inline

◆ operator<<() [4/5]

template<class... Ts>
std::ostream& sdf::v11::operator<< ( std::ostream &  os,
ParamStreamer< std::variant< Ts... >>  sv 
)

◆ operator<<() [5/5]

SDFORMAT_VISIBLE std::ostream& sdf::v11::operator<< ( std::ostream &  _out,
const sdf::Errors &  _errs 
)

Output operator for a collection of errors.

Parameters
[in,out]_outThe output stream.
[in]_errThe errors to output.
Returns
Reference to the given output stream

◆ ParamStreamer()

template<class T >
sdf::v11::ParamStreamer ( ) -> ParamStreamer< T >

◆ readFile() [1/6]

SDFORMAT_VISIBLE sdf::SDFPtr sdf::v11::readFile ( const std::string &  _filename)

Populate the SDF values from a file.

This populates a new SDF pointer from a file. If the file is a URDF file it is converted to SDF first. All files are converted to the latest SDF version

Parameters
[in]_filenameName of the SDF file
Returns
Populated SDF pointer.

◆ readFile() [2/6]

SDFORMAT_VISIBLE sdf::SDFPtr sdf::v11::readFile ( const std::string &  _filename,
Errors _errors 
)

Populate the SDF values from a file.

This populates a new SDF pointer from a file. If the file is a URDF file it is converted to SDF first. All files are converted to the latest SDF version

Parameters
[in]_filenameName of the SDF file
[out]_errorsParsing errors will be appended to this variable.
Returns
Populated SDF pointer.

◆ readFile() [3/6]

SDFORMAT_VISIBLE sdf::SDFPtr sdf::v11::readFile ( const std::string &  _filename,
const ParserConfig _config,
Errors _errors 
)

Populate the SDF values from a file.

This populates a new SDF pointer from a file. If the file is a URDF file it is converted to SDF first. All files are converted to the latest SDF version

Parameters
[in]_filenameName of the SDF file
[in]_configCustom parser configuration
[out]_errorsParsing errors will be appended to this variable.
Returns
Populated SDF pointer.

◆ readFile() [4/6]

SDFORMAT_VISIBLE bool sdf::v11::readFile ( const std::string &  _filename,
SDFPtr  _sdf,
Errors _errors 
)

Populate the SDF values from a file.

This populates the given SDF pointer from a file. If the file is a URDF file it is converted to SDF first. All files are converted to the latest SDF version

Parameters
[in]_filenameName of the SDF file
[out]_sdfPointer to an SDF object.
[out]_errorsParsing errors will be appended to this variable.
Returns
True if successful.

◆ readFile() [5/6]

SDFORMAT_VISIBLE bool sdf::v11::readFile ( const std::string &  _filename,
const ParserConfig _config,
SDFPtr  _sdf,
Errors _errors 
)

Populate the SDF values from a file.

This populates the given SDF pointer from a file. If the file is a URDF file it is converted to SDF first. All files are converted to the latest SDF version

Parameters
[in]_filenameName of the SDF file
[in]_configCustom parser configuration
[out]_sdfPointer to an SDF object.
[out]_errorsParsing errors will be appended to this variable.
Returns
True if successful.

◆ readFile() [6/6]

SDFORMAT_VISIBLE bool sdf::v11::readFile ( const std::string &  _filename,
SDFPtr  _sdf 
)

Populate the SDF values from a file.

This populates the given SDF pointer from a file. If the file is a URDF file it is converted to SDF first. All files are converted to the latest SDF version

Parameters
[in]_filenameName of the SDF file
[out]_sdfPointer to an SDF object.
Returns
True if successful.

◆ readFileWithoutConversion() [1/2]

SDFORMAT_VISIBLE bool sdf::v11::readFileWithoutConversion ( const std::string &  _filename,
SDFPtr  _sdf,
Errors _errors 
)

Populate the SDF values from a file without converting to the latest SDF version.

This populates the given SDF pointer from a file. If the file is a URDF file it is converted to SDF first. This function does not convert the loaded SDF to the latest version. Use this function with care, as it may prevent loading of DOM objects from this SDF object.

Parameters
[in]_filenameName of the SDF file
[out]_sdfPointer to an SDF object.
[out]_errorsParsing errors will be appended to this variable.
Returns
True if successful.

◆ readFileWithoutConversion() [2/2]

SDFORMAT_VISIBLE bool sdf::v11::readFileWithoutConversion ( const std::string &  _filename,
const ParserConfig _config,
SDFPtr  _sdf,
Errors _errors 
)

Populate the SDF values from a file without converting to the latest SDF version.

This populates the given SDF pointer from a file. If the file is a URDF file it is converted to SDF first. This function does not convert the loaded SDF to the latest version. Use this function with care, as it may prevent loading of DOM objects from this SDF object.

Parameters
[in]_filenameName of the SDF file
[in]_configCustom parser configuration
[out]_sdfPointer to an SDF object.
[out]_errorsParsing errors will be appended to this variable.
Returns
True if successful.

◆ readString() [1/6]

SDFORMAT_VISIBLE bool sdf::v11::readString ( const std::string &  _xmlString,
SDFPtr  _sdf,
Errors _errors 
)

Populate the SDF values from a string.

This populates the SDF pointer from a string. If the string is a URDF string it is converted to SDF first. All string are converted to the latest SDF version

Parameters
[in]_xmlStringXML string to be parsed.
[out]_sdfPointer to an SDF object.
[out]_errorsParsing errors will be appended to this variable.
Returns
True if successful.

◆ readString() [2/6]

SDFORMAT_VISIBLE bool sdf::v11::readString ( const std::string &  _xmlString,
const ParserConfig _config,
SDFPtr  _sdf,
Errors _errors 
)

Populate the SDF values from a string.

This populates the SDF pointer from a string. If the string is a URDF string it is converted to SDF first. All string are converted to the latest SDF version

Parameters
[in]_xmlStringXML string to be parsed.
[in]_configCustom parser configuration
[out]_sdfPointer to an SDF object.
[out]_errorsParsing errors will be appended to this variable.
Returns
True if successful.

◆ readString() [3/6]

SDFORMAT_VISIBLE bool sdf::v11::readString ( const std::string &  _xmlString,
SDFPtr  _sdf 
)

Populate the SDF values from a string.

This populates the SDF pointer from a string. If the string is a URDF string it is converted to SDF first. All string are converted to the latest SDF version

Parameters
[in]_xmlStringXML string to be parsed.
[out]_sdfPointer to an SDF object.
Returns
True if successful.

◆ readString() [4/6]

SDFORMAT_VISIBLE bool sdf::v11::readString ( const std::string &  _xmlString,
ElementPtr  _sdf,
Errors _errors 
)

Populate the SDF values from a string.

This populates the SDF pointer from a string. If the string is a URDF string it is converted to SDF first. All strings are converted to the latest SDF version

Parameters
[in]_xmlStringXML string to be parsed.
[out]_sdfPointer to an SDF Element object.
[out]_errorsParsing errors will be appended to this variable.
Returns
True if successful.

◆ readString() [5/6]

SDFORMAT_VISIBLE bool sdf::v11::readString ( const std::string &  _xmlString,
const ParserConfig _config,
ElementPtr  _sdf,
Errors _errors 
)

Populate the SDF values from a string.

This populates the SDF pointer from a string. If the string is a URDF string it is converted to SDF first. All strings are converted to the latest SDF version

Parameters
[in]_xmlStringXML string to be parsed.
[in]_configCustom parser configuration
[out]_sdfPointer to an SDF Element object.
[out]_errorsParsing errors will be appended to this variable.
Returns
True if successful.

◆ readString() [6/6]

SDFORMAT_VISIBLE bool sdf::v11::readString ( const std::string &  _xmlString,
ElementPtr  _sdf 
)

Populate the SDF values from a string.

This populates the SDF pointer from a string. If the string is a URDF string it is converted to SDF first. All strings are converted to the latest SDF version

Parameters
[in]_xmlStringXML string to be parsed.
[in]_sdfPointer to an SDF Element object.
Returns
True if successful.

◆ readStringWithoutConversion() [1/2]

SDFORMAT_VISIBLE bool sdf::v11::readStringWithoutConversion ( const std::string &  _xmlString,
SDFPtr  _sdf,
Errors _errors 
)

Populate the SDF values from a string without converting to the latest SDF version.

This populates the SDF pointer from a string. If the string is a URDF file it is converted to SDF first. This function does not convert the loaded SDF to the latest version. Use this function with care, as it may prevent loading of DOM objects from this SDF object.

Parameters
[in]_xmlStringXML string to be parsed.
[out]_sdfPointer to an SDF object.
[out]_errorsParsing errors will be appended to this variable.
Returns
True if successful.

◆ readStringWithoutConversion() [2/2]

SDFORMAT_VISIBLE bool sdf::v11::readStringWithoutConversion ( const std::string &  _xmlString,
const ParserConfig _config,
SDFPtr  _sdf,
Errors _errors 
)

Populate the SDF values from a string.

This populates the SDF pointer from a string. If the string is a URDF string it is converted to SDF first. All strings are converted to the latest SDF version

Parameters
[in]_xmlStringXML string to be parsed.
[in]_configCustom parser configuration
[out]_sdfPointer to an SDF object.
[out]_errorsParsing errors will be appended to this variable.
Returns
True if successful.

◆ recursiveSameTypeUniqueNames()

SDFORMAT_VISIBLE bool sdf::v11::recursiveSameTypeUniqueNames ( sdf::ElementPtr  _elem)

Check that all sibling elements of the same type have unique names.

This checks recursively and should check the files exhaustively rather than terminating early when the first duplicate name is found.

Parameters
[in]_elemSDF Element to check recursively.
Returns
True if all contained elements have do not share a name with sibling elements of the same type.

◆ recursiveSiblingNoDoubleColonInNames()

SDFORMAT_VISIBLE bool sdf::v11::recursiveSiblingNoDoubleColonInNames ( sdf::ElementPtr  _elem)

Check that all sibling elements do not contain the delimiter double colons '::' in element names, which is reserved for forming scopes in SDFormat 1.8.

This checks recursively and should check the files exhaustively rather than terminating early when the first name containing '::' is found.

Parameters
[in]_elemSDF Element to check recursively.
Returns
True if all contained element names do not have the delimiter '::'

◆ recursiveSiblingUniqueNames()

SDFORMAT_VISIBLE bool sdf::v11::recursiveSiblingUniqueNames ( sdf::ElementPtr  _elem)

Check that all sibling elements of the any type have unique names.

This checks recursively and should check the files exhaustively rather than terminating early when the first duplicate name is found.

Parameters
[in]_elemSDF Element to check recursively.
Returns
True if all contained elements have do not share a name with sibling elements of any type.

◆ shouldValidateElement()

SDFORMAT_VISIBLE bool sdf::v11::shouldValidateElement ( sdf::ElementPtr  _elem)

Check whether the element should be validated.

If this returns false, validators such as the unique name and reserve name checkers should skip this element and its descendants.

Parameters
[in]_elemSDF Element to check.
Returns
True if the element should be validated

◆ split()

SDFORMAT_VISIBLE std::vector<std::string> sdf::v11::split ( const std::string &  _str,
const std::string &  _splitter 
)

Split a string using the delimiter in splitter.

Parameters
[in]strThe string to split.
[in]splitterThe delimiter to use.
Returns
A vector of strings containing the split tokens.

◆ SplitName()

SDFORMAT_VISIBLE std::pair<std::string, std::string> sdf::v11::SplitName ( const std::string &  _absoluteName)

Split a name into a two strings based on the '::' delimeter.

Parameters
[in]_absoluteNameThe fully qualified absolute name
Returns
A pair with the absolute name minus the leaf node name, and the leaf name

◆ trim() [1/2]

SDFORMAT_VISIBLE std::string sdf::v11::trim ( const char *  _in)

Trim leading and trailing whitespace from a string.

Parameters
[in]_inThe string to trim.
Returns
A string containing the trimmed value.

◆ trim() [2/2]

SDFORMAT_VISIBLE std::string sdf::v11::trim ( const std::string &  _in)

Trim leading and trailing whitespace from a string.

Parameters
[in]_inThe string to trim.
Returns
A string containing the trimmed value.

Variable Documentation

◆ Element

◆ kSdfScopeDelimiter

const std::string sdf::v11::kSdfScopeDelimiter = "::"

◆ Param

◆ SDF