17 #ifndef GAZEBO_PLUGINS_MUDPLUGIN_HH_ 
   18 #define GAZEBO_PLUGINS_MUDPLUGIN_HH_ 
   23 #include <ignition/transport/Node.hh> 
   26 #include "gazebo/physics/physics.hh" 
   41     public: 
virtual void Init();
 
   45     private: 
void OnContact(ConstContactsPtr &_msg);
 
   48     private: 
void OnUpdate();
 
   69     private: std::string modelName;
 
   76     private: std::string contactSensorName;
 
   79     private: 
mutable std::mutex mutex;
 
   82     private: msgs::Contacts newestContactsMsg;
 
   88     private: 
unsigned int newMsgWait;
 
   92     private: 
double stiffness;
 
   96     private: 
double damping;
 
   99     private: std::vector<std::string> allowedLinks;
 
  102     private: std::vector<physics::LinkPtr> links;
 
  105     private: std::vector<physics::JointPtr> joints;
 
  108     private: 
unsigned int contactSurfaceBitmask;
 
  111     private: sdf::ElementPtr sdf;
 
  118     private: ignition::transport::Node nodeIgn;
 
  121 #endif  // ifndef _MUD_PLUGIN_HH_ 
boost::shared_ptr< Link > LinkPtr
Definition: PhysicsTypes.hh:109
boost::shared_ptr< World > WorldPtr
Definition: PhysicsTypes.hh:89
Forward declarations for transport. 
boost::shared_ptr< Subscriber > SubscriberPtr
Definition: TransportTypes.hh:53
boost::shared_ptr< Node > NodePtr
Definition: TransportTypes.hh:57
boost::shared_ptr< PhysicsEngine > PhysicsEnginePtr
Definition: PhysicsTypes.hh:125
Definition: MudPlugin.hh:32
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. 
A plugin with access to physics::Model. 
Definition: Plugin.hh:260
#define GAZEBO_VISIBLE
Use to represent "symbol visible" if supported. 
Definition: system.hh:59