dart
|
The SimpleFrame class offers a user-friendly way of creating arbitrary Frames within the kinematic tree structure of DART. More...
#include <SimpleFrame.hpp>
Public Member Functions | |
SimpleFrame (Frame *_refFrame=Frame::World(), const std::string &_name="simple_frame", const Eigen::Isometry3d &_relativeTransform=Eigen::Isometry3d::Identity()) | |
Constructor. | |
SimpleFrame (const SimpleFrame &_otherFrame, Frame *_refFrame=Frame::World()) | |
Copy constructor. More... | |
~SimpleFrame () override | |
Destructor. | |
const std::string & | setName (const std::string &_name) override |
Set name. More... | |
const std::string & | getName () const override |
Return the name of this Entity. | |
std::shared_ptr< SimpleFrame > | clone (Frame *_refFrame=Frame::World()) const |
Create a new SimpleFrame with the same world transform, velocity, and acceleration as this one. More... | |
void | copy (const Frame &_otherFrame, Frame *_refFrame=Frame::World(), bool _copyProperties=true) |
Make the world transform, world velocity, and world acceleration of this SimpleFrame match another Frame. More... | |
void | copy (const Frame *_otherFrame, Frame *_refFrame=Frame::World(), bool _copyProperties=true) |
Same as copy(const Frame&) | |
SimpleFrame & | operator= (const SimpleFrame &_otherFrame) |
Same as copy(const Frame&) except the parent frame of this SimpleFrame is left the same, and _copyProperties is set to false. More... | |
std::shared_ptr< SimpleFrame > | spawnChildSimpleFrame (const std::string &name="SimpleFrame", const Eigen::Isometry3d &relativeTransform=Eigen::Isometry3d::Identity()) |
Spawn a child SimpleFrame to this SimpleFrame. More... | |
void | setRelativeTransform (const Eigen::Isometry3d &_newRelTransform) |
Set the relative transform of this SimpleFrame. | |
void | setRelativeTranslation (const Eigen::Vector3d &_newTranslation) |
Set the relative translation of this SimpleFrame. | |
void | setRelativeRotation (const Eigen::Matrix3d &_newRotation) |
Set the relative rotation of this SimpleFrame. | |
void | setTransform (const Eigen::Isometry3d &_newTransform, const Frame *_withRespectTo=Frame::World()) |
Set the transform of this SimpleFrame so that its transform with respect to Frame _withRespectTo is equal to _newTransform. More... | |
void | setTranslation (const Eigen::Vector3d &_newTranslation, const Frame *_withRespectTo=Frame::World()) |
Set the translation of this SimpleFrame so that its translation with respect to Frame _withRespectTo is equal to _newTranslation. More... | |
void | setRotation (const Eigen::Matrix3d &_newRotation, const Frame *_withRespectTo=Frame::World()) |
Set the rotation of this SimpleFrame so that its rotation with respect to Frame _withRespectTo is equal to _newRotation. More... | |
const Eigen::Isometry3d & | getRelativeTransform () const override |
Get the transform of this Frame with respect to its parent Frame. | |
void | setRelativeSpatialVelocity (const Eigen::Vector6d &_newSpatialVelocity) |
Set the spatial velocity of this SimpleFrame relative to its parent Frame. More... | |
void | setRelativeSpatialVelocity (const Eigen::Vector6d &_newSpatialVelocity, const Frame *_inCoordinatesOf) |
Set the spatial velocity of this SimpleFrame relative to its parent Frame. More... | |
const Eigen::Vector6d & | getRelativeSpatialVelocity () const override |
Get the spatial velocity of this Frame relative to its parent Frame, in its own coordinates. More... | |
void | setRelativeSpatialAcceleration (const Eigen::Vector6d &_newSpatialAcceleration) |
Set the spatial acceleration of this SimpleFrame relative to its parent Frame. More... | |
void | setRelativeSpatialAcceleration (const Eigen::Vector6d &_newSpatialAcceleration, const Frame *_inCoordinatesOf) |
Set the spatial acceleration of this SimpleFrame relative to its parent Frame. More... | |
const Eigen::Vector6d & | getRelativeSpatialAcceleration () const override |
Get the spatial acceleration of this Frame relative to its parent Frame, in the coordinates of this Frame. More... | |
const Eigen::Vector6d & | getPrimaryRelativeAcceleration () const override |
The Featherstone ABI algorithm exploits a component of the spatial acceleration which we refer to as the partial acceleration, accessible by getPartialAcceleration(). More... | |
const Eigen::Vector6d & | getPartialAcceleration () const override |
The Featherstone ABI algorithm exploits a component of the spatial acceleration which we refer to as the partial acceleration. More... | |
void | setClassicDerivatives (const Eigen::Vector3d &_linearVelocity=Eigen::Vector3d::Zero(), const Eigen::Vector3d &_angularVelocity=Eigen::Vector3d::Zero(), const Eigen::Vector3d &_linearAcceleration=Eigen::Vector3d::Zero(), const Eigen::Vector3d &_angularAcceleration=Eigen::Vector3d::Zero()) |
Set the relative velocity and acceleration of this Frame according to classical (non-spatial) relative velocity and relative acceleration vectors. More... | |
![]() | |
Detachable (Frame *_refFrame, bool _quiet) | |
Constructor. | |
virtual void | setParentFrame (Frame *_newParentFrame) |
Allows the user to change the parent Frame of this Entity. | |
![]() | |
Entity (Frame *_refFrame, bool _quiet) | |
Constructor for typical usage. | |
Entity () | |
Default constructor, delegates to Entity(ConstructAbstract_t) | |
Entity (const Entity &)=delete | |
virtual | ~Entity () |
Destructor. | |
Frame * | getParentFrame () |
Get the parent (reference) frame of this Entity. | |
const Frame * | getParentFrame () const |
Get the parent (reference) frame of this Entity. | |
bool | descendsFrom (const Frame *_someFrame) const |
Returns true if and only if this Entity is itself (i.e. More... | |
bool | isFrame () const |
True iff this Entity is also a Frame. | |
bool | isQuiet () const |
Returns true if this Entity is set to be quiet. More... | |
virtual void | notifyTransformUpdate () |
Notify the transformation update of this Entity that its parent Frame's pose is needed. | |
bool | needsTransformUpdate () const |
Returns true iff a transform update is needed for this Entity. | |
virtual void | notifyVelocityUpdate () |
Notify the velocity update of this Entity that its parent Frame's velocity is needed. | |
bool | needsVelocityUpdate () const |
Returns true iff a velocity update is needed for this Entity. | |
virtual void | notifyAccelerationUpdate () |
Notify the acceleration of this Entity that its parent Frame's acceleration is needed. | |
bool | needsAccelerationUpdate () const |
Returns true iff an acceleration update is needed for this Entity. | |
![]() | |
virtual | ~Subject () |
Destructor will notify all Observers that it is destructing. | |
![]() | |
virtual | ~ShapeFrame () override |
Destructor. | |
void | setProperties (const UniqueProperties &properties) |
Set the UniqueProperties of this ShapeFrame. | |
void | setAspectProperties (const AspectProperties &properties) |
Set the AspectProperties of this ShapeFrame. | |
const AspectProperties & | getAspectProperties () const |
void | setShape (const ShapePtr &shape) |
Set shape. | |
ShapePtr | getShape () |
Return shape. | |
ConstShapePtr | getShape () const |
Return (const) shape. | |
ShapeFrame * | asShapeFrame () override |
Convert 'this' into a ShapeFrame pointer if Frame is a ShapeFrame, otherwise return nullptr. | |
const ShapeFrame * | asShapeFrame () const override |
Convert 'const this' into a ShapeFrame pointer if Frame is a ShapeFrame, otherwise return nullptr. | |
bool | isShapeNode () const |
Returns true if this Frame is a ShapeNode. | |
virtual ShapeNode * | asShapeNode () |
Convert 'this' into a ShapeNode pointer if ShapeFrame is a ShapeNode, otherwise return nullptr. | |
virtual const ShapeNode * | asShapeNode () const |
Convert 'const this' into a ShapeNode pointer if ShapeFrame is a ShapeNode, otherwise return nullptr. More... | |
![]() | |
VersionCounter () | |
Default constructor. | |
virtual std::size_t | incrementVersion () |
Increment the version for this object. | |
virtual std::size_t | getVersion () const |
Get the version number of this object. | |
![]() | |
template<typename... Args> | |
EmbedPropertiesOnTopOf (Args &&... args) | |
![]() | |
Frame (const Frame &)=delete | |
~Frame () override | |
Destructor. | |
const Eigen::Isometry3d & | getWorldTransform () const |
Get the transform of this Frame with respect to the World Frame. | |
Eigen::Isometry3d | getTransform (const Frame *_withRespectTo=Frame::World()) const |
Get the transform of this Frame with respect to some other Frame. | |
Eigen::Isometry3d | getTransform (const Frame *withRespectTo, const Frame *inCoordinatesOf) const |
Get the transform of this Frame with respect to some other Frame. More... | |
const Eigen::Vector6d & | getSpatialVelocity () const |
Get the total spatial velocity of this Frame in the coordinates of this Frame. More... | |
Eigen::Vector6d | getSpatialVelocity (const Frame *_relativeTo, const Frame *_inCoordinatesOf) const |
Get the spatial velocity of this Frame relative to some other Frame. More... | |
Eigen::Vector6d | getSpatialVelocity (const Eigen::Vector3d &_offset) const |
Get the spatial velocity of a fixed point in this Frame. More... | |
Eigen::Vector6d | getSpatialVelocity (const Eigen::Vector3d &_offset, const Frame *_relativeTo, const Frame *_inCoordinatesOf) const |
Get the spatial velocity of a fixed point in this Frame. | |
Eigen::Vector3d | getLinearVelocity (const Frame *_relativeTo=Frame::World(), const Frame *_inCoordinatesOf=Frame::World()) const |
Get the linear portion of classical velocity of this Frame relative to some other Frame. More... | |
Eigen::Vector3d | getLinearVelocity (const Eigen::Vector3d &_offset, const Frame *_relativeTo=Frame::World(), const Frame *_inCoordinatesOf=Frame::World()) const |
Get the linear velocity of a point that is fixed in this Frame. More... | |
Eigen::Vector3d | getAngularVelocity (const Frame *_relativeTo=Frame::World(), const Frame *_inCoordinatesOf=Frame::World()) const |
Get the angular portion of classical velocity of this Frame relative to some other Frame. More... | |
const Eigen::Vector6d & | getSpatialAcceleration () const |
Get the total spatial acceleration of this Frame in the coordinates of this Frame. More... | |
Eigen::Vector6d | getSpatialAcceleration (const Frame *_relativeTo, const Frame *_inCoordinatesOf) const |
Get the spatial acceleration of this Frame relative to some other Frame. More... | |
Eigen::Vector6d | getSpatialAcceleration (const Eigen::Vector3d &_offset) const |
Get the spatial acceleration of a fixed point in this Frame. More... | |
Eigen::Vector6d | getSpatialAcceleration (const Eigen::Vector3d &_offset, const Frame *_relativeTo, const Frame *_inCoordinatesOf) const |
Get the spatial acceleration of a fixed point in this Frame. | |
Eigen::Vector3d | getLinearAcceleration (const Frame *_relativeTo=Frame::World(), const Frame *_inCoordinatesOf=Frame::World()) const |
Get the linear portion of classical acceleration of this Frame relative to some other Frame. More... | |
Eigen::Vector3d | getLinearAcceleration (const Eigen::Vector3d &_offset, const Frame *_relativeTo=Frame::World(), const Frame *_inCoordinatesOf=Frame::World()) const |
Eigen::Vector3d | getAngularAcceleration (const Frame *_relativeTo=Frame::World(), const Frame *_inCoordinatesOf=Frame::World()) const |
Get the angular portion of classical acceleration of this Frame relative to some other Frame. More... | |
const std::set< Entity * > & | getChildEntities () |
Get a container with the Entities that are children of this Frame. More... | |
const std::set< const Entity * > | getChildEntities () const |
Get a container with the Entities that are children of this Frame. More... | |
std::size_t | getNumChildEntities () const |
Get the number of Entities that are currently children of this Frame. | |
const std::set< Frame * > & | getChildFrames () |
Get a container with the Frames that are children of this Frame. More... | |
std::set< const Frame * > | getChildFrames () const |
Get a container with the Frames that are children of this Frame. More... | |
std::size_t | getNumChildFrames () const |
Get the number of Frames that are currently children of this Frame. | |
bool | isShapeFrame () const |
Returns true if this Frame is a ShapeFrame. | |
bool | isWorld () const |
Returns true if this Frame is the World Frame. | |
virtual void | dirtyTransform () override |
Notify the transformation updates of this Frame and all its children are needed. | |
virtual void | dirtyVelocity () override |
Notify the velocity updates of this Frame and all its children are needed. | |
virtual void | dirtyAcceleration () override |
Notify the acceleration updates of this Frame and all its children are needed. | |
Protected Attributes | |
std::string | mName |
Name of this SimpleFrame. | |
Eigen::Isometry3d | mRelativeTf |
Relative transform of the SimpleFrame. | |
Eigen::Vector6d | mRelativeVelocity |
Relative spatial velocity of the SimpleFrame. | |
Eigen::Vector6d | mRelativeAcceleration |
Relative spatial acceleration of the SimpleFrame. | |
Eigen::Vector6d | mPartialAcceleration |
Partial Acceleration of this Frame. | |
![]() | |
Frame * | mParentFrame |
Parent frame of this Entity. | |
bool | mNeedTransformUpdate |
Does this Entity need a Transform update. | |
bool | mNeedVelocityUpdate |
Does this Entity need a Velocity update. | |
bool | mNeedAccelerationUpdate |
Does this Entity need an Acceleration update. | |
FrameChangedSignal | mFrameChangedSignal |
Frame changed signal. | |
NameChangedSignal | mNameChangedSignal |
Name changed signal. | |
EntitySignal | mTransformUpdatedSignal |
Transform changed signal. | |
EntitySignal | mVelocityChangedSignal |
Velocity changed signal. | |
EntitySignal | mAccelerationChangedSignal |
Acceleration changed signal. | |
![]() | |
std::set< Observer * > | mObservers |
List of current Observers. | |
![]() | |
bool | mAmShapeNode |
Contains whether or not this is a ShapeNode. | |
ShapeUpdatedSignal | mShapeUpdatedSignal |
Shape updated signal. | |
RelativeTransformUpdatedSignal | mRelativeTransformUpdatedSignal |
Relative transformation updated signal. | |
common::Connection | mConnectionForShapeVersionChange |
Connect to changes in the Shape version. | |
![]() | |
std::size_t | mVersion |
![]() | |
Eigen::Isometry3d | mWorldTransform |
World transform of this Frame. More... | |
Eigen::Vector6d | mVelocity |
Total velocity of this Frame, in the coordinates of this Frame. More... | |
Eigen::Vector6d | mAcceleration |
Total acceleration of this Frame, in the coordinates of this Frame. More... | |
std::set< Frame * > | mChildFrames |
Container of this Frame's child Frames. | |
std::set< Entity * > | mChildEntities |
Container of this Frame's child Entities. | |
Additional Inherited Members | |
![]() | |
using | EntitySignal = common::Signal< void(const Entity *)> |
using | FrameChangedSignal = common::Signal< void(const Entity *, const Frame *_oldFrame, const Frame *_newFrame)> |
using | NameChangedSignal = common::Signal< void(const Entity *, const std::string &_oldName, const std::string &_newName)> |
![]() | |
using | ShapeUpdatedSignal = common::Signal< void(const ShapeFrame *thisShapeFrame, const ShapePtr &oldShape, const ShapePtr &newShape)> |
using | RelativeTransformUpdatedSignal = common::Signal< void(const ShapeFrame *thisShapeFrame, const Eigen::Isometry3d &oldTransform, const Eigen::Isometry3d &newTransform)> |
using | UniqueProperties = AspectProperties |
using | Properties = UniqueProperties |
![]() | |
using | Impl = EmbedProperties< DerivedT, PropertiesDataT > |
using | Derived = typename Impl::Derived |
using | AspectPropertiesData = typename Impl::AspectPropertiesData |
using | AspectProperties = typename Impl::AspectProperties |
using | Aspect = typename Impl::Aspect |
using | Base = CompositeJoiner< Impl, CompositeBases... > |
![]() | |
static Frame * | World () |
static std::shared_ptr< Frame > | WorldShared () |
![]() | |
common::SlotRegister< FrameChangedSignal > | onFrameChanged |
Slot register for frame changed signal. | |
common::SlotRegister< NameChangedSignal > | onNameChanged |
Slot register for name changed signal. | |
common::SlotRegister< EntitySignal > | onTransformUpdated |
Slot register for transform updated signal. | |
common::SlotRegister< EntitySignal > | onVelocityChanged |
Slot register for velocity updated signal. | |
common::SlotRegister< EntitySignal > | onAccelerationChanged |
Slot register for acceleration updated signal. | |
![]() | |
common::SlotRegister< ShapeUpdatedSignal > | onShapeUpdated |
Slot register for shape updated signal. | |
common::SlotRegister< RelativeTransformUpdatedSignal > | onRelativeTransformUpdated |
Slot register for relative transformation updated signal. | |
![]() | |
enum | ConstructFrameTag { ConstructFrame } |
Used when constructing a Frame class, because the Frame constructor will take care of setting up the parameters you pass into it. | |
enum | ConstructAbstractTag { ConstructAbstract } |
Used when constructing a pure abstract class, because calling the Entity constructor is just a formality. | |
![]() | |
enum | ConstructAbstractTag { ConstructAbstract } |
Used when constructing a pure abstract class, because calling the Frame constructor is just a formality. | |
![]() | |
Detachable () | |
Constructor for inheriting classes, so they do not need to fill in the arguments. | |
![]() | |
Entity (ConstructFrameTag) | |
Entity (ConstructAbstractTag) | |
![]() | |
void | sendDestructionNotification () const |
Send a destruction notification to all Observers. More... | |
void | addObserver (Observer *_observer) const |
Add an Observer to the list of Observers. | |
void | removeObserver (Observer *_observer) const |
Remove an Observer from the list of Observers. | |
![]() | |
ShapeFrame (Frame *parent, const Properties &properties) | |
Constructor. | |
ShapeFrame (Frame *parent, const ShapePtr &shape=nullptr) | |
Constructor. | |
ShapeFrame (const std::tuple< Frame *, Properties > &args) | |
Delegating constructor. | |
![]() | |
void | setVersionDependentObject (VersionCounter *dependent) |
![]() | |
Frame (Frame *_refFrame) | |
Constructor for typical usage. | |
Frame () | |
Default constructor, delegates to Frame(ConstructAbstract_t) | |
Frame (ConstructAbstractTag) | |
Constructor for use by pure abstract classes. | |
virtual void | changeParentFrame (Frame *_newParentFrame) override |
Used by derived classes to change their parent frames. | |
virtual void | processNewEntity (Entity *_newChildEntity) |
Called during a parent Frame change to allow extensions of the Frame class to handle new children in customized ways. More... | |
virtual void | processRemovedEntity (Entity *_oldChildEntity) |
Called when a child Entity is removed from its parent Frame. More... | |
The SimpleFrame class offers a user-friendly way of creating arbitrary Frames within the kinematic tree structure of DART.
The user is free to specify the relative transform, relative velocity, and relative acceleration of this Frame.
While many classes (such as BodyNode and EndEffector) inherit the Frame class, they all have restrictions (constraints) on how their properties (such as position, velocity, and acceleration) can be modified. Conversely, the SimpleFrame class is nothing but a simple abstract Frame whose properties can be arbitrarily set and modified by the user.
dart::dynamics::SimpleFrame::SimpleFrame | ( | const SimpleFrame & | _otherFrame, |
Frame * | _refFrame = Frame::World() |
||
) |
Copy constructor.
Note that the parent frame of _otherFrame will not be copied as the reference frame for the newly created SimpleFrame.
SimpleFramePtr dart::dynamics::SimpleFrame::clone | ( | Frame * | _refFrame = Frame::World() | ) | const |
Create a new SimpleFrame with the same world transform, velocity, and acceleration as this one.
_refFrame will be used as the reference Frame of the new SimpleFrame.
void dart::dynamics::SimpleFrame::copy | ( | const Frame & | _otherFrame, |
Frame * | _refFrame = Frame::World() , |
||
bool | _copyProperties = true |
||
) |
Make the world transform, world velocity, and world acceleration of this SimpleFrame match another Frame.
The _refFrame argument will be the new parent Frame of this SimpleFrame. Also copies the Entity Properties if _copyProperties is left as true.
|
overridevirtual |
The Featherstone ABI algorithm exploits a component of the spatial acceleration which we refer to as the partial acceleration.
This function returns that component of acceleration.
Implements dart::dynamics::Frame.
|
overridevirtual |
The Featherstone ABI algorithm exploits a component of the spatial acceleration which we refer to as the partial acceleration, accessible by getPartialAcceleration().
We save operations during our forward kinematics by computing and storing the partial acceleration separately from the rest of the Frame's acceleration. getPrimaryRelativeAcceleration() will return the portion of the relative spatial acceleration that is not contained in the partial acceleration. To get the full spatial acceleration of this Frame relative to its parent Frame, use getRelativeSpatialAcceleration(). To get the full spatial acceleration of this Frame relative to the World Frame, use getSpatialAcceleration().
Implements dart::dynamics::Frame.
|
overridevirtual |
Get the spatial acceleration of this Frame relative to its parent Frame, in the coordinates of this Frame.
Implements dart::dynamics::Frame.
|
overridevirtual |
Get the spatial velocity of this Frame relative to its parent Frame, in its own coordinates.
Implements dart::dynamics::Frame.
SimpleFrame & dart::dynamics::SimpleFrame::operator= | ( | const SimpleFrame & | _otherFrame | ) |
Same as copy(const Frame&) except the parent frame of this SimpleFrame is left the same, and _copyProperties is set to false.
void dart::dynamics::SimpleFrame::setClassicDerivatives | ( | const Eigen::Vector3d & | _linearVelocity = Eigen::Vector3d::Zero() , |
const Eigen::Vector3d & | _angularVelocity = Eigen::Vector3d::Zero() , |
||
const Eigen::Vector3d & | _linearAcceleration = Eigen::Vector3d::Zero() , |
||
const Eigen::Vector3d & | _angularAcceleration = Eigen::Vector3d::Zero() |
||
) |
Set the relative velocity and acceleration of this Frame according to classical (non-spatial) relative velocity and relative acceleration vectors.
These values must be given with respect to this Frame's parent (note: this is unlike setRelativeSpatialVelocity and setRelativeSpatialAcceleration which expect values in the Frame's own coordinates).
This method is slightly less computationally efficient than using setRelativeSpatialVelocity and setRelativeSpatialAcceleration, but offers the most intuitive way of setting relative velocities and relative accelerations.
These values are equivalent to the terms in the Newton-Euler
|
overridevirtual |
Set name.
Some implementations of Entity may make alterations to the name that gets passed in. The final name that this entity will use gets passed back in the return of this function.
Implements dart::dynamics::Entity.
void dart::dynamics::SimpleFrame::setRelativeSpatialAcceleration | ( | const Eigen::Vector6d & | _newSpatialAcceleration | ) |
Set the spatial acceleration of this SimpleFrame relative to its parent Frame.
Must be in the coordinates of THIS Frame.
This is the most computationally efficient way of setting relative acceleration.
void dart::dynamics::SimpleFrame::setRelativeSpatialAcceleration | ( | const Eigen::Vector6d & | _newSpatialAcceleration, |
const Frame * | _inCoordinatesOf | ||
) |
Set the spatial acceleration of this SimpleFrame relative to its parent Frame.
Specify the coordinate Frame of _newSpatialAcceleration.
void dart::dynamics::SimpleFrame::setRelativeSpatialVelocity | ( | const Eigen::Vector6d & | _newSpatialVelocity | ) |
Set the spatial velocity of this SimpleFrame relative to its parent Frame.
Must be in the coordinates of THIS Frame.
This is the most computationally efficient way of setting relative velocity.
Use setClassicDerivatives to set the velocity according to classic relative linear and angular velocity values.
void dart::dynamics::SimpleFrame::setRelativeSpatialVelocity | ( | const Eigen::Vector6d & | _newSpatialVelocity, |
const Frame * | _inCoordinatesOf | ||
) |
Set the spatial velocity of this SimpleFrame relative to its parent Frame.
Specify the coordinate Frame of _newSpatialVelocity.
Use setClassicDerivatives to set the velocity according to classic relative linear and angular velocity values.
void dart::dynamics::SimpleFrame::setRotation | ( | const Eigen::Matrix3d & | _newRotation, |
const Frame * | _withRespectTo = Frame::World() |
||
) |
Set the rotation of this SimpleFrame so that its rotation with respect to Frame _withRespectTo is equal to _newRotation.
Note that the parent Frame of this SimpleFrame will not be changed.
void dart::dynamics::SimpleFrame::setTransform | ( | const Eigen::Isometry3d & | _newTransform, |
const Frame * | _withRespectTo = Frame::World() |
||
) |
Set the transform of this SimpleFrame so that its transform with respect to Frame _withRespectTo is equal to _newTransform.
Note that the parent Frame of this SimpleFrame will not be changed.
void dart::dynamics::SimpleFrame::setTranslation | ( | const Eigen::Vector3d & | _newTranslation, |
const Frame * | _withRespectTo = Frame::World() |
||
) |
Set the translation of this SimpleFrame so that its translation with respect to Frame _withRespectTo is equal to _newTranslation.
Note that the parent Frame of this SimpleFrame will not be changed.
std::shared_ptr< SimpleFrame > dart::dynamics::SimpleFrame::spawnChildSimpleFrame | ( | const std::string & | name = "SimpleFrame" , |
const Eigen::Isometry3d & | relativeTransform = Eigen::Isometry3d::Identity() |
||
) |
Spawn a child SimpleFrame to this SimpleFrame.
SimpleFrame doesn't have the ownership of the created child SimpleFrame. This means that you are responsible for holding onto the returned SimpleFrame. If you neglect to store it, it will automatically be destroyed.