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

namespace for Simulation Description Format parser More...

Namespaces

 SDF_VERSION_NAMESPACE
 
 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. They include information about the assertion expression violated, function where problem appeared and assertion debug message. 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  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  Friction
 Friction information for a surface. 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  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
 
class  NavSat
 NavSat contains information about a NavSat sensor. More...
 
class  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  ODE
 ODE information for a friction. More...
 
class  OutputConfig
 This class contains configuration options for SDF output. More...
 
class  Param
 A parameter class. More...
 
class  ParamPrivate
 
struct  ParamStreamer
 
class  ParserConfig
 This class contains configuration options for the libsdformat parser. More...
 
class  ParticleEmitter
 A description of a particle emitter, which can be attached to a link. 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  Plugin
 
class  Polyline
 Polyline represents a 2D path. Multiple polylines can be combined. More...
 
class  PrintConfig
 This class contains configuration options for printing elements. 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< const ElementElementConstPtr
 
using ElementPtr = std::shared_ptr< Element >
 
typedef std::vector< ElementPtrElementPtr_V
 
using ElementWeakPtr = std::weak_ptr< Element >
 
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 Plugins = std::vector< Plugin >
 A vector of Plugin. More...
 
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 }
 
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::ELEMENT_ERROR, 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::ROTATION_SNAP_CONFIG_ERROR, ErrorCode::STRING_READ, ErrorCode::MODEL_PLACEMENT_FRAME_INVALID,
  ErrorCode::VERSION_DEPRECATED, ErrorCode::MERGE_INCLUDE_UNSUPPORTED, ErrorCode::PARAMETER_ERROR, ErrorCode::UNKNOWN_PARAMETER_TYPE
}
 
enum  ForceTorqueFrame : uint8_t { ForceTorqueFrame::INVALID = 0, ForceTorqueFrame::PARENT = 1, ForceTorqueFrame::CHILD = 2, ForceTorqueFrame::SENSOR = 3 }
 
enum  ForceTorqueMeasureDirection : uint8_t { ForceTorqueMeasureDirection::INVALID = 0, ForceTorqueMeasureDirection::PARENT_TO_CHILD = 1, ForceTorqueMeasureDirection::CHILD_TO_PARENT = 2 }
 
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, GeometryType::POLYLINE = 9
}
 
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
}
 
enum  LightType { LightType::INVALID = 0, LightType::POINT = 1, LightType::SPOT = 2, LightType::DIRECTIONAL = 3 }
 
enum  NoiseType { NoiseType::NONE = 0, NoiseType::GAUSSIAN = 1, NoiseType::GAUSSIAN_QUANTIZED = 2 }
 
enum  NormalMapSpace : int { NormalMapSpace::TANGENT = 0, NormalMapSpace::OBJECT = 1 }
 Space the normal map is defined in. More...
 
enum  ParticleEmitterType { ParticleEmitterType::POINT = 0, ParticleEmitterType::BOX = 1, ParticleEmitterType::CYLINDER = 2, ParticleEmitterType::ELLIPSOID = 3 }
 
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
}
 
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, SensorType::NAVSAT = 21, SensorType::SEGMENTATION_CAMERA = 22, SensorType::BOUNDINGBOX_CAMERA = 23,
  SensorType::CUSTOM = 24, SensorType::WIDE_ANGLE_CAMERA = 25
}
 
enum  ShaderType : int { ShaderType::PIXEL = 0, ShaderType::VERTEX = 1, ShaderType::NORMAL_MAP_OBJECTSPACE = 2, ShaderType::NORMAL_MAP_TANGENTSPACE = 3 }
 

Functions

GZ_SDFORMAT_VISIBLE void addURIPath (const std::string &_uri, const std::string &_path)
 Associate paths to a URI. More...
 
GZ_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...
 
GZ_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...
 
GZ_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...
 
