DART
6.10.1
|
#include <InteractiveFrame.hpp>
Public Types | |
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... > |
Public Member Functions | |
InteractiveFrame (dart::dynamics::Frame *referenceFrame, const std::string &name="interactive_frame", const Eigen::Isometry3d &relativeTransform=Eigen::Isometry3d::Identity(), double size_scale=0.2, double thickness_scale=2.0) | |
Constructor. More... | |
virtual | ~InteractiveFrame () |
Destructor. More... | |
virtual void | resizeStandardVisuals (double size_scale=0.2, double thickness_scale=2.0) |
Recreate the visuals for this InteractiveFrame according to the specified scales. More... | |
InteractiveTool * | getTool (InteractiveTool::Type tool, std::size_t coordinate) |
Get the specified tool. More... | |
const InteractiveTool * | getTool (InteractiveTool::Type tool, std::size_t coordinate) const |
Get the specified tool. More... | |
dart::dynamics::SimpleFrame * | addShapeFrame (const dart::dynamics::ShapePtr &shape) |
const std::vector< dart::dynamics::SimpleFrame * > | getShapeFrames () |
const std::vector< const dart::dynamics::SimpleFrame * > | getShapeFrames () const |
void | removeAllShapeFrames () |
const std::string & | setName (const std::string &_name) override |
Set name. More... | |
const std::string & | getName () const override |
Return the name of this Entity. More... | |
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&) 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. More... | |
void | setRelativeTranslation (const Eigen::Vector3d &_newTranslation) |
Set the relative translation of this SimpleFrame. More... | |
void | setRelativeRotation (const Eigen::Matrix3d &_newRotation) |
Set the relative rotation of this SimpleFrame. More... | |
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. More... | |
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... | |
virtual void | setParentFrame (Frame *_newParentFrame) |
Allows the user to change the parent Frame of this Entity. More... | |
Frame * | getParentFrame () |
Get the parent (reference) frame of this Entity. More... | |
const Frame * | getParentFrame () const |
Get the parent (reference) frame of this Entity. More... | |
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. More... | |
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. More... | |
virtual void | dirtyTransform () |
Notify the transformation update of this Entity that its parent Frame's pose is needed. More... | |
virtual void | dirtyTransform () override |
Notify the transformation updates of this Frame and all its children are needed. More... | |
bool | needsTransformUpdate () const |
Returns true iff a transform update is needed for this Entity. More... | |
virtual void | notifyVelocityUpdate () |
Notify the velocity update of this Entity that its parent Frame's velocity is needed. More... | |
virtual void | dirtyVelocity () |
Notify the velocity update of this Entity that its parent Frame's velocity is needed. More... | |
virtual void | dirtyVelocity () override |
Notify the velocity updates of this Frame and all its children are needed. More... | |
bool | needsVelocityUpdate () const |
Returns true iff a velocity update is needed for this Entity. More... | |
virtual void | notifyAccelerationUpdate () |
Notify the acceleration of this Entity that its parent Frame's acceleration is needed. More... | |
virtual void | dirtyAcceleration () |
Notify the acceleration of this Entity that its parent Frame's acceleration is needed. More... | |
virtual void | dirtyAcceleration () override |
Notify the acceleration updates of this Frame and all its children are needed. More... | |
bool | needsAccelerationUpdate () const |
Returns true iff an acceleration update is needed for this Entity. More... | |
void | setProperties (const UniqueProperties &properties) |
Set the UniqueProperties of this ShapeFrame. More... | |
void | setAspectProperties (const AspectProperties &properties) |
Set the AspectProperties of this ShapeFrame. More... | |
const AspectProperties & | getAspectProperties () const |
const AspectProperties & | getAspectProperties () const |
void | setShape (const ShapePtr &shape) |
Set shape. More... | |
ShapePtr | getShape () |
Return shape. More... | |
ConstShapePtr | getShape () const |
Return (const) shape. More... | |
bool | hasVisualAspect () const |
Check if this Composite currently has VisualAspect . More... | |
VisualAspect * | getVisualAspect () |
Get a(an) VisualAspect from this Composite. More... | |
const VisualAspect * | getVisualAspect () const |
Get a(an) VisualAspect from this Composite. More... | |
VisualAspect * | getVisualAspect (const bool createIfNull) |
Get a(an) VisualAspect from this Composite. More... | |
void | setVisualAspect (const VisualAspect *aspect) |
Make a clone of VisualAspect and place the clone into this Composite. More... | |
void | setVisualAspect (std::unique_ptr< VisualAspect > &&aspect) |
Use move semantics to place VisualAspect into this Composite. More... | |
template<typename... Args> | |
VisualAspect * | createVisualAspect (Args &&... args) |
Construct a(an) VisualAspect inside of this Composite. More... | |
void | removeVisualAspect () |
Remove a(an) VisualAspect from this Composite. More... | |
std::unique_ptr< VisualAspect > | releaseVisualAspect () |
Remove a(an) VisualAspect from this Composite, but return its unique_ptr instead of letting it be deleted. More... | |
bool | hasCollisionAspect () const |
Check if this Composite currently has CollisionAspect . More... | |
CollisionAspect * | getCollisionAspect () |
Get a(an) CollisionAspect from this Composite. More... | |
const CollisionAspect * | getCollisionAspect () const |
Get a(an) CollisionAspect from this Composite. More... | |
CollisionAspect * | getCollisionAspect (const bool createIfNull) |
Get a(an) CollisionAspect from this Composite. More... | |
void | setCollisionAspect (const CollisionAspect *aspect) |
Make a clone of CollisionAspect and place the clone into this Composite. More... | |
void | setCollisionAspect (std::unique_ptr< CollisionAspect > &&aspect) |
Use move semantics to place CollisionAspect into this Composite. More... | |
template<typename... Args> | |
CollisionAspect * | createCollisionAspect (Args &&... args) |
Construct a(an) CollisionAspect inside of this Composite. More... | |
void | removeCollisionAspect () |
Remove a(an) CollisionAspect from this Composite. More... | |
std::unique_ptr< CollisionAspect > | releaseCollisionAspect () |
Remove a(an) CollisionAspect from this Composite, but return its unique_ptr instead of letting it be deleted. More... | |
bool | hasDynamicsAspect () const |
Check if this Composite currently has DynamicsAspect . More... | |
DynamicsAspect * | getDynamicsAspect () |
Get a(an) DynamicsAspect from this Composite. More... | |
const DynamicsAspect * | getDynamicsAspect () const |
Get a(an) DynamicsAspect from this Composite. More... | |
DynamicsAspect * | getDynamicsAspect (const bool createIfNull) |
Get a(an) DynamicsAspect from this Composite. More... | |
void | setDynamicsAspect (const DynamicsAspect *aspect) |
Make a clone of DynamicsAspect and place the clone into this Composite. More... | |
void | setDynamicsAspect (std::unique_ptr< DynamicsAspect > &&aspect) |
Use move semantics to place DynamicsAspect into this Composite. More... | |
template<typename... Args> | |
DynamicsAspect * | createDynamicsAspect (Args &&... args) |
Construct a(an) DynamicsAspect inside of this Composite. More... | |
void | removeDynamicsAspect () |
Remove a(an) DynamicsAspect from this Composite. More... | |
std::unique_ptr< DynamicsAspect > | releaseDynamicsAspect () |
Remove a(an) DynamicsAspect from this Composite, but return its unique_ptr instead of letting it be deleted. More... | |
ShapeFrame * | asShapeFrame () override |
Convert 'this' into a ShapeFrame pointer if Frame is a ShapeFrame, otherwise return nullptr. More... | |
const ShapeFrame * | asShapeFrame () const override |
Convert 'const this' into a ShapeFrame pointer if Frame is a ShapeFrame, otherwise return nullptr. More... | |
bool | isShapeNode () const |
Returns true if this Frame is a ShapeNode. More... | |
virtual ShapeNode * | asShapeNode () |
Convert 'this' into a ShapeNode pointer if ShapeFrame is a ShapeNode, otherwise return nullptr. More... | |
virtual const ShapeNode * | asShapeNode () const |
Convert 'const this' into a ShapeNode pointer if ShapeFrame is a ShapeNode, otherwise return nullptr. More... | |
virtual std::size_t | incrementVersion () |
Increment the version for this object. More... | |
virtual std::size_t | getVersion () const |
Get the version number of this object. More... | |
const Eigen::Isometry3d & | getWorldTransform () const |
Get the transform of this Frame with respect to the World Frame. More... | |
Eigen::Isometry3d | getTransform (const Frame *_withRespectTo=Frame::World()) const |
Get the transform of this Frame with respect to some other Frame. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
bool | isShapeFrame () const |
Returns true if this Frame is a ShapeFrame. More... | |
bool | isWorld () const |
Returns true if this Frame is the World Frame. More... | |
Static Public Member Functions | |
template<typename... Args> | |
static std::shared_ptr< InteractiveFrame > | createShared (Args &&... args) |
static Frame * | World () |
static std::shared_ptr< Frame > | WorldShared () |
Public Attributes | |
common::SlotRegister< ShapeUpdatedSignal > | onShapeUpdated |
Slot register for shape updated signal. More... | |
common::SlotRegister< RelativeTransformUpdatedSignal > | onRelativeTransformUpdated |
Slot register for relative transformation updated signal. More... | |
Protected Types | |
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. More... | |
enum | ConstructAbstractTag { ConstructAbstract } |
Used when constructing a pure abstract class, because calling the Entity constructor is just a formality. More... | |
enum | ConstructAbstractTag { ConstructAbstract } |
Used when constructing a pure abstract class, because calling the Frame constructor is just a formality. More... | |
Protected Member Functions | |
void | createStandardVisualizationShapes (double size, double thickness) |
Creates the standard visualization shapes for InteractiveFrames. More... | |
void | deleteAllVisualizationShapes () |
Deletes all the visualization shapes held by the InteractiveFrame. More... | |
void | deleteAllTools () |
Delete all the tool entities belonging to this InteractiveFrame. More... | |
virtual void | changeParentFrame (Frame *_newParentFrame) |
Used by derived classes to change their parent frames. More... | |
virtual void | changeParentFrame (Frame *_newParentFrame) override |
Used by derived classes to change their parent frames. More... | |
void | sendDestructionNotification () const |
Send a destruction notification to all Observers. More... | |
void | addObserver (Observer *_observer) const |
Add an Observer to the list of Observers. More... | |
void | removeObserver (Observer *_observer) const |
Remove an Observer from the list of Observers. More... | |
void | setVersionDependentObject (VersionCounter *dependent) |
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... | |
Private Types | |
enum | ConstructWorldTag { ConstructWorld } |
Used when constructing the World. More... | |
Private Attributes | |
VersionCounter * | mDependent |
const bool | mAmWorld |
Contains whether or not this is the World Frame. More... | |
bool | mAmShapeFrame |
Contains whether or not this is a ShapeFrame. More... | |
Slot registers | |
common::SlotRegister< FrameChangedSignal > | onFrameChanged |
Slot register for frame changed signal. More... | |
common::SlotRegister< NameChangedSignal > | onNameChanged |
Slot register for name changed signal. More... | |
common::SlotRegister< EntitySignal > | onTransformUpdated |
Slot register for transform updated signal. More... | |
common::SlotRegister< EntitySignal > | onVelocityChanged |
Slot register for velocity updated signal. More... | |
common::SlotRegister< EntitySignal > | onAccelerationChanged |
Slot register for acceleration updated signal. More... | |
const bool | mAmQuiet |
Whether or not this Entity is set to be quiet. More... | |
bool | mAmFrame |
Whether or not this Entity is a Frame. More... | |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
privateinherited |
dart::gui::osg::InteractiveFrame::InteractiveFrame | ( | dart::dynamics::Frame * | referenceFrame, |
const std::string & | name = "interactive_frame" , |
||
const Eigen::Isometry3d & | relativeTransform = Eigen::Isometry3d::Identity() , |
||
double | size_scale = 0.2 , |
||
double | thickness_scale = 2.0 |
||
) |
Constructor.
|
virtual |
Destructor.
|
protectedinherited |
Add an Observer to the list of Observers.
dart::dynamics::SimpleFrame * dart::gui::osg::InteractiveFrame::addShapeFrame | ( | const dart::dynamics::ShapePtr & | shape | ) |
|
overridevirtualinherited |
Convert 'const this' into a ShapeFrame pointer if Frame is a ShapeFrame, otherwise return nullptr.
Reimplemented from dart::dynamics::Frame.
|
overridevirtualinherited |
Convert 'this' into a ShapeFrame pointer if Frame is a ShapeFrame, otherwise return nullptr.
Reimplemented from dart::dynamics::Frame.
|
virtualinherited |
Convert 'this' into a ShapeNode pointer if ShapeFrame is a ShapeNode, otherwise return nullptr.
|
virtualinherited |
Convert 'const this' into a ShapeNode pointer if ShapeFrame is a ShapeNode, otherwise return nullptr.
This should be preferred over performing a dynamic_cast when you want to cast a ShapeFrame into a ShapeNode, because this method costs less.
|
protectedvirtualinherited |
Used by derived classes to change their parent frames.
Reimplemented in dart::dynamics::Frame.
|
overrideprotectedvirtualinherited |
Used by derived classes to change their parent frames.
Reimplemented from dart::dynamics::Entity.
|
inherited |
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.
|
inherited |
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.
|
inherited |
Same as copy(const Frame&)
|
inlineinherited |
Construct a(an) CollisionAspect inside of this Composite.
|
inlineinherited |
Construct a(an) DynamicsAspect inside of this Composite.
|
inlinestatic |
Create shared instance of this class
|
protected |
Creates the standard visualization shapes for InteractiveFrames.
Overload this to create an InteractiveFrame with custom visualization shapes.
|
inlineinherited |
Construct a(an) VisualAspect inside of this Composite.
|
protected |
Delete all the tool entities belonging to this InteractiveFrame.
|
protected |
Deletes all the visualization shapes held by the InteractiveFrame.
|
inherited |
Returns true if and only if this Entity is itself (i.e.
this == _someFrame) or depends on (i.e. kinematically descends from) _someFrame.
If _someFrame is nullptr, this returns true in order to accommodate BodyNodes which always have a nullptr BodyNode as the parent of a root BodyNode.
|
virtualinherited |
Notify the acceleration of this Entity that its parent Frame's acceleration is needed.
Reimplemented in dart::dynamics::PointMassNotifier, dart::dynamics::Frame, and dart::dynamics::BodyNode.
|
overridevirtualinherited |
Notify the acceleration updates of this Frame and all its children are needed.
Reimplemented from dart::dynamics::Entity.
Reimplemented in dart::dynamics::BodyNode.
|
virtualinherited |
Notify the transformation update of this Entity that its parent Frame's pose is needed.
Reimplemented in dart::dynamics::PointMassNotifier, dart::dynamics::Frame, and dart::dynamics::BodyNode.
|
overridevirtualinherited |
Notify the transformation updates of this Frame and all its children are needed.
Reimplemented from dart::dynamics::Entity.
Reimplemented in dart::dynamics::BodyNode.
|
virtualinherited |
Notify the velocity update of this Entity that its parent Frame's velocity is needed.
Reimplemented in dart::dynamics::PointMassNotifier, dart::dynamics::Frame, and dart::dynamics::BodyNode.
|
overridevirtualinherited |
Notify the velocity updates of this Frame and all its children are needed.
Reimplemented from dart::dynamics::Entity.
Reimplemented in dart::dynamics::BodyNode.
|
inherited |
Get the angular portion of classical acceleration of this Frame relative to some other Frame.
It can be expressed in the coordinates of any Frame.
|
inherited |
Get the angular portion of classical velocity of this Frame relative to some other Frame.
It can be expressed in the coordinates of any Frame.
|
inlineinherited |
|
inherited |
|
inherited |
Get a container with the Entities that are children of this Frame.
std::set is used because Entities may be arbitrarily added and removed from a parent Frame, and each entry should be unique. std::set makes this procedure easier.
|
inherited |
Get a container with the Entities that are children of this Frame.
Note that this is version is slightly less efficient than the non-const version because it needs to rebuild a set where each pointer is converted to be a const pointer.
|
inherited |
Get a container with the Frames that are children of this Frame.
std::set is used because Frames may be arbitrarily added and removed from a parent Frame, and each entry should be unique.
|
inherited |
Get a container with the Frames that are children of this Frame.
Note that this version is less efficient than the non-const version because it needs to rebuild a set so that the entries are const.
|
inlineinherited |
Get a(an) CollisionAspect from this Composite.
|
inlineinherited |
Get a(an) CollisionAspect from this Composite.
|
inlineinherited |
Get a(an) CollisionAspect from this Composite.
If _createIfNull is true, then a(an) CollisionAspect will be generated if one does not already exist.
|
inlineinherited |
Get a(an) DynamicsAspect from this Composite.
|
inlineinherited |
Get a(an) DynamicsAspect from this Composite.
|
inlineinherited |
Get a(an) DynamicsAspect from this Composite.
If _createIfNull is true, then a(an) DynamicsAspect will be generated if one does not already exist.
|
inherited |
|
inherited |
Get the linear portion of classical acceleration of this Frame relative to some other Frame.
It can be expressed in the coordinates of any Frame.
|
inherited |
Get the linear velocity of a point that is fixed in this Frame.
You can specify a relative Frame, and it can be expressed in the coordinates of any Frame.
|
inherited |
Get the linear portion of classical velocity of this Frame relative to some other Frame.
It can be expressed in the coordinates of any Frame.
|
overridevirtualinherited |
Return the name of this Entity.
Implements dart::dynamics::Entity.
|
inherited |
Get the number of Entities that are currently children of this Frame.
|
inherited |
Get the number of Frames that are currently children of this Frame.
|
inherited |
Get the parent (reference) frame of this Entity.
|
inherited |
Get the parent (reference) frame of this Entity.
|
overridevirtualinherited |
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.
|
overridevirtualinherited |
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.
|
overridevirtualinherited |
Get the spatial acceleration of this Frame relative to its parent Frame, in the coordinates of this Frame.
Implements dart::dynamics::Frame.
|
overridevirtualinherited |
Get the spatial velocity of this Frame relative to its parent Frame, in its own coordinates.
Implements dart::dynamics::Frame.
|
overridevirtualinherited |
Get the transform of this Frame with respect to its parent Frame.
Implements dart::dynamics::Frame.
|
inherited |
Return shape.
|
inherited |
Return (const) shape.
const std::vector< dart::dynamics::SimpleFrame * > dart::gui::osg::InteractiveFrame::getShapeFrames | ( | ) |
const std::vector< const dart::dynamics::SimpleFrame * > dart::gui::osg::InteractiveFrame::getShapeFrames | ( | ) | const |
|
inherited |
Get the total spatial acceleration of this Frame in the coordinates of this Frame.
|
inherited |
Get the spatial acceleration of a fixed point in this Frame.
The acceleration is in coordinates of this Frame and is relative to the World Frame.
|
inherited |
Get the spatial acceleration of a fixed point in this Frame.
|
inherited |
Get the spatial acceleration of this Frame relative to some other Frame.
It can be expressed in the coordinates of any Frame.
|
inherited |
Get the total spatial velocity of this Frame in the coordinates of this Frame.
|
inherited |
Get the spatial velocity of a fixed point in this Frame.
The velocity is in coordinates of this Frame and is relative to the World Frame.
|
inherited |
Get the spatial velocity of a fixed point in this Frame.
|
inherited |
Get the spatial velocity of this Frame relative to some other Frame.
It can be expressed in the coordinates of any Frame.
InteractiveTool * dart::gui::osg::InteractiveFrame::getTool | ( | InteractiveTool::Type | tool, |
std::size_t | coordinate | ||
) |
Get the specified tool.
const InteractiveTool * dart::gui::osg::InteractiveFrame::getTool | ( | InteractiveTool::Type | tool, |
std::size_t | coordinate | ||
) | const |
Get the specified tool.
|
inherited |
Get the transform of this Frame with respect to some other Frame.
|
inherited |
Get the transform of this Frame with respect to some other Frame.
It can be expressed in the coordinates of any Frame.
|
virtualinherited |
Get the version number of this object.
|
inlineinherited |
Get a(an) VisualAspect from this Composite.
|
inlineinherited |
Get a(an) VisualAspect from this Composite.
|
inlineinherited |
Get a(an) VisualAspect from this Composite.
If _createIfNull is true, then a(an) VisualAspect will be generated if one does not already exist.
|
inherited |
Get the transform of this Frame with respect to the World Frame.
|
inlineinherited |
Check if this Composite currently has CollisionAspect .
|
inlineinherited |
Check if this Composite currently has DynamicsAspect .
|
inlineinherited |
Check if this Composite currently has VisualAspect .
|
virtualinherited |
Increment the version for this object.
Reimplemented in dart::dynamics::Shape.
|
inherited |
True iff this Entity is also a Frame.
|
inherited |
Returns true if this Entity is set to be quiet.
A quiet entity is unknown to its parent Frame. It will not be tracked by its parent; it will not receive notifications from its parent, and it will not be rendered. The advantage to a quiet Entity is that it has less overhead when constructing and deconstructing, which makes it more suitable for temporary objects.
|
inherited |
Returns true if this Frame is a ShapeFrame.
|
inherited |
Returns true if this Frame is a ShapeNode.
|
inherited |
Returns true if this Frame is the World Frame.
|
inherited |
Returns true iff an acceleration update is needed for this Entity.
|
inherited |
Returns true iff a transform update is needed for this Entity.
|
inherited |
Returns true iff a velocity update is needed for this Entity.
|
virtualinherited |
Notify the acceleration of this Entity that its parent Frame's acceleration is needed.
|
virtualinherited |
Notify the transformation update of this Entity that its parent Frame's pose is needed.
|
virtualinherited |
Notify the velocity update of this Entity that its parent Frame's velocity is needed.
|
protectedvirtualinherited |
Called during a parent Frame change to allow extensions of the Frame class to handle new children in customized ways.
This function is a no op unless an inheriting class (such as BodyNode) overrides it.
Reimplemented in dart::dynamics::BodyNode.
|
protectedvirtualinherited |
Called when a child Entity is removed from its parent Frame.
This allows special post-processing to be performed for extensions of the Frame class.
Reimplemented in dart::dynamics::BodyNode.
|
inlineinherited |
Remove a(an) CollisionAspect from this Composite, but return its unique_ptr instead of letting it be deleted.
This allows you to safely use move semantics to transfer a(an) CollisionAspect between two Composites.
|
inlineinherited |
Remove a(an) DynamicsAspect from this Composite, but return its unique_ptr instead of letting it be deleted.
This allows you to safely use move semantics to transfer a(an) DynamicsAspect between two Composites.
|
inlineinherited |
Remove a(an) VisualAspect from this Composite, but return its unique_ptr instead of letting it be deleted.
This allows you to safely use move semantics to transfer a(an) VisualAspect between two Composites.
void dart::gui::osg::InteractiveFrame::removeAllShapeFrames | ( | ) |
|
inlineinherited |
Remove a(an) CollisionAspect from this Composite.
|
inlineinherited |
Remove a(an) DynamicsAspect from this Composite.
|
protectedinherited |
Remove an Observer from the list of Observers.
|
inlineinherited |
Remove a(an) VisualAspect from this Composite.
|
virtual |
Recreate the visuals for this InteractiveFrame according to the specified scales.
|
protectedinherited |
Send a destruction notification to all Observers.
This will cause all Observers to behave as if this Subject has been permanently deleted, so it should only be called when that behavior is desired.
|
inherited |
Set the AspectProperties of this ShapeFrame.
|
inherited |
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
|
inlineinherited |
Make a clone of CollisionAspect and place the clone into this Composite.
If a(an) CollisionAspect already exists in this Composite, the existing CollisionAspect will be destroyed.
|
inlineinherited |
Use move semantics to place CollisionAspect into this Composite.
If a(an) CollisionAspect already exists in this Composite, the existing CollisionAspect will be destroyed.
|
inlineinherited |
Make a clone of DynamicsAspect and place the clone into this Composite.
If a(an) DynamicsAspect already exists in this Composite, the existing DynamicsAspect will be destroyed.
|
inlineinherited |
Use move semantics to place DynamicsAspect into this Composite.
If a(an) DynamicsAspect already exists in this Composite, the existing DynamicsAspect will be destroyed.
|
overridevirtualinherited |
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.
|
virtualinherited |
Allows the user to change the parent Frame of this Entity.
|
inherited |
Set the UniqueProperties of this ShapeFrame.
|
inherited |
Set the relative rotation of this SimpleFrame.
|
inherited |
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.
|
inherited |
Set the spatial acceleration of this SimpleFrame relative to its parent Frame.
Specify the coordinate Frame of _newSpatialAcceleration.
|
inherited |
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.
|
inherited |
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.
|
inherited |
Set the relative transform of this SimpleFrame.
|
inherited |
Set the relative translation of this SimpleFrame.
|
inherited |
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.
|
inherited |
Set shape.
|
inherited |
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.
|
inherited |
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.
|
protectedinherited |
|
inlineinherited |
Make a clone of VisualAspect and place the clone into this Composite.
If a(an) VisualAspect already exists in this Composite, the existing VisualAspect will be destroyed.
|
inlineinherited |
Use move semantics to place VisualAspect into this Composite.
If a(an) VisualAspect already exists in this Composite, the existing VisualAspect will be destroyed.
|
inherited |
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.
|
staticinherited |
|
staticinherited |
|
mutableprotectedinherited |
Total acceleration of this Frame, in the coordinates of this Frame.
Do not use directly! Use getSpatialAcceleration() to access this quantity
|
protectedinherited |
Acceleration changed signal.
|
privateinherited |
Whether or not this Entity is a Frame.
|
privateinherited |
Whether or not this Entity is set to be quiet.
|
privateinherited |
Contains whether or not this is a ShapeFrame.
|
protectedinherited |
Contains whether or not this is a ShapeNode.
|
privateinherited |
Contains whether or not this is the World Frame.
|
protectedinherited |
Aspect::Properties data, directly accessible to your derived class.
|
protectedinherited |
Container of this Frame's child Entities.
|
protectedinherited |
Container of this Frame's child Frames.
|
protectedinherited |
Connect to changes in the Shape version.
|
privateinherited |
|
protectedinherited |
Frame changed signal.
|
protectedinherited |
Name of this SimpleFrame.
|
protectedinherited |
Name changed signal.
|
mutableprotectedinherited |
Does this Entity need an Acceleration update.
|
mutableprotectedinherited |
Does this Entity need a Transform update.
|
mutableprotectedinherited |
Does this Entity need a Velocity update.
|
mutableprotectedinherited |
List of current Observers.
|
protectedinherited |
Parent frame of this Entity.
|
mutableprotectedinherited |
Partial Acceleration of this Frame.
|
protectedinherited |
Relative spatial acceleration of the SimpleFrame.
|
protectedinherited |
Relative transform of the SimpleFrame.
|
protectedinherited |
Relative transformation updated signal.
|
protectedinherited |
Relative spatial velocity of the SimpleFrame.
|
protectedinherited |
Shape updated signal.
|
protected |
|
protected |
Array of tools belonging to this InteractiveFrame.
|
protectedinherited |
Transform changed signal.
|
mutableprotectedinherited |
Total velocity of this Frame, in the coordinates of this Frame.
Do not use directly! Use getSpatialVelocity() to access this quantity
|
protectedinherited |
Velocity changed signal.
|
protectedinherited |
|
mutableprotectedinherited |
World transform of this Frame.
This object is mutable to enable auto-updating to happen in the const member getWorldTransform() function
Do not use directly! Use getWorldTransform() to access this quantity
|
inherited |
Slot register for acceleration updated signal.
|
inherited |
Slot register for frame changed signal.
|
inherited |
Slot register for name changed signal.
|
inherited |
Slot register for relative transformation updated signal.
|
inherited |
Slot register for shape updated signal.
|
inherited |
Slot register for transform updated signal.
|
inherited |
Slot register for velocity updated signal.