Ignition Gazebo

API Reference

1.0.2
ignition::gazebo Namespace Reference

Gazebo is a leading open source robotics simulator, that provides high fidelity physics, rendering, and sensor simulation. More...

Namespaces

 components
 Components represent data, such as position information. An Entity usually has one or more associated components.
 
 events
 Namespace for all events. Refer to the EventManager class for more information about events.
 
 systems
 Namespace for all System plugins. Refer to the System class for more information about systems.
 

Classes

class  ComponentStorage
 Templated implementation of component storage. More...
 
class  ComponentStorageBase
 All component instances of the same type are stored squentially in memory. This is a base class for storing components of a particular type. More...
 
class  EntityComponentManager
 The EntityComponentManager constructs, deletes, and returns components and entities. A component can be of any class which inherits from components::BaseComponent. More...
 
class  EventManager
 The EventManager is used to send/receive notifications of simulator events. More...
 
class  ISystemConfigure
 Interface for a system that implements optional configuration. More...
 
class  ISystemPostUpdate
 Interface for a system that uses the PostUpdate phase. More...
 
class  ISystemPreUpdate
 Interface for a system that uses the PreUpdate phase. More...
 
class  ISystemUpdate
 Interface for a system that uses the Update phase. More...
 
class  Model
 This class provides wrappers around entities and components which are more convenient and straight-forward to use than dealing with the EntityComponentManager directly. All the functions provided here are meant to be used with a model entity. More...
 
class  SdfEntityCreator
 Provides convenient functions to spawn entities and load their plugins from SDF elements, to remove them, and to change their hierarchy. More...
 
class  Server
 The server instantiates and controls simulation. More...
 
class  ServerConfig
 Configuration parameters for a Server. An instance of this object can be used to construct a Server with a particular configuration. More...
 
class  System
 Base class for a System. More...
 
class  SystemLoader
 Class for loading/unloading System plugins. More...
 
class  TmpIface
 Temporary place to prototype transport interfaces while it's not clear where they will live. More...
 
struct  UpdateInfo
 Information passed to systems on the update callback. More...
 

Typedefs

using ComponentId = int
 A unique identifier for a component instance. The uniqueness of a ComponentId is scoped to the component's type. More...
 
using ComponentKey = std::pair< ComponentTypeId, ComponentId >
 A key that uniquely identifies, at the global scope, a component instance. More...
 
using ComponentTypeId = uint64_t
 A unique identifier for a component type. A component type must be derived from components::BaseComponent and can contain plain data or something more complex like ignition::math::Pose3d. More...
 
using Entity = uint64_t
 An Entity identifies a single object in simulation such as a model, link, or light. At its core, an Entity is just an identifier. More...
 
using EntityGraph = math::graph::DirectedGraph< Entity, bool >
 Type alias for the graph that holds entities. Each vertex is an entity, and the direction points from the parent to its children. All edges are positive booleans. More...
 
using EntityQueryCallback = std::function< void(const UpdateInfo, EntityComponentManager &)>
 typedef for query callbacks More...
 
using SystemPluginPtr = ignition::plugin::SpecializedPluginPtr< System, ISystemConfigure, ISystemPreUpdate, ISystemUpdate, ISystemPostUpdate >
 

Functions

template<class Out >
Out convert (const sdf::Geometry &)
 Generic conversion from an SDF geometry to another type. More...
 
template<>
msgs::Geometry convert (const sdf::Geometry &_in)
 Specialized conversion from an SDF geometry to a geometry message. More...
 
template<class Out >
Out convert (const sdf::Material &)
 Generic conversion from an SDF material to another type. More...
 
template<>
msgs::Material convert (const sdf::Material &_in)
 Specialized conversion from an SDF material to a material message. More...
 
template<class Out >
Out convert (const sdf::Light &)
 Generic conversion from an SDF light to another type. More...
 
template<>
msgs::Light convert (const sdf::Light &_in)
 Specialized conversion from an SDF light to a light message. More...
 
template<class Out >
Out convert (const sdf::Gui &)
 Generic conversion from an SDF gui to another type. More...
 
template<>
msgs::GUI convert (const sdf::Gui &_in)
 Specialized conversion from an SDF gui to a gui message. More...
 
std::string scopedName (const Entity &_entity, const EntityComponentManager &_ecm, const std::string &_delim="/", bool _includePrefix=true)
 Helper function to generate scoped name for an entity. More...
 
math::Pose3d worldPose (const Entity &_entity, const EntityComponentManager &_ecm)
 Helper function to compute world pose of an entity. More...
 

Variables

class IGNITION_GAZEBO_HIDDEN EntityComponentManagerPrivate
 
class IGNITION_GAZEBO_HIDDEN EventManagerPrivate
 
static const ComponentId kComponentIdInvalid = -1
 Id that indicates an invalid component. More...
 
static const ComponentTypeId kComponentTypeIdInvalid = -1
 Id that indicates an invalid component type. More...
 
const Entity kNullEntity {0}
 Indicates a non-existant or invalid Entity. More...
 
class IGNITION_GAZEBO_HIDDEN ModelPrivate
 
class IGNITION_GAZEBO_HIDDEN SystemLoaderPrivate
 

Detailed Description

Gazebo is a leading open source robotics simulator, that provides high fidelity physics, rendering, and sensor simulation.

Typedef Documentation

◆ ComponentId

using ComponentId = int

A unique identifier for a component instance. The uniqueness of a ComponentId is scoped to the component's type.

See also
ComponentKey.

◆ ComponentKey

A key that uniquely identifies, at the global scope, a component instance.

◆ ComponentTypeId

using ComponentTypeId = uint64_t

