Gazebo Physics

API Reference

5.3.2
AddLinkExternalForceTorque::Link< PolicyT, FeaturesT > Class Template Reference

The Link API for adding link force/torque. More...

#include <Link.hh>

Public Types

using AngularVectorType = typename FromPolicy< PolicyT >::template Use< AngularVector >
 
using LinearVectorType = typename FromPolicy< PolicyT >::template Use< LinearVector >
 
using RelativeForceType = typename FromPolicy< PolicyT >::template Use< RelativeForce >
 
using RelativePositionType = typename FromPolicy< PolicyT >::template Use< RelativePosition >
 
using RelativeTorqueType = typename FromPolicy< PolicyT >::template Use< RelativeTorque >
 
- Public Types inherited from FrameSemantics::Frame< PolicyT, FeaturesT >
using FrameData = ignition::physics::FrameData< typename PolicyT::Scalar, PolicyT::Dim >
 

Public Member Functions

void AddExternalForce (const LinearVectorType &_force, const FrameID &_forceInCoordinatesOf=FrameID::World(), const LinearVectorType &_position=LinearVectorType::Zero())
 Add a force on the link applied at a specified position. This force is applied for one simulation step only. This is a convenient form of AddExternalForce where the force and position are free vectors and an additional parameter is used to specify the coordinates in which the force is expressed. More...
 
void AddExternalForce (const RelativeForceType &_force, const RelativePositionType &_position)
 Add a force on the link applied at a specified position. This force is applied for one simulation step only. More...
 
void AddExternalTorque (const AngularVectorType &_torque, const FrameID &_inCoordinatesOf=FrameID::World())
 Add an external torque on the link. The torque is applied for one simulation step only. More...
 
void AddExternalTorque (const RelativeTorqueType &_torque)
 Add an external torque on the link. The torque is applied for one simulation step only. More...
 
- Public Member Functions inherited from FrameSemantics::Frame< PolicyT, FeaturesT >
virtual ~Frame ()=default
 Virtual destructor. More...
 
FrameData FrameDataRelativeTo (const FrameID &_relativeTo) const
 Get the FrameData of this object with respect to another frame. The data will also be expressed in the coordinates of the _relativeTo frame. More...
 
FrameData FrameDataRelativeTo (const FrameID &_relativeTo, const FrameID &_inCoordinatesOf) const
 Get the FrameData of this object relative to another frame, expressed in the coordinates of a third frame. More...
 
FrameData FrameDataRelativeToWorld () const
 Get the FrameData of this object with respect to the world. More...
 
FrameID GetFrameID () const
 Get a FrameID for this object. More...
 
 operator FrameID () const
 Implicit conversion to a FrameID is provided. This way, a reference to the Object can be treated as a FrameID. More...
 

Detailed Description

template<typename PolicyT, typename FeaturesT>
class ignition::physics::AddLinkExternalForceTorque::Link< PolicyT, FeaturesT >

The Link API for adding link force/torque.

Member Typedef Documentation

◆ AngularVectorType

using AngularVectorType = typename FromPolicy<PolicyT>::template Use<AngularVector>

◆ LinearVectorType

using LinearVectorType = typename FromPolicy<PolicyT>::template Use<LinearVector>

◆ RelativeForceType

using RelativeForceType = typename FromPolicy<PolicyT>::template Use<RelativeForce>

◆ RelativePositionType

using RelativePositionType = typename FromPolicy<PolicyT>::template Use<RelativePosition>

◆ RelativeTorqueType

using RelativeTorqueType = typename FromPolicy<PolicyT>::template Use<RelativeTorque>

Member Function Documentation

◆ AddExternalForce() [1/2]

void AddExternalForce ( const LinearVectorType _force,
const FrameID _forceInCoordinatesOf = FrameID::World(),
const LinearVectorType _position = LinearVectorType::Zero() 
)

Add a force on the link applied at a specified position. This force is applied for one simulation step only. This is a convenient form of AddExternalForce where the force and position are free vectors and an additional parameter is used to specify the coordinates in which the force is expressed.

Parameters
[in]_forceThe desired force
[in]_forceInCoordinatesOfThe coordinates in which the force is expressed
[in]_positionThe point of application of the force expressed in the link-fixed frame.

Note that in this version of AddExternalForce the position is expressed in the link-fixed frame while the coordinate frame for the force is a parameter that can be set. If you want to specify the reference frame for the position quantity, please use the AddExternalForce function that takes Relative quantities.

◆ AddExternalForce() [2/2]

void AddExternalForce ( const RelativeForceType _force,
const RelativePositionType _position 
)

Add a force on the link applied at a specified position. This force is applied for one simulation step only.

Parameters
[in]_forceThe desired force as a Relative Force (a quantity that contains information about the coordinates in which it is expressed)
[in]_positionThe point of application of the force. This parameter is a Relative Position (a quantity that contains information about the frame in which it is expressed).

◆ AddExternalTorque() [1/2]

void AddExternalTorque ( const AngularVectorType _torque,
const FrameID _inCoordinatesOf = FrameID::World() 
)

Add an external torque on the link. The torque is applied for one simulation step only.

Parameters
[in]_torqueThe desired torque
[in]_inCoordinatesOfThe coordinates in which the torque is expressed

◆ AddExternalTorque() [2/2]

void AddExternalTorque ( const RelativeTorqueType _torque)

Add an external torque on the link. The torque is applied for one simulation step only.

Parameters
[in]_torqueThe desired torque as a Relative Torque (a quantity that contains information about the coordinates in which it is expressed)

The documentation for this class was generated from the following file: