dart
|
The FixedFrame class represents a Frame with zero relative velocity and zero relative acceleration. More...
#include <FixedFrame.hpp>
Public Member Functions | |
FixedFrame (Frame *refFrame, const Eigen::Isometry3d &relativeTransform=Eigen::Isometry3d::Identity()) | |
Constructor. | |
virtual | ~FixedFrame () |
Destructor. | |
void | setAspectProperties (const AspectProperties &properties) |
Set the AspectProperties of this FixedFrame. | |
virtual void | setRelativeTransform (const Eigen::Isometry3d &transform) |
Set the relative transform of this FixedFrame. | |
const Eigen::Isometry3d & | getRelativeTransform () const override |
Get the transform of this Frame with respect to its parent Frame. | |
const Eigen::Vector6d & | getRelativeSpatialVelocity () const override |
Always returns a zero vector. | |
const Eigen::Vector6d & | getRelativeSpatialAcceleration () const override |
Always returns a zero vector. | |
const Eigen::Vector6d & | getPrimaryRelativeAcceleration () const override |
Always returns a zero vector. | |
const Eigen::Vector6d & | getPartialAcceleration () const override |
Always returns a zero vector. | |
![]() | |
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. | |
virtual ShapeFrame * | asShapeFrame () |
Convert 'this' into a ShapeFrame pointer if Frame is a ShapeFrame, otherwise return nullptr. | |
virtual const ShapeFrame * | asShapeFrame () const |
Convert 'const this' into a ShapeFrame pointer if Frame is a ShapeFrame, otherwise return nullptr. | |
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. | |
![]() | |
Entity (Frame *_refFrame, bool _quiet) | |
Constructor for typical usage. | |
Entity () | |
Default constructor, delegates to Entity(ConstructAbstract_t) | |
Entity (const Entity &)=delete | |
virtual | ~Entity () |
Destructor. | |
virtual const std::string & | setName (const std::string &_name)=0 |
Set name. More... | |
virtual const std::string & | getName () const =0 |
Return the name of this Entity. | |
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. | |
![]() | |
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. | |
![]() | |
EmbedProperties (Args &&... args) | |
const AspectProperties & | getAspectProperties () const |
Protected Member Functions | |
FixedFrame () | |
Default constructor – calls the Abstract constructor. | |
FixedFrame (ConstructAbstractTag) | |
Abstract constructor. | |
![]() | |
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... | |
![]() | |
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. | |
![]() | |
void | setVersionDependentObject (VersionCounter *dependent) |
Static Protected Attributes | |
static const Eigen::Vector6d | mZero = Eigen::Vector6d::Zero() |
Used for Relative Velocity and Relative Acceleration of this Frame. | |
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 | Derived = FixedFrame |
using | Aspect = common::EmbeddedPropertiesAspect< Derived, detail::FixedFrameProperties > |
using | AspectProperties = typename Aspect::Properties |
using | AspectPropertiesData = typename Aspect::PropertiesData |
using | Base = common::RequiresAspect< Aspect > |
![]() | |
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. | |
![]() | |
enum | ConstructAbstractTag { ConstructAbstract } |
Used when constructing a pure abstract class, because calling the Frame constructor is just a formality. | |
![]() | |
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. | |
![]() | |
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. | |
![]() | |
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. | |
![]() | |
std::size_t | mVersion |
![]() | |
AspectProperties | mAspectProperties |
Aspect::Properties data, directly accessible to your derived class. | |
The FixedFrame class represents a Frame with zero relative velocity and zero relative acceleration.
It does not move within its parent Frame after its relative transform is set. However, classes that inherit the FixedFrame class may alter its relative transform or change what its parent Frame is.