GZ_SDFORMAT_VISIBLE bool checkJointParentChildNames (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...
 
GZ_SDFORMAT_VISIBLE GZ_DEPRECATED(13) bool checkJointParentChildLinkNames(const sdf GZ_SDFORMAT_VISIBLE void checkJointParentChildNames (const sdf::Root *_root, Errors &_errors)
 Check that all joints in contained models specify parent and child link names that match the names of sibling links. More...
 
GZ_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...
 
GZ_SDFORMAT_VISIBLE std::string computeMergedModelProxyFrameName (const std::string &_modelName)
 Function to compute a merged model's proxy frame name. More...
 
GZ_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...
 
GZ_SDFORMAT_VISIBLE bool convertFile (const std::string &_filename, const std::string &_version, SDFPtr _sdf)
 Convert an SDF file to a specific SDF version. More...
 
GZ_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...
 
GZ_SDFORMAT_VISIBLE bool convertString (const std::string &_sdfString, const std::string &_version, 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...
 
GZ_SDFORMAT_VISIBLE std::string findFile (const std::string &_filename, bool _searchLocalPath, bool _useCallback, const ParserConfig &_config)
 Find the absolute path of a file. More...
 
GZ_SDFORMAT_VISIBLE std::string findFile (const std::string &_filename, bool _searchLocalPath=true, bool _useCallback=false)
 Find the absolute path of a file. More...
 
GZ_SDFORMAT_VISIBLE std::string getModelFilePath (const std::string &_modelDirPath)
 Get the file path to the model file. More...
 
class GZ_SDFORMAT_VISIBLE GZ_DEPRECATED (13) Inertia
 A class for inertial information about a link. More...
 
GZ_SDFORMAT_VISIBLE bool init (SDFPtr _sdf)
 Initialize the SDF interface from the embedded root spec file. More...
 
GZ_SDFORMAT_VISIBLE bool init (SDFPtr _sdf, const ParserConfig &_config)
 Initialize the SDF interface from the embedded root spec file. More...
 
GZ_SDFORMAT_VISIBLE bool initFile (const std::string &_filename, const ParserConfig &_config, ElementPtr _sdf)
 Initialize an SDFElement interface using a file. More...
 
GZ_SDFORMAT_VISIBLE bool initFile (const std::string &_filename, const ParserConfig &_config, SDFPtr _sdf)
 Initialize the SDF interface using a file. More...
 
GZ_SDFORMAT_VISIBLE bool initFile (const std::string &_filename, ElementPtr _sdf)
 Initialize an SDF Element interface using a file. More...
 
GZ_SDFORMAT_VISIBLE bool initFile (const std::string &_filename, SDFPtr _sdf)
 Initialize the SDF interface using a file. More...
 
GZ_SDFORMAT_VISIBLE bool initString (const std::string &_xmlString, const ParserConfig &_config, SDFPtr _sdf)
 Initialize the SDF interface using a string. More...
 
GZ_SDFORMAT_VISIBLE bool initString (const std::string &_xmlString, SDFPtr _sdf)
 Initialize the SDF interface using a string. More...
 
GZ_SDFORMAT_VISIBLE std::string JoinName (const std::string &_scopeName, const std::string &_localName)
 Join two strings with the '::' delimiter. More...
 
std::string GZ_SDFORMAT_VISIBLE lowercase (const std::string &_in)
 Transforms a string to its lowercase equivalent. More...
 
GZ_SDFORMAT_VISIBLE std::ostream & operator<< (std::ostream &_out, const sdf::Errors &_errs)
 Output operator for a collection of errors. More...
 
template<class... Ts>
std::ostream & operator<< (std::ostream &os, ParamStreamer< std::variant< Ts... >> sv)
 
template<class T >
std::ostream & operator<< (std::ostream &os, ParamStreamer< T > s)
 
GZ_SDFORMAT_VISIBLE sdf::SDFPtr readFile (const std::string &_filename)
 Populate the SDF values from a file. More...
 
GZ_SDFORMAT_VISIBLE sdf::SDFPtr readFile (const std::string &_filename, const ParserConfig &_config, Errors &_errors)
 Populate the SDF values from a file. More...
 
GZ_SDFORMAT_VISIBLE bool readFile (const std::string &_filename, const ParserConfig &_config, SDFPtr _sdf, Errors &_errors)
 Populate the SDF values from a file. More...
 
GZ_SDFORMAT_VISIBLE sdf::SDFPtr readFile (const std::string &_filename, Errors &_errors)
 Populate the SDF values from a file. More...
 
GZ_SDFORMAT_VISIBLE bool readFile (const std::string &_filename, SDFPtr _sdf)
 Populate the SDF values from a file. More...
 
GZ_SDFORMAT_VISIBLE bool readFile (const std::string &_filename, SDFPtr _sdf, Errors &_errors)
 Populate the SDF values from a file. More...
 
GZ_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...
 
GZ_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...
 
GZ_SDFORMAT_VISIBLE bool readString (const std::string &_xmlString, const ParserConfig &_config, ElementPtr _sdf, Errors &_errors)
 Populate the SDF values from a string. More...
 
GZ_SDFORMAT_VISIBLE bool readString (const std::string &_xmlString, const ParserConfig &_config, SDFPtr _sdf, Errors &_errors)
 Populate the SDF values from a string. More...
 
GZ_SDFORMAT_VISIBLE bool readString (const std::string &_xmlString, ElementPtr _sdf)
 Populate the SDF values from a string. More...
 
GZ_SDFORMAT_VISIBLE bool readString (const std::string &_xmlString, ElementPtr _sdf, Errors &_errors)
 Populate the SDF values from a string. More...
 
GZ_SDFORMAT_VISIBLE bool readString (const std::string &_xmlString, SDFPtr _sdf)
 Populate the SDF values from a string. More...
 
GZ_SDFORMAT_VISIBLE bool readString (const std::string &_xmlString, SDFPtr _sdf, Errors &_errors)
 Populate the SDF values from a string. More...
 
GZ_SDFORMAT_VISIBLE bool readStringWithoutConversion (const std::string &_xmlString, const ParserConfig &_config, SDFPtr _sdf, Errors &_errors)
 Populate the SDF values from a string. More...
 
GZ_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...
 
GZ_SDFORMAT_VISIBLE bool recursiveSameTypeUniqueNames (sdf::ElementPtr _elem)
 Check that all sibling elements of the same type have unique names. More...
 
GZ_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...
 
GZ_SDFORMAT_VISIBLE bool recursiveSiblingUniqueNames (sdf::ElementPtr _elem)
 Check that all sibling elements of the any type have unique names. More...
 
GZ_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...
 
GZ_SDFORMAT_VISIBLE bool shouldValidateElement (sdf::ElementPtr _elem)
 Check whether the element should be validated. More...
 
GZ_SDFORMAT_VISIBLE std::vector< std::string > split (const std::string &_str, const std::string &_splitter)
 Split a string using the delimiter in splitter. More...
 
GZ_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...
 
GZ_SDFORMAT_VISIBLE std::string trim (const char *_in)
 Trim leading and trailing whitespace from a string. More...
 
GZ_SDFORMAT_VISIBLE std::string trim (const std::string &_in)
 Trim leading and trailing whitespace from a string. More...
 

Variables

class GZ_SDFORMAT_VISIBLE Element
 
const std::string kSdfScopeDelimiter = "::"
 
constexpr char kSdfStringSource [] = "<data-string>"
 The source path replacement if it was parsed from a string, instead of a file. More...
 
constexpr char kUrdfStringSource [] = "<urdf-string>"
 The source path replacement if the urdf was parsed from a string, instead of a file. More...
 
class GZ_SDFORMAT_VISIBLE Param
 
class GZ_SDFORMAT_VISIBLE SDF
 

Detailed Description

namespace for Simulation Description Format parser

The parsing functions read XML elements contained in either a file or string and translates the XML elements into SDF data structures. This translation finds errors in the provided XML, fills in default values, and performs any necessary version related conversions.

XML elements that are not part of the SDF specification are copied in place. This preserves the given XML structure and data.