18 #ifndef GAZEBO_PLUGINS_BUOYANCYPLUGIN_HH_
19 #define GAZEBO_PLUGINS_BUOYANCYPLUGIN_HH_
22 #include <ignition/math/Vector3.hh>
26 #include "gazebo/physics/physics.hh"
37 public: ignition::math::Vector3d
cov;
70 public:
virtual void Init();
73 protected:
virtual void OnUpdate();
82 protected: sdf::ElementPtr
sdf;
A plugin that simulates buoyancy of an object immersed in fluid.
Definition: BuoyancyPlugin.hh:60
sdf::ElementPtr sdf
Pointer to the plugin SDF.
Definition: BuoyancyPlugin.hh:82
double fluidDensity
The density of the fluid in which the object is submerged in kg/m^3.
Definition: BuoyancyPlugin.hh:86
VolumeProperties()
Default constructor.
Definition: BuoyancyPlugin.hh:34
ignition::math::Vector3d cov
Center of volume in the link frame.
Definition: BuoyancyPlugin.hh:37
double volume
Volume of this link.
Definition: BuoyancyPlugin.hh:40
A class for storing the volume properties of a link.
Definition: BuoyancyPlugin.hh:31
event::ConnectionPtr updateConnection
Connection to World Update events.
Definition: BuoyancyPlugin.hh:76
boost::shared_ptr< Connection > ConnectionPtr
Definition: CommonTypes.hh:134
boost::shared_ptr< Model > ModelPtr
Definition: PhysicsTypes.hh:93
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message.
std::map< int, VolumeProperties > volPropsMap
Map of <link ID, point> pairs mapping link IDs to the CoV (center of volume) and volume of the link...
Definition: BuoyancyPlugin.hh:90
physics::ModelPtr model
Pointer to model containing the plugin.
Definition: BuoyancyPlugin.hh:79
A plugin with access to physics::Model.
Definition: Plugin.hh:260
#define GAZEBO_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system.hh:58