A unique identifier for a component type. A component type must be derived from components::BaseComponent and can contain plain data or something more complex like ignition::math::Pose3d.

◆ Entity

using Entity = uint64_t

An Entity identifies a single object in simulation such as a model, link, or light. At its core, an Entity is just an identifier.

An Entity usually has one or more associated Components. Components represent data, such as position information.

The set of Components assigned to an Entity also act as a key. Systems process Entities based on their key. For example, a physics system may process only entities that have pose and inertia components.

An Entity that needs to be identified and used by Systems should be created through the EntityComponentManager.

◆ EntityGraph

using EntityGraph = math::graph::DirectedGraph<Entity, bool>

Type alias for the graph that holds entities. Each vertex is an entity, and the direction points from the parent to its children. All edges are positive booleans.

◆ EntityQueryCallback

using EntityQueryCallback = std::function<void (const UpdateInfo, EntityComponentManager &)>

typedef for query callbacks

◆ SystemPluginPtr

using SystemPluginPtr = ignition::plugin::SpecializedPluginPtr< System, ISystemConfigure, ISystemPreUpdate, ISystemUpdate, ISystemPostUpdate >

Function Documentation

◆ convert() [1/8]

Out ignition::gazebo::convert ( const sdf::Geometry &  )

Generic conversion from an SDF geometry to another type.

Specialized conversion from an SDF geometry to a geometry message.

Parameters
[in]_inSDF geometry.
Returns
Conversion result.
Template Parameters
OutOutput type.

References convert().

Referenced by convert().

◆ convert() [2/8]

msgs::Geometry ignition::gazebo::convert ( const sdf::Geometry &  )

Specialized conversion from an SDF geometry to a geometry message.

Parameters
[in]_inSDF geometry.
Returns
Geometry message.

Specialized conversion from an SDF geometry to a geometry message.

Parameters
[in]_inSDF geometry.
Returns
Conversion result.
Template Parameters
OutOutput type.

References convert().

Referenced by convert().

◆ convert() [3/8]

Out ignition::gazebo::convert ( const sdf::Material &  )

Generic conversion from an SDF material to another type.

Specialized conversion from an SDF material to a material message.

Parameters
[in]_inSDF material.
Returns
Conversion result.
Template Parameters
OutOutput type.

References convert().

◆ convert() [4/8]

msgs::Material ignition::gazebo::convert ( const sdf::Material &  )

Specialized conversion from an SDF material to a material message.

Parameters
[in]_inSDF material.
Returns
Material message.

Specialized conversion from an SDF material to a material message.

Parameters
[in]_inSDF material.
Returns
Conversion result.
Template Parameters
OutOutput type.

References convert().

◆ convert() [5/8]

Out ignition::gazebo::convert ( const sdf::Light &  )

Generic conversion from an SDF light to another type.

Specialized conversion from an SDF light to a light message.

Parameters
[in]_inSDF light.
Returns
Conversion result.
Template Parameters
OutOutput type.

References convert().

◆ convert() [6/8]

msgs::Light ignition::gazebo::convert ( const sdf::Light &  )

Specialized conversion from an SDF light to a light message.

Parameters
[in]_inSDF light.
Returns
Light message.

Specialized conversion from an SDF light to a light message.

Parameters
[in]_inSDF light.
Returns
Conversion result.
Template Parameters
OutOutput type.

References convert().

◆ convert() [7/8]

Out ignition::gazebo::convert ( const sdf::Gui &  )

Generic conversion from an SDF gui to another type.

Specialized conversion from an SDF gui to a gui message.

Parameters
[in]_inSDF gui.
Returns
Conversion result.
Template Parameters
OutOutput type.

References convert().

◆ convert() [8/8]

msgs::GUI ignition::gazebo::convert ( const sdf::Gui &  )

Specialized conversion from an SDF gui to a gui message.

Parameters
[in]_inSDF gui.
Returns
Gui message.

Specialized conversion from an SDF gui to a gui message.

Parameters
[in]_inSDF gui.
Returns
Conversion result.
Template Parameters
OutOutput type.

References convert().

◆ scopedName()

std::string ignition::gazebo::scopedName ( const Entity _entity,
const EntityComponentManager _ecm,
const std::string &  _delim = "/",
bool  _includePrefix = true 
)

Helper function to generate scoped name for an entity.

Parameters
[in]_entityEntity to get the name for.
[in]_ecmImmutable reference to ECM.
[in]_delimDelimiter to put between names, defaults to "/".
[in]_includePrefixTrue to include the type prefix before the entity name

◆ worldPose()

math::Pose3d ignition::gazebo::worldPose ( const Entity _entity,
const EntityComponentManager _ecm 
)

Helper function to compute world pose of an entity.

Parameters
[in]_entityEntity to get the world pose for
[in]_ecmImmutable reference to ECM.
Returns
World pose of entity

Variable Documentation

◆ EntityComponentManagerPrivate

class IGNITION_GAZEBO_HIDDEN EntityComponentManagerPrivate

◆ EventManagerPrivate

class IGNITION_GAZEBO_HIDDEN EventManagerPrivate

◆ kComponentIdInvalid

const ComponentId kComponentIdInvalid = -1
static

Id that indicates an invalid component.

◆ kComponentTypeIdInvalid

const ComponentTypeId kComponentTypeIdInvalid = -1
static

Id that indicates an invalid component type.

◆ kNullEntity

const Entity kNullEntity {0}

Indicates a non-existant or invalid Entity.

Referenced by EntityComponentManager::EntityByComponents().

◆ ModelPrivate

class IGNITION_GAZEBO_HIDDEN ModelPrivate

◆ SystemLoaderPrivate

class IGNITION_GAZEBO_HIDDEN SystemLoaderPrivate