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

namespace for Simulation Description Format parser More...

Namespaces

 SDF_VERSION_NAMESPACE
 
 v10
 
 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  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  Error
 
class  Exception
 Class for generating exceptions. 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  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  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  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  Root
 Root class that acts as an entry point to the SDF document model. More...
 
class  Scene
 
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
 
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...
 
typedef std::vector< ParamPtrParam_V
 
typedef std::shared_ptr< ParamParamPtr
 
typedef std::shared_ptr< SDFSDFPtr
 

Enumerations

enum  AtmosphereType { AtmosphereType::ADIABATIC = 0 }
 
enum  ErrorCode {
  ErrorCode::NONE = 0, ErrorCode::FILE_READ, ErrorCode::DUPLICATE_NAME, ErrorCode::RESERVED_NAME,
  ErrorCode::ATTRIBUTE_MISSING, ErrorCode::ATTRIBUTE_INVALID, ErrorCode::ATTRIBUTE_DEPRECATED, 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
}
 
enum  GeometryType {
  GeometryType::EMPTY = 0, GeometryType::BOX = 1, GeometryType::CYLINDER = 2, GeometryType::PLANE = 3,
  GeometryType::SPHERE = 4, GeometryType::MESH = 5, GeometryType::HEIGHTMAP = 6
}
 
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
}
 
enum  ShaderType : int { ShaderType::PIXEL = 0, ShaderType::VERTEX = 1, ShaderType::NORMAL_MAP_OBJECTSPACE = 2, ShaderType::NORMAL_MAP_TANGENTSPACE = 3 }
 

Functions

SDFORMAT_VISIBLE void addNestedModel (ElementPtr _sdf, ElementPtr _includeSDF)
 Copy the contents of the first model element from one ElementPtr to another ElementPtr, prepending the copied model name with :: to link and joint names, and apply the model pose to the copied link poses. More...
 
SDFORMAT_VISIBLE void addNestedModel (ElementPtr _sdf, ElementPtr _includeSDF, Errors &_errors)
 Copy the contents of the first model element from one ElementPtr to another ElementPtr, prepending the copied model name with :: to link and joint names, and apply the model pose to the copied link poses. More...
 
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 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...
 
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 getModelFilePath (const std::string &_modelDirPath)
 Get the file path to the model file. More...
 
SDFORMAT_VISIBLE bool init (SDFPtr _sdf)
 Init based on the installed sdf_format.xml file. More...
 
SDFORMAT_VISIBLE bool initFile (const std::string &_filename, ElementPtr _sdf)
 Initialize an SDFElement interface using a file. More...
 
SDFORMAT_VISIBLE bool initFile (const std::string &_filename, SDFPtr _sdf)
 Initialize the SDF interface using a file. More...
 
SDFORMAT_VISIBLE bool initString (const std::string &_xmlString, SDFPtr _sdf)
 Initialize the SDF interface using a string. More...
 
std::string SDFORMAT_VISIBLE lowercase (const std::string &_in)
 Transforms a string to its lowercase equivalent. 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)
 
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 bool readFile (const std::string &_filename, SDFPtr _sdf)
 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 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 readString (const std::string &_xmlString, ElementPtr _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, SDFPtr _sdf)
 Populate the SDF values from a string. More...
 
SDFORMAT_VISIBLE bool readString (const std::string &_xmlString, SDFPtr _sdf, Errors &_errors)
 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 recursiveSameTypeUniqueNames (sdf::ElementPtr _elem)
 Check that all sibling elements of the same type have unique names. 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::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
 
class SDFORMAT_VISIBLE Param
 
class 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.