#include <mc_rbdyn/Frame.h>
Classes | |
struct | NewFrameToken |
Public Member Functions | |
Frame (NewFrameToken, const std::string &name) noexcept | |
Frame (NewFrameToken, const std::string &name, Frame &parent, sva::PTransformd X_p_f, bool bake) noexcept | |
virtual | ~Frame () |
Frame (const Frame &)=delete | |
Frame (Frame &&)=delete | |
Frame & | operator= (const Frame &)=delete |
Frame & | operator= (Frame &&)=delete |
const std::string & | name () const noexcept |
virtual sva::PTransformd | position () const noexcept |
virtual sva::MotionVecd | velocity () const noexcept |
Frame & | position (sva::PTransformd pos) noexcept |
Frame & | velocity (sva::MotionVecd velocity) noexcept |
const FramePtr & | parent () const noexcept |
mc_tvm::Frame & | tvm_frame () const |
Public Member Functions inherited from mc_rtc::shared< Frame > | |
operator std::shared_ptr< Frame > () | |
operator std::shared_ptr< const Frame > () const | |
Static Public Member Functions | |
static FramePtr | make (const std::string &name) noexcept |
static FramePtr | make (const std::string &name, Frame &parent, sva::PTransformd X_p_f, bool baked) |
Protected Member Functions | |
virtual void | init_tvm_frame () const |
Protected Attributes | |
std::string | name_ |
FramePtr | parent_ = nullptr |
sva::PTransformd | position_ = sva::PTransformd::Identity() |
sva::MotionVecd | velocity_ = sva::MotionVecd::Zero() |
mc_tvm::FramePtr | tvm_frame_ |
Additional Inherited Members | |
Public Types inherited from mc_rtc::shared< Frame > | |
using | ActualBase = typename std::conditional< std::is_same< void, void >::value, std::enable_shared_from_this< Frame >, void >::type |
Represents a frame
This frame is not necessarily associated to a robot as RobotFrame
Its position/velocity/acceleration properties are user-provided
|
noexcept |
Constructor for a frame with no parent
|
noexcept |
Constructor for a frame with a parent
|
virtual |
|
delete |
|
delete |
|
protectedvirtual |
Initialize the associated tvm Frame
|
inlinestaticnoexcept |
Creates a new frame with no parent
name | Name of the frame |
|
static |
Creates a new frame with a parent. The frame is fixed relative to its parent
If parent
is a RobotFrame then this function returns a RobotFrame
name | Name of the new frame |
parent | Parent frame |
X_p_f | Transformation from the parent to the frame |
baked | If true, don't keep track of the parent in the newly created frame |
If | parent is actually a RobotFrame this creates a new frame name in RoboyFrame, this throws if name is alredy a frame in the robot |
|
inlinenoexcept |
Return the frame's name
|
inlinenoexcept |
Access the parent's frame (might be nullptr)
|
inlinevirtualnoexcept |
Compute the current (6D) frame's position in inertial frame
|
inlinenoexcept |
Update the frame's position
If this frame has no parent, this sets its absolute position.
Othewise, it sets the relative transformation from it's parent to itself
|
inline |
Access the associated TVM frame
|
inlinevirtualnoexcept |
Compute the current frame's velocity in inertial frame
|
inlinenoexcept |
Update the frame's velocity
If this frame has no parent this sets its absolute velocity.
Otherwise this is a no-op
|
protected |
Name of the frame
|
protected |
Direct parent of the frame (if any)
|
protected |
Absolute position for a frame with no parent, relative position otherwise
|
mutableprotected |
|
protected |
Absolute velocity for a frame with no parent, unused otherwise