Gazebo Physics

API Reference

7.4.0
Register.hh File Reference
#include <gz/physics/detail/Register.hh>
#include <gz/physics/Implements.hh>

Go to the source code of this file.

Macros

#define GZ_PHYSICS_ADD_PLUGIN(PluginType, FeaturePolicyT, FeatureListT)    DETAIL_GZ_PHYSICS_ADD_PLUGIN(PluginType, FeaturePolicyT, FeatureListT)
 Add a plugin that can be used as physics engine. More...
 

Macro Definition Documentation

◆ GZ_PHYSICS_ADD_PLUGIN

#define GZ_PHYSICS_ADD_PLUGIN (   PluginType,
  FeaturePolicyT,
  FeatureListT 
)     DETAIL_GZ_PHYSICS_ADD_PLUGIN(PluginType, FeaturePolicyT, FeatureListT)

Add a plugin that can be used as physics engine.

  1. The first argument is the name of the class that wraps the physics engine into a plugin.
  2. The second argument is the Feature Policy for this plugin, e.g. FeaturePolicy3d
  3. The third argument is the Feature List, specifying all the features that this plugin provides, e.g. StandardFeatures

Note that the Feature Policy and Feature List should match the types that you pass to the Implements<P, L> that your plugin class inherits.

If your library has multiple translation units (.cpp files) and you want to register plugins in multiple translation units, use this gz/physics/Register.hh header in ONE of the translation units, and then the gz/physics/RegisterMore.hh header in all of the rest of the translation units.