##

Link.hh
Go to the documentation of this file.
/*
* Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
#ifndef GAZEBO_PHYSICS_LINK_HH_
#define GAZEBO_PHYSICS_LINK_HH_
#include <map>
#include <vector>
#include <string>
#include <ignition/math/Matrix3.hh>
#include "gazebo/msgs/msgs.hh"
#include "gazebo/common/Event.hh"
#include "gazebo/common/CommonTypes.hh"
#include "gazebo/physics/LinkState.hh"
#include "gazebo/physics/Entity.hh"
#include "gazebo/physics/Inertial.hh"
#include "gazebo/physics/Joint.hh"
#include "gazebo/util/system.hh"
namespace gazebo
{
namespace physics
{
class Model;
class Collision;
class Battery;
class LinkPrivate;
class GZ_PHYSICS_VISIBLE Link : public Entity
{
public: explicit Link(EntityPtr _parent);
public: virtual ~Link();
public: virtual void Load(sdf::ElementPtr _sdf);
public: virtual void Init();
public: void Fini();
public: void Reset();
using Entity::Reset;
public: void ResetPhysicsStates();
public: virtual void UpdateParameters(sdf::ElementPtr _sdf);
public: void Update(const common::UpdateInfo &_info);
using Base::Update;
public: void SetScale(const ignition::math::Vector3d &_scale);
public: virtual void SetEnabled(bool _enable) const = 0;
public: virtual bool GetEnabled() const = 0;
public: virtual bool SetSelected(bool _set);
public: virtual void SetGravityMode(bool _mode) = 0;
public: virtual bool GetGravityMode() const = 0;
public: virtual void SetWindMode(const bool _mode);
public: virtual bool WindMode() const;
public: virtual void SetSelfCollide(bool _collide) = 0;
public: void SetCollideMode(const std::string &_mode);
public: bool GetSelfCollide() const;
public: void SetLaserRetro(float _retro);
public: virtual void SetLinearVel(
const ignition::math::Vector3d &_vel) = 0;
public: virtual void SetAngularVel(
const ignition::math::Vector3d &_vel) = 0;
public: void SetLinearAccel(const ignition::math::Vector3d &_accel)
GAZEBO_DEPRECATED(9.0);
public: void SetAngularAccel(const ignition::math::Vector3d &_accel)
GAZEBO_DEPRECATED(9.0);
public: virtual void SetForce(
const ignition::math::Vector3d &_force) = 0;
public: virtual void SetTorque(
const ignition::math::Vector3d &_torque) = 0;
public: virtual void AddForce(const ignition::math::Vector3d &_force) = 0;
public: virtual void AddRelativeForce(
const ignition::math::Vector3d &_force) = 0;
public: virtual void AddForceAtWorldPosition(
const ignition::math::Vector3d &_force,
const ignition::math::Vector3d &_pos) = 0;
public: virtual void AddForceAtRelativePosition(
const ignition::math::Vector3d &_force,
const ignition::math::Vector3d &_relPos) = 0;
public: virtual void AddLinkForce(
const ignition::math::Vector3d &_force,
const ignition::math::Vector3d &_offset =
ignition::math::Vector3d::Zero) = 0;
public: virtual void AddTorque(
const ignition::math::Vector3d &_torque) = 0;
public: virtual void AddRelativeTorque(
const ignition::math::Vector3d &_torque) = 0;
public: ignition::math::Pose3d WorldCoGPose() const;
public: virtual ignition::math::Vector3d WorldLinearVel() const;
public: virtual ignition::math::Vector3d WorldLinearVel(
const ignition::math::Vector3d &_offset) const = 0;
public: virtual ignition::math::Vector3d WorldLinearVel(
const ignition::math::Vector3d &_offset,
const ignition::math::Quaterniond &_q) const = 0;
public: virtual ignition::math::Vector3d WorldCoGLinearVel() const = 0;
public: ignition::math::Vector3d RelativeLinearVel() const;
public: ignition::math::Vector3d RelativeAngularVel() const;
public: ignition::math::Vector3d RelativeLinearAccel() const;
public: ignition::math::Vector3d WorldLinearAccel() const;
public: ignition::math::Vector3d RelativeAngularAccel() const;
public: ignition::math::Vector3d WorldAngularMomentum() const;
public: ignition::math::Vector3d WorldAngularAccel() const;
public: ignition::math::Vector3d RelativeForce() const;
public: virtual ignition::math::Vector3d WorldForce() const = 0;
public: ignition::math::Vector3d RelativeTorque() const;
public: virtual ignition::math::Vector3d WorldTorque() const = 0;
public: ModelPtr GetModel() const;
public: InertialPtr GetInertial() const {return this->inertial;}
public: void SetInertial(const InertialPtr &_inertial);
public: ignition::math::Pose3d WorldInertialPose() const;
public: ignition::math::Matrix3d WorldInertiaMatrix() const;
public: CollisionPtr GetCollisionById(unsigned int _id) const;
public: CollisionPtr GetCollision(const std::string &_name);
public: CollisionPtr GetCollision(unsigned int _index) const;
public: Collision_V GetCollisions() const;
public: virtual ignition::math::Box BoundingBox() const;
public: virtual void SetLinearDamping(double _damping) = 0;
public: virtual void SetAngularDamping(double _damping) = 0;
public: double GetLinearDamping() const;
public: double GetAngularDamping() const;
public: virtual void SetKinematic(const bool &_kinematic);
public: virtual bool GetKinematic() const {return false;}
public: unsigned int GetSensorCount() const;
public: std::string GetSensorName(unsigned int _index) const;
public: event::ConnectionPtr ConnectEnabled(
std::function<void (bool)> _subscriber);
public: void FillMsg(msgs::Link &_msg);
public: void ProcessMsg(const msgs::Link &_msg);
public: void AddChildJoint(JointPtr _joint);
public: void AddParentJoint(JointPtr _joint);
public: void RemoveParentJoint(const std::string &_jointName);
public: void RemoveChildJoint(const std::string &_jointName);
// Documentation inherited.
public: virtual void RemoveChild(EntityPtr _child);
using Base::RemoveChild;
public: void AttachStaticModel(ModelPtr &_model,
const ignition::math::Pose3d &_offset);
public: void DetachStaticModel(const std::string &_modelName);
public: void DetachAllStaticModels();
public: virtual void OnPoseChange();
public: void SetState(const LinkState &_state);
public: virtual void UpdateMass() {}
public: virtual void UpdateSurface() {}
public: virtual void SetAutoDisable(bool _disable) = 0;
public: Link_V GetChildJointsLinks() const;
public: Link_V GetParentJointsLinks() const;
public: void SetPublishData(bool _enable);
public: Joint_V GetParentJoints() const;
public: Joint_V GetChildJoints() const;
public: void RemoveCollision(const std::string &_name);
public: double GetWorldEnergyPotential() const;
public: double GetWorldEnergyKinetic() const;
public: double GetWorldEnergy() const;
public: msgs::Visual GetVisualMessage(const std::string &_name) const;
public: virtual void SetLinkStatic(bool _static) = 0;
// Documentation inherited
public: virtual void SetStatic(const bool &_static);
using Entity::SetStatic;
public: void MoveFrame(
const ignition::math::Pose3d &_worldReferenceFrameSrc,
const ignition::math::Pose3d &_worldReferenceFrameDst,
const bool _preserveWorldVelocity = false);
public: bool FindAllConnectedLinksHelper(
const LinkPtr &_originalParentLink,
Link_V &_connectedLinks, bool _fistLink = false);
public: void SetWindEnabled(const bool _enable);
public: const ignition::math::Vector3d WorldWindLinearVel() const;
public: const ignition::math::Vector3d RelativeWindLinearVel() const;
public: void UpdateWind(const common::UpdateInfo &_info);
public: common::BatteryPtr Battery(const std::string &_name) const;
public: common::BatteryPtr Battery(const size_t _index) const;
public: size_t BatteryCount() const;
public: bool VisualId(const std::string &_visName, uint32_t &_visualId)
const;
public: bool VisualPose(const uint32_t _id,
ignition::math::Pose3d &_pose) const;
public: bool SetVisualPose(const uint32_t _id,
const ignition::math::Pose3d &_pose);
typedef std::map<uint32_t, msgs::Visual> Visuals_M;
public: const Visuals_M &Visuals() const;
private: void PublishData();
private: void LoadCollision(sdf::ElementPtr _sdf);
private: void LoadLight(sdf::ElementPtr _sdf);
private: void SetInertialFromCollisions();
private: void OnCollision(ConstContactsPtr &_msg);
private: void ParseVisuals();
private: bool ContainsLink(const Link_V &_vector, const LinkPtr &_value);
private: void UpdateVisualGeomSDF(const ignition::math::Vector3d &_scale);
private: void UpdateVisualMsg();
private: void OnWrenchMsg(ConstWrenchPtr &_msg);
private: void ProcessWrenchMsg(const msgs::Wrench &_msg);
private: void LoadBattery(const sdf::ElementPtr _sdf);
protected: virtual void RegisterIntrospectionItems();
protected: InertialPtr inertial;
protected: Visuals_M visuals;
protected: ignition::math::Vector3d linearAccel;
protected: ignition::math::Vector3d angularAccel;
protected: std::vector<ignition::math::Pose3d> attachedModelsOffset;
protected: bool initialized = false;
private: std::unique_ptr<LinkPrivate> dataPtr;
};
}
}
#endif
gazebo::physics::Link::GetSensorName
std::string GetSensorName(unsigned int _index) const
Get sensor name.
gazebo::physics::Link::SetStatic
virtual void SetStatic(const bool &_static)
gazebo::physics::Link::SetWindEnabled
void SetWindEnabled(const bool _enable)
Enable/disable wind for this link.
gazebo::physics::Link::GetInertial
InertialPtr GetInertial() const
Get the inertia of the link.
Definition: Link.hh:331
gazebo::physics::Link::VisualId
bool VisualId(const std::string &_visName, uint32_t &_visualId) const
Get the unique ID of a visual.
gazebo::physics::Joint_V
std::vector< JointPtr > Joint_V
Definition: PhysicsTypes.hh:213
gazebo::physics::Base::Update
virtual void Update()
Update the object.
Definition: Base.hh:165
gazebo::physics::Link::RelativeWindLinearVel
const ignition::math::Vector3d RelativeWindLinearVel() const
Returns this link's wind velocity.
gazebo::physics::Link::Init
virtual void Init()
Initialize the body.
gazebo::physics::Link::visuals
Visuals_M visuals
Link visual elements.
Definition: Link.hh:688
gazebo::physics::Link::VisualPose
bool VisualPose(const uint32_t _id, ignition::math::Pose3d &_pose) const
Get the pose of a visual.
gazebo::physics::Link::GetCollisions
Collision_V GetCollisions() const
Get all the child collisions.
gazebo::physics::Link::WorldLinearVel
virtual ignition::math::Vector3d WorldLinearVel() const
Get the linear velocity of the origin of the link frame, expressed in the world frame.
gazebo
Forward declarations for the common classes.
Definition: Animation.hh:26
gazebo::physics::Link::AddLinkForce
virtual void AddLinkForce(const ignition::math::Vector3d &_force, const ignition::math::Vector3d &_offset=ignition::math::Vector3d::Zero)=0
Add a force expressed in the link frame.
gazebo::physics::Link::GetSensorCount
unsigned int GetSensorCount() const
Get sensor count.
gazebo::physics::Link::GetParentJoints
Joint_V GetParentJoints() const
Get the parent joints.
gazebo::physics::Link::SetLinearVel
virtual void SetLinearVel(const ignition::math::Vector3d &_vel)=0
Set the linear velocity of the body.
gazebo::physics::Link::~Link
virtual ~Link()
Destructor.
gazebo::physics::ModelPtr
boost::shared_ptr< Model > ModelPtr
Definition: PhysicsTypes.hh:93
gazebo::physics::Link::SetLinkStatic
virtual void SetLinkStatic(bool _static)=0
Freeze link to ground (inertial frame).
gazebo::physics::Link::MoveFrame
void MoveFrame(const ignition::math::Pose3d &_worldReferenceFrameSrc, const ignition::math::Pose3d &_worldReferenceFrameDst, const bool _preserveWorldVelocity=false)
Move Link given source and target frames specified in world coordinates.
gazebo::physics::Link::WorldLinearAccel
ignition::math::Vector3d WorldLinearAccel() const
Get the linear acceleration of the body in the world frame.
gazebo::physics::Link::GetWorldEnergyPotential
double GetWorldEnergyPotential() const
Returns this link's potential energy, based on position in world frame and gravity.
gazebo::physics::Link::RemoveCollision
void RemoveCollision(const std::string &_name)
Remove a collision from the link.
gazebo::physics::Link::GetAngularDamping
double GetAngularDamping() const
Get the angular damping factor.
gazebo::physics::Link::SetWindMode
virtual void SetWindMode(const bool _mode)
Set whether wind affects this body.
gazebo::physics::Link::AddForceAtWorldPosition
virtual void AddForceAtWorldPosition(const ignition::math::Vector3d &_force, const ignition::math::Vector3d &_pos)=0
Add a force to the body using a global position.
gazebo::physics::Link::SetGravityMode
virtual void SetGravityMode(bool _mode)=0
Set whether gravity affects this body.
gazebo::physics::Link::RegisterIntrospectionItems
virtual void RegisterIntrospectionItems()
Register items in the introspection service.
gazebo::physics::Link::SetAutoDisable
virtual void SetAutoDisable(bool _disable)=0
Allow the link to auto disable.
gazebo::physics::Link::FillMsg
void FillMsg(msgs::Link &_msg)
Fill a link message.
gazebo::physics::Link::RelativeForce
ignition::math::Vector3d RelativeForce() const
Get the force applied to the body.
gazebo::physics::Link::WorldAngularAccel
ignition::math::Vector3d WorldAngularAccel() const
Get the angular acceleration of the body in the world frame, which is computed as (I^-1 * (T - w x L)...
gazebo::physics::Link::SetLinearAccel
void SetLinearAccel(const ignition::math::Vector3d &_accel) GAZEBO_DEPRECATED(9.0)
Set the linear acceleration of the body.
system.hh
gazebo::physics::Link::WorldCoGPose
ignition::math::Pose3d WorldCoGPose() const
Get the pose of the body's center of gravity in the world coordinate frame.
gazebo::physics::Link::RelativeLinearAccel
ignition::math::Vector3d RelativeLinearAccel() const
Get the linear acceleration of the body.
msgs.hh
CommonTypes.hh
gazebo::physics::LinkState
Store state information of a physics::Link object.
Definition: LinkState.hh:47
gazebo::physics::Entity::Reset
virtual void Reset()
Reset the entity.
gazebo::physics::Link::linearAccel
ignition::math::Vector3d linearAccel
Linear acceleration.
Definition: Link.hh:692
gazebo::physics::Link::GetKinematic
virtual bool GetKinematic() const
\TODO Implement this function.
Definition: Link.hh:400
gazebo::physics::Link::SetState
void SetState(const LinkState &_state)
Set the current link state.
gazebo::physics::Link::SetAngularVel
virtual void SetAngularVel(const ignition::math::Vector3d &_vel)=0
Set the angular velocity of the body.
gazebo::physics::Link::RemoveParentJoint
void RemoveParentJoint(const std::string &_jointName)
Remove Joints that have this Link as a child Link.
gazebo::physics::Link::WorldWindLinearVel
const ignition::math::Vector3d WorldWindLinearVel() const
Returns this link's wind velocity in the world coordinate frame.
gazebo::physics::Link::WindMode
virtual bool WindMode() const
Get the wind mode.
gazebo::physics::Link::GetCollision
CollisionPtr GetCollision(const std::string &_name)
Get a child collision by name.
gazebo::physics::Link::SetForce
virtual void SetForce(const ignition::math::Vector3d &_force)=0
Set the force applied to the body.
gazebo::physics::Link::SetVisualPose
bool SetVisualPose(const uint32_t _id, const ignition::math::Pose3d &_pose)
Set the pose of a visual.
gazebo::physics::Link::SetLaserRetro
void SetLaserRetro(float _retro)
Set the laser retro reflectiveness.
gazebo::physics::Link::ConnectEnabled
event::ConnectionPtr ConnectEnabled(std::function< void(bool)> _subscriber)
Connect to the add entity signal.
gazebo::physics::Link::GetLinearDamping
double GetLinearDamping() const
Get the linear damping factor.
gazebo::physics::Link::SetPublishData
void SetPublishData(bool _enable)
Enable/Disable link data publishing.
gazebo::physics::Link::inertial
InertialPtr inertial
Inertial properties.
Definition: Link.hh:685
gazebo::physics::Link::UpdateSurface
virtual void UpdateSurface()
Update surface parameters.
Definition: Link.hh:482
gazebo::physics::Link::GetParentJointsLinks
Link_V GetParentJointsLinks() const
Returns a vector of parent Links connected by joints.
gazebo::physics::Link::WorldInertiaMatrix
ignition::math::Matrix3d WorldInertiaMatrix() const
Get the inertia matrix in the world frame.
gazebo::physics::Link::WorldForce
virtual ignition::math::Vector3d WorldForce() const =0
Get the force applied to the body in the world frame.
gazebo::physics::Link::SetAngularAccel
void SetAngularAccel(const ignition::math::Vector3d &_accel) GAZEBO_DEPRECATED(9.0)
Set the angular acceleration of the body.
gazebo::physics::Link::RelativeAngularAccel
ignition::math::Vector3d RelativeAngularAccel() const
Get the angular acceleration of the body.
gazebo::physics::Link::GetSelfCollide
bool GetSelfCollide() const
Get Self-Collision Flag.
gazebo::physics::Link
Link class defines a rigid body entity, containing information on inertia, visual and collision prope...
Definition: Link.hh:52
Entity.hh
gazebo::physics::Link::ProcessMsg
void ProcessMsg(const msgs::Link &_msg)
Update parameters from a message.
gazebo::physics::Link::GetWorldEnergy
double GetWorldEnergy() const
Returns this link's total energy, or sum of Link::GetWorldEnergyPotential() and Link::GetWorldEnergyK...
gazebo::physics::Link::Link
Link(EntityPtr _parent)
Constructor.
gazebo::physics::Link::UpdateWind
void UpdateWind(const common::UpdateInfo &_info)
Update the wind.
gazebo::physics::Link::WorldInertialPose
ignition::math::Pose3d WorldInertialPose() const
Get the world pose of the link inertia (cog position and Moment of Inertia frame).
gazebo::physics::Link::AddTorque
virtual void AddTorque(const ignition::math::Vector3d &_torque)=0
Add a torque to the body.
gazebo::physics::Link::initialized
bool initialized
This flag is set to true when the link is initialized.
Definition: Link.hh:702
gazebo::physics::Link::ResetPhysicsStates
void ResetPhysicsStates()
Reset the velocity, acceleration, force and torque of link.
gazebo::physics::Link::GetEnabled
virtual bool GetEnabled() const =0
Get whether this body is enabled in the physics engine.
gazebo::physics::Link::SetScale
void SetScale(const ignition::math::Vector3d &_scale)
Set the scale of the link.
gazebo::physics::Link::Load
virtual void Load(sdf::ElementPtr _sdf)
Load the body based on an SDF element.
gazebo::physics::Link::SetAngularDamping
virtual void SetAngularDamping(double _damping)=0
Set the angular damping factor.
gazebo::physics::Link::GetChildJointsLinks
Link_V GetChildJointsLinks() const
Returns a vector of children Links connected by joints.
Joint.hh
gazebo::physics::Link::Visuals_M
std::map< uint32_t, msgs::Visual > Visuals_M
Definition: Link.hh:627
gazebo::physics::Link::AttachStaticModel
void AttachStaticModel(ModelPtr &_model, const ignition::math::Pose3d &_offset)
Attach a static model to this link.
gazebo::physics::Base::RemoveChild
virtual void RemoveChild(unsigned int _id)
Remove a child from this entity.
gazebo::physics::Link::UpdateParameters
virtual void UpdateParameters(sdf::ElementPtr _sdf)
Update the parameters using new sdf values.
gazebo::physics::Link::GetChildJoints
Joint_V GetChildJoints() const
Get the child joints.
gazebo::physics::Link::AddRelativeForce
virtual void AddRelativeForce(const ignition::math::Vector3d &_force)=0
Add a force to the body, components are relative to the body's own frame of reference.
gazebo::physics::Link::AddChildJoint
void AddChildJoint(JointPtr _joint)
Joints that have this Link as a parent Link.
gazebo::physics::Link::WorldTorque
virtual ignition::math::Vector3d WorldTorque() const =0
Get the torque applied to the body about the center of mass in world frame coordinates.
gazebo::physics::Link::RelativeAngularVel
ignition::math::Vector3d RelativeAngularVel() const
Get the angular velocity of the body.
gazebo::event::ConnectionPtr
boost::shared_ptr< Connection > ConnectionPtr
Definition: CommonTypes.hh:134
LinkState.hh
gazebo::msgs::Init
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message.
gazebo::physics::Link::GetVisualMessage
msgs::Visual GetVisualMessage(const std::string &_name) const
Returns the visual message specified by its name.
gazebo::physics::LinkPtr
boost::shared_ptr< Link > LinkPtr
Definition: PhysicsTypes.hh:109
gazebo::physics::Link::SetSelfCollide
virtual void SetSelfCollide(bool _collide)=0
Set whether this body will collide with others in the model.
gazebo::physics::Link::OnPoseChange
virtual void OnPoseChange()
This function is called when the entity's (or one of its parents) pose of the parent has changed.
gazebo::physics::Link::RemoveChildJoint
void RemoveChildJoint(const std::string &_jointName)
Remove Joints that have this Link as a parent Link.
gazebo::physics::Link::GetGravityMode
virtual bool GetGravityMode() const =0
Get the gravity mode.
gazebo::physics::Link::AddForce
virtual void AddForce(const ignition::math::Vector3d &_force)=0
Add a force to the body.
gazebo::physics::Link::BoundingBox
virtual ignition::math::Box BoundingBox() const
Get the bounding box for the link and all the child elements.
gazebo::physics::EntityPtr
boost::shared_ptr< Entity > EntityPtr
Definition: PhysicsTypes.hh:85
gazebo::physics::Link::WorldAngularMomentum
ignition::math::Vector3d WorldAngularMomentum() const
Get the angular momentum of the body CoG in the world frame, which is computed as (I * w),...
gazebo::physics::Link::AddRelativeTorque
virtual void AddRelativeTorque(const ignition::math::Vector3d &_torque)=0
Add a torque to the body, components are relative to the body's own frame of reference.
gazebo::physics::JointPtr
boost::shared_ptr< Joint > JointPtr
Definition: PhysicsTypes.hh:117
gazebo::physics::Entity
Base class for all physics objects in Gazebo.
Definition: Entity.hh:52
gazebo::physics::Link::attachedModelsOffset
std::vector< ignition::math::Pose3d > attachedModelsOffset
Offsets for the attached models.
Definition: Link.hh:699
gazebo::physics::Link::RelativeTorque
ignition::math::Vector3d RelativeTorque() const
Get the torque applied to the body.
gazebo::physics::Link::BatteryCount
size_t BatteryCount() const
Get the number of batteries in this link.
gazebo::physics::Link::FindAllConnectedLinksHelper
bool FindAllConnectedLinksHelper(const LinkPtr &_originalParentLink, Link_V &_connectedLinks, bool _fistLink=false)
Helper function to find all connected links of a link based on parent/child relations of joints.
GAZEBO_DEPRECATED
#define GAZEBO_DEPRECATED(version)
Definition: system.hh:328
gazebo::common::BatteryPtr
std::shared_ptr< Battery > BatteryPtr
Definition: CommonTypes.hh:125
gazebo::physics::CollisionPtr
boost::shared_ptr< Collision > CollisionPtr
Definition: PhysicsTypes.hh:113
gazebo::physics::Link_V
std::vector< LinkPtr > Link_V
Definition: PhysicsTypes.hh:225
Event.hh
gazebo::physics::Link::AddForceAtRelativePosition
virtual void AddForceAtRelativePosition(const ignition::math::Vector3d &_force, const ignition::math::Vector3d &_relPos)=0
Add a force (in world frame coordinates) to the body at a position relative to the center of mass whi...
gazebo::physics::Link::GetModel
ModelPtr GetModel() const
Get the model that this body belongs to.
gazebo::physics::Collision_V
std::vector< CollisionPtr > Collision_V
Definition: PhysicsTypes.hh:229
gazebo::physics::Link::WorldCoGLinearVel
virtual ignition::math::Vector3d WorldCoGLinearVel() const =0
Get the linear velocity at the body's center of gravity in the world frame.
gazebo::physics::Link::SetSelected
virtual bool SetSelected(bool _set)
Set whether this entity has been selected by the user through the gui.
gazebo::physics::Link::SetCollideMode
void SetCollideMode(const std::string &_mode)
Set the collide mode of the body.
gazebo::physics::Link::Reset
void Reset()
Reset the link.
gazebo::physics::Link::angularAccel
ignition::math::Vector3d angularAccel
Angular acceleration.
Definition: Link.hh:696
gazebo::physics::Link::Fini
void Fini()
Finalize the body.
gazebo::physics::Link::AddParentJoint
void AddParentJoint(JointPtr _joint)
Joints that have this Link as a child Link.
gazebo::physics::Link::SetTorque
virtual void SetTorque(const ignition::math::Vector3d &_torque)=0
Set the torque applied to the body.
gazebo::physics::Link::Visuals
const Visuals_M & Visuals() const
Return the link visual elements.
gazebo::physics::Link::GetWorldEnergyKinetic
double GetWorldEnergyKinetic() const
Returns this link's kinetic energy computed using link's CoG velocity in the inertial (world) frame.
gazebo::physics::Link::UpdateMass
virtual void UpdateMass()
Update the mass matrix.
Definition: Link.hh:479
gazebo::common::UpdateInfo
Information for use in an update event.
Definition: UpdateInfo.hh:30
gazebo::physics::Link::RemoveChild
virtual void RemoveChild(EntityPtr _child)
gazebo::physics::InertialPtr
boost::shared_ptr< Inertial > InertialPtr
Definition: PhysicsTypes.hh:157
gazebo::physics::Entity::SetStatic
void SetStatic(const bool &_static)
Set whether this entity is static: immovable.
gazebo::physics::Link::SetKinematic
virtual void SetKinematic(const bool &_kinematic)
\TODO Implement this function.
gazebo::physics::Link::SetInertial
void SetInertial(const InertialPtr &_inertial)
Set the mass of the link.
gazebo::physics::Link::DetachAllStaticModels
void DetachAllStaticModels()
Detach all static models from this link.
gazebo::physics::Link::RelativeLinearVel
ignition::math::Vector3d RelativeLinearVel() const
Get the linear velocity of the body.
gazebo::physics::Link::SetEnabled
virtual void SetEnabled(bool _enable) const =0
Set whether this body is enabled.
Inertial.hh
gazebo::physics::Link::SetLinearDamping
virtual void SetLinearDamping(double _damping)=0
Set the linear damping factor.
gazebo::physics::Link::Battery
common::BatteryPtr Battery(const std::string &_name) const
Get a battery by name.
gazebo::physics::Link::DetachStaticModel
void DetachStaticModel(const std::string &_modelName)
Detach a static model from this link.