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 = 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 gz::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] _force The desired force [in] _forceInCoordinatesOf The coordinates in which the force is expressed [in] _position The 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] _force The desired force as a Relative Force (a quantity that contains information about the coordinates in which it is expressed) [in] _position The 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] _torque The desired torque [in] _inCoordinatesOf The 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] _torque The 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: