BreakableJointPlugin.hh
Go to the documentation of this file.
1/*
2 * Copyright (C) 2013 Open Source Robotics Foundation
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *
16*/
17#ifndef GAZEBO_PLUGINS_BREAKABLEJOINTPLUGIN_HH_
18#define GAZEBO_PLUGINS_BREAKABLEJOINTPLUGIN_HH_
19
20#include "gazebo/sensors/sensors.hh"
23#include "gazebo/util/system.hh"
24
25namespace gazebo
26{
28 class GZ_PLUGIN_VISIBLE BreakableJointPlugin : public SensorPlugin
29 {
32
34 public: virtual ~BreakableJointPlugin();
35
39 public: virtual void Load(sensors::SensorPtr _parent, sdf::ElementPtr _sdf);
40
43 protected: virtual void OnUpdate(msgs::WrenchStamped _msg);
44
46 protected: void OnWorldUpdate();
47
49 private: physics::JointPtr parentJoint;
50
52 private: event::ConnectionPtr worldConnection;
53
55 private: double breakingForce;
56
58 private: sensors::ForceTorqueSensorPtr parentSensor;
59
61 private: event::ConnectionPtr connection;
62 };
63}
64#endif
A plugin for breakable joints, based on a ForceTorque sensor plugin.
Definition BreakableJointPlugin.hh:29
virtual ~BreakableJointPlugin()
Destructor.
virtual void OnUpdate(msgs::WrenchStamped _msg)
Overloaded Update callback.
void OnWorldUpdate()
WorldUpdate callback, used to safely detach parent joint.
virtual void Load(sensors::SensorPtr _parent, sdf::ElementPtr _sdf)
Load the plugin.
BreakableJointPlugin()
Constructor.
A plugin with access to physics::Sensor.
Definition Plugin.hh:333
boost::shared_ptr< Connection > ConnectionPtr
Definition CommonTypes.hh:134
boost::shared_ptr< Joint > JointPtr
Definition PhysicsTypes.hh:117
std::shared_ptr< ForceTorqueSensor > ForceTorqueSensorPtr
Definition SensorTypes.hh:116
std::shared_ptr< Sensor > SensorPtr
Definition SensorTypes.hh:64
Forward declarations for the common classes.
Definition Animation.hh:27