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 Types inherited from Entity< PolicyT, FeaturesT > | |
| using | Features = FeaturesT | 
| using | Pimpl = typename detail::DeterminePlugin< Policy, Features >::type | 
| using | Policy = PolicyT | 
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.   | |
| 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.   | |
| 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.   | |
| void | AddExternalTorque (const RelativeTorqueType &_torque) | 
| Add an external torque on the link. The torque is applied for one simulation step only.   | |
  Public Member Functions inherited from FrameSemantics::Frame< PolicyT, FeaturesT > | |
| virtual | ~Frame ()=default | 
| Virtual destructor.   | |
| 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.   | |
| 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.   | |
| FrameData | FrameDataRelativeToWorld () const | 
| Get the FrameData of this object with respect to the world.   | |
| FrameID | GetFrameID () const | 
| Get a FrameID for this object.   | |
| operator FrameID () const | |
| Implicit conversion to a FrameID is provided. This way, a reference to the Object can be treated as a FrameID.   | |
  Public Member Functions inherited from Entity< PolicyT, FeaturesT > | |
| virtual | ~Entity ()=default | 
| Virtual destructor.   | |
| std::size_t | EntityID () const | 
| Get the unique ID value of this Entity.   | |
| const std::shared_ptr< void > & | EntityReference () const | 
| Get a reference-counting std::shared_ptr to the object inside the implementation that this object provides an abstraction for.   | |
| const Identity & | FullIdentity () const | 
| Get the Identity object of this Entity.   | |
Additional Inherited Members | |
  Protected Member Functions inherited from Entity< PolicyT, FeaturesT > | |
| Entity (const std::shared_ptr< Pimpl > &_pimpl=nullptr, const Identity &_identity=Identity()) | |
| Constructor for the Entity.   | |
| Entity (std::shared_ptr< Pimpl > &&_pimpl, const Identity &_identity) | |
| Constructor that allows the pimpl to be moved instead of copied.   | |
| template<typename FeatureT > | |
| FeatureT::template Implementation< PolicyT > * | Interface () | 
| Get a pointer to the implementation of FeatureT.   | |
| template<typename FeatureT > | |
| const FeatureT::template Implementation< PolicyT > * | Interface () const | 
| Same as Interface(), but const-qualified so that const entities can request const-qualified interfaces from the implementation.   | |
  Protected Attributes inherited from Entity< PolicyT, FeaturesT > | |
| Identity | identity | 
| This field contains information to identify the entity.   | |
| std::shared_ptr< Pimpl > | pimpl | 
| This is a pointer to the physics engine implementation, and it can be used by the object features to find the interfaces that they need in order to function.   | |
Detailed Description
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:
 Public Types inherited from