##

Physics

Physics and dynamics functionality. More...

## Modules

| Bullet Physics
| Bullet physics engine wrapper.
| Dart Physics
| dart physics engine wrapper
| ODE Physics
| Open Dynamics Engine physics wrapper.
| Simbody Physics
| simbody physics engine wrapper

## Files

file | BulletTypes.hh
| Bullet wrapper forward declarations and typedefs.
file | DARTTypes.hh
| DART wrapper forward declarations and typedefs.
file | PhysicsTypes.hh
| default namespace for gazebo
file | SimbodyTypes.hh
| Simbody wrapper forward declarations and typedefs.

## Namespaces

| gazebo::physics
| namespace for physics

## Classes

class | Actor
| Actor class enables GPU based mesh model / skeleton scriptable animation. More...
class | AdiabaticAtmosphere
| Adiabatic atmosphere model based on the troposphere model in the Manual of the ICAO Standard Atmosphere. More...
class | Atmosphere
| This models a base atmosphere class to serve as a common interface to any derived atmosphere models. More...
class | AtmosphereFactory
| The atmosphere factory instantiates different atmosphere models. More...
class | BallJoint< T >
| Base class for a ball joint. More...
class | Base
| Base class for most physics classes. More...
class | BoxShape
| Box geometry primitive. More...
class | Collision
| Base class for all collision entities. More...
class | CollisionState
| Store state information of a physics::Collision object. More...
class | Contact
| A contact between two collisions. Each contact can consist of a number of contact points. More...
class | ContactManager
| Aggregates all the contact information generated by the collision detection engine. More...
class | CylinderShape
| Cylinder collision. More...
class | Entity
| Base class for all physics objects in Gazebo. More...
class | FixedJoint< T >
| A fixed joint rigidly connecting two bodies. More...
class | FrictionPyramid
| Parameters used for friction pyramid model. More...
class | GearboxJoint< T >
| A double axis gearbox joint. More...
class | Gripper
| A gripper abstraction. More...
class | HeightmapShape
| HeightmapShape collision shape builds a heightmap from an image. The supplied image must be square with N*N+1 pixels per side, where N is an integer. More...
class | Hinge2Joint< T >
| A two axis hinge joint. More...
class | HingeJoint< T >
| A single axis hinge joint. More...
class | Inertial
| A class for inertial information about a link. More...
class | Joint
| Base class for all joints. More...
class | JointController
| A class for manipulating physics::Joint. More...
class | JointState
| keeps track of state of a physics::Joint More...
class | JointWrench
| Wrench information from a joint. These are forces and torques on parent and child Links, relative to the Joint frame immediately after rotation. More...
class | Light
| A light entity. More...
class | LightState
| Store state information of a Light object. More...
class | Link
| Link class defines a rigid body entity, containing information on inertia, visual and collision properties of a rigid body. More...
class | LinkState
| Store state information of a physics::Link object. More...
class | Logplay
| Open and playback log files that were recorded using LogRecord. More...
class | LogPlay
class | MapShape
| Creates box extrusions based on an image. This function is not yet complete, to be implemented. More...
class | MeshShape
| Triangle mesh collision shape. More...
class | Model
| A model is a collection of links, joints, and plugins. More...
class | ModelState
| Store state information of a physics::Model object. More...
class | MultiRayShape
| Laser collision contains a set of ray-collisions, structured to simulate a laser range scanner. More...
class | PhysicsEngine
| Base class for a physics engine. More...
class | PhysicsFactory
| The physics factory instantiates different physics engines. More...
class | PlaneShape
| Collision for an infinite plane. More...
class | PolylineShape
| Polyline geometry primitive. More...
class | Population
| Class that automatically populates an environment with multiple objects based on several parameters to define the number of objects, shape of the object distribution or type of distribution. More...
class | PopulationParams
| Stores all the posible parameters that define a population. More...
class | QuadNode
class | RayShape
| Base class for Ray collision geometry. More...
class | Road
| for building a Road from SDF More...
class | ScrewJoint< T >
| A screw joint, which has both prismatic and rotational DOFs. More...
class | Shape
| Base class for all shapes. More...
class | SliderJoint< T >
| A slider joint. More...
class | SphereShape
| Sphere collision shape. More...
class | State
| State of an entity. More...
class | SurfaceParams
| SurfaceParams defines various Surface contact parameters. These parameters defines the properties of a physics::Contact constraint. More...
class | UniversalJoint< T >
| A universal joint. Axis1 and axis2 are body-fixed, with axis1 attached to parent body and axis2 attached to child body. More...
class | Wind
| Base class for wind. More...
class | World
| The world provides access to all other object within a simulated environment. More...
class | WorldState
| Store state information of a physics::World object. More...

## Macros

#define | GZ_REGISTER_ATMOSPHERE_MODEL(_name, _classname)
| Static atmosphere registration macro. More...
#define | GZ_REGISTER_PHYSICS_ENGINE(name, classname)
| Static physics registration macro. More...

## Typedefs

typedef std::unique_ptr< Atmosphere >(* | AtmosphereFactoryFn) (World &world)
typedef PhysicsEnginePtr(* | PhysicsFactoryFn) (WorldPtr world)

## Functions

WorldPtr | create_world (const std::string &_name="")
| Create a world given a name. More...
bool | fini ()
| Finalize transport by calling gazebo::transport::fini. More...
WorldPtr | get_world (const std::string &_name="")
| Returns a pointer to a world by name. More...
uint32_t | getUniqueId ()
| Get a unique ID. More...
bool | has_world (const std::string &_name="")
| checks if the world with this name exists. More...
void | init_world (WorldPtr _world)
| Init world given a pointer to it. More...
void | init_worlds ()
| initialize multiple worlds stored in static variable gazebo::g_worlds More...
bool | load ()
| Setup gazebo::SystemPlugin's and call gazebo::transport::init. More...
void | load_world (WorldPtr _world, sdf::ElementPtr _sdf)
| Load world from sdf::Element pointer. More...
void | load_worlds (sdf::ElementPtr _sdf)
| load multiple worlds from single sdf::Element pointer More...
void | pause_world (WorldPtr _world, bool _pause)
| Pause world by calling World::SetPaused. More...
void | pause_worlds (bool pause)
| pause multiple worlds stored in static variable gazebo::g_worlds More...
void | remove_worlds ()
| remove multiple worlds stored in static variable gazebo::g_worlds More...
void | run_world (WorldPtr _world, unsigned int _iterations=0)
| Run world by calling World::Run() given a pointer to it. More...
void | run_worlds (unsigned int _iterations=0)
| Run multiple worlds stored in static variable gazebo::g_worlds. More...
void | stop_world (WorldPtr _world)
| Stop world by calling World::Stop() given a pointer to it. More...
void | stop_worlds ()
| stop multiple worlds stored in static variable gazebo::g_worlds More...
bool | worlds_running ()
| Return true if any world is running. More...

## Variables

static std::string | EntityTypename []
| String names for the different entity types. More...

## Detailed Description

Physics and dynamics functionality.

## Macro Definition Documentation

## GZ_REGISTER_ATMOSPHERE_MODEL

#define GZ_REGISTER_ATMOSPHERE_MODEL | ( |  | _name,
|  |  | _classname
| ) |  |

Value:
std::unique_ptr<Atmosphere> \
New##_classname(World &_world) \
{ \
return std::unique_ptr<Atmosphere>( \
new gazebo::physics::_classname(_world)); \
} \
\
void Register##_classname() \
{\
AtmosphereFactory::RegisterAtmosphere(_name, New##_classname);\
}

Static atmosphere registration macro.

Use this macro to register atmosphere model with the server.

Parameters

  [in] | _name | Atmosphere type name, as it appears in the world file.
  [in] | _classname | C++ class name for the atmosphere model.

## GZ_REGISTER_PHYSICS_ENGINE

#define GZ_REGISTER_PHYSICS_ENGINE | ( |  | name,
|  |  | classname
| ) |  |

Value:
PhysicsEnginePtr New##classname(WorldPtr _world) \
{ \
return PhysicsEnginePtr(new gazebo::physics::classname(_world)); \
} \
void Register##classname() \
{\
PhysicsFactory::RegisterPhysicsEngine(name, New##classname);\
}

Static physics registration macro.

Use this macro to register physics engine with the server.

Parameters

  [in] | name | Physics type name, as it appears in the world file.
  [in] | classname | C++ class name for the physics engine.

## Typedef Documentation

## AtmosphereFactoryFn

typedef std::unique_ptr<Atmosphere>(* AtmosphereFactoryFn) (World &world)

## PhysicsFactoryFn

typedef PhysicsEnginePtr(* PhysicsFactoryFn) (WorldPtr world)

## Function Documentation

## create_world()

WorldPtr gazebo::physics::create_world | ( | const std::string & | _name = `""` | ) |

Create a world given a name.

Parameters

  [in] | _name | Name of the world to create.

Returns
  Pointer to the new world.

## fini()

bool gazebo::physics::fini | ( |  | ) |

Finalize transport by calling gazebo::transport::fini.

## get_world()

WorldPtr gazebo::physics::get_world | ( | const std::string & | _name = `""` | ) |

Returns a pointer to a world by name.

Parameters

  [in] | _name | Name of the world to get.

Returns
  Pointer to the world.

## getUniqueId()

uint32_t gazebo::physics::getUniqueId | ( |  | ) |

Get a unique ID.

Returns
  A unique integer

## has_world()

bool gazebo::physics::has_world | ( | const std::string & | _name = `""` | ) |

checks if the world with this name exists.

Can be used to check if get_world(const std::string&) will succeed or throw an exception.

Parameters

  [in] | _name | Name of the world to check for, or empty to check if any world has been loaded.

Returns
  true if the world exists.

## init_world()

void gazebo::physics::init_world | ( | WorldPtr | _world | ) |

Init world given a pointer to it.

Parameters

  [in] | _world | World to initialize.

## init_worlds()

void gazebo::physics::init_worlds | ( |  | ) |

initialize multiple worlds stored in static variable gazebo::g_worlds

## load()

bool gazebo::physics::load | ( |  | ) |

Setup gazebo::SystemPlugin's and call gazebo::transport::init.

## load_world()

void gazebo::physics::load_world | ( | WorldPtr | _world,
|  | sdf::ElementPtr | _sdf
| ) |  |

Load world from sdf::Element pointer.

Parameters

  [in] | _world | Pointer to a world.
  [in] | _sdf | SDF values to load from.

## load_worlds()

void gazebo::physics::load_worlds | ( | sdf::ElementPtr | _sdf | ) |

load multiple worlds from single sdf::Element pointer

Parameters

  [in] | _sdf | SDF values used to create worlds.

## pause_world()

void gazebo::physics::pause_world | ( | WorldPtr | _world,
|  | bool | _pause
| ) |  |

Pause world by calling World::SetPaused.

Parameters

  [in] | _world | World to pause or unpause.
  [in] | _pause | True to pause, False to unpause.

## pause_worlds()

void gazebo::physics::pause_worlds | ( | bool | pause | ) |

pause multiple worlds stored in static variable gazebo::g_worlds

Parameters

  [in] | _pause | True to pause, False to unpause.

## remove_worlds()

void gazebo::physics::remove_worlds | ( |  | ) |

remove multiple worlds stored in static variable gazebo::g_worlds

## run_world()

void gazebo::physics::run_world | ( | WorldPtr | _world,
|  | unsigned int | _iterations = `0`
| ) |  |

Run world by calling World::Run() given a pointer to it.

Parameters

  [in] | _world | World to run.
  [in] | _iterations | Number of iterations for each world to take. Zero indicates that each world should continue forever.

## run_worlds()

void gazebo::physics::run_worlds | ( | unsigned int | _iterations = `0` | ) |

Run multiple worlds stored in static variable gazebo::g_worlds.

Parameters

  [in] | _iterations | Number of iterations for each world to take. Zero indicates that each world should continue forever.

## stop_world()

void gazebo::physics::stop_world | ( | WorldPtr | _world | ) |

Stop world by calling World::Stop() given a pointer to it.

Parameters

  [in] | _world | World to stop.

## stop_worlds()

void gazebo::physics::stop_worlds | ( |  | ) |

stop multiple worlds stored in static variable gazebo::g_worlds

## worlds_running()

bool gazebo::physics::worlds_running | ( |  | ) |

Return true if any world is running.

Returns
  True if any world is running.

## Variable Documentation

## EntityTypename

std::string EntityTypename[]

static

Initial value:
= {
"common",
"entity",
"model",
"actor",
"link",
"collision",
"light",
"visual",
"joint",
"ball",
"hinge2",
"hinge",
"slider",
"universal",
"shape",
"box",
"cylinder",
"heightmap",
"map",
"multiray",
"ray",
"plane",
"sphere",
"trimesh",
"polyline"
}

String names for the different entity types.

gazebo::physics::PhysicsEnginePtr
boost::shared_ptr< PhysicsEngine > PhysicsEnginePtr
Definition: PhysicsTypes.hh:125
gazebo::physics::WorldPtr
boost::shared_ptr< World > WorldPtr
Definition: PhysicsTypes.hh:89