dart
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
dart::gui::osg::InteractiveFrame Class Reference
Inheritance diagram for dart::gui::osg::InteractiveFrame:
Inheritance graph
[legend]
Collaboration diagram for dart::gui::osg::InteractiveFrame:
Collaboration graph
[legend]

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.
 
virtual ~InteractiveFrame ()
 Destructor.
 
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...
 
InteractiveToolgetTool (InteractiveTool::Type tool, std::size_t coordinate)
 Get the specified tool.
 
const InteractiveToolgetTool (InteractiveTool::Type tool, std::size_t coordinate) const
 Get the specified tool.
 
dart::dynamics::SimpleFrameaddShapeFrame (const dart::dynamics::ShapePtr &shape)
 
const std::vector< dart::dynamics::SimpleFrame * > getShapeFrames ()
 
const std::vector< const dart::dynamics::SimpleFrame * > getShapeFrames () const
 
void removeAllShapeFrames ()
 
- Public Member Functions inherited from dart::dynamics::SimpleFrame
 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< SimpleFrameclone (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&)
 
SimpleFrameoperator= (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< SimpleFramespawnChildSimpleFrame (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...
 
- Public Member Functions inherited from dart::dynamics::Detachable
 Detachable (Frame *_refFrame, bool _quiet)
 Constructor.
 
virtual void setParentFrame (Frame *_newParentFrame)
 Allows the user to change the parent Frame of this Entity.
 
- Public Member Functions inherited from dart::dynamics::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.
 
FramegetParentFrame ()
 Get the parent (reference) frame of this Entity.
 
const FramegetParentFrame () 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.
 
- Public Member Functions inherited from dart::common::Subject
virtual ~Subject ()
 Destructor will notify all Observers that it is destructing.
 
- Public Member Functions inherited from dart::dynamics::ShapeFrame
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.
 
ShapeFrameasShapeFrame () override
 Convert 'this' into a ShapeFrame pointer if Frame is a ShapeFrame, otherwise return nullptr.
 
const ShapeFrameasShapeFrame () 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 ShapeNodeasShapeNode ()
 Convert 'this' into a ShapeNode pointer if ShapeFrame is a ShapeNode, otherwise return nullptr.
 
virtual const ShapeNodeasShapeNode () const
 Convert 'const this' into a ShapeNode pointer if ShapeFrame is a ShapeNode, otherwise return nullptr. More...
 
- Public Member Functions inherited from dart::common::VersionCounter
 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.
 
- Public Member Functions inherited from dart::common::EmbedPropertiesOnTopOf< DerivedT, PropertiesDataT, CompositeBases >
template<typename... Args>
 EmbedPropertiesOnTopOf (Args &&... args)
 
- Public Member Functions inherited from dart::dynamics::Frame
 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 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.
 
void deleteAllTools ()
 Delete all the tool entities belonging to this InteractiveFrame.
 
- Protected Member Functions inherited from dart::dynamics::Detachable
 Detachable ()
 Constructor for inheriting classes, so they do not need to fill in the arguments.
 
- Protected Member Functions inherited from dart::dynamics::Entity
 Entity (ConstructFrameTag)
 
 Entity (ConstructAbstractTag)
 
- Protected Member Functions inherited from dart::common::Subject
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.
 
- Protected Member Functions inherited from dart::dynamics::ShapeFrame
 ShapeFrame (Frame *parent, const Properties &properties)
 Constructor.
 
 ShapeFrame (Frame *parent, const ShapePtr &shape=nullptr)
 Constructor.
 
 ShapeFrame (const std::tuple< Frame *, Properties > &args)
 Delegating constructor.
 
- Protected Member Functions inherited from dart::common::VersionCounter
void setVersionDependentObject (VersionCounter *dependent)
 
- Protected Member Functions inherited from dart::dynamics::Frame
 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...
 

Protected Attributes

InteractiveToolmTools [InteractiveTool::NUM_TYPES][3]
 Array of tools belonging to this InteractiveFrame.
 
std::vector< std::unique_ptr< dart::dynamics::SimpleFrame > > mSimpleFrames
 
- Protected Attributes inherited from dart::dynamics::SimpleFrame
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.
 
- Protected Attributes inherited from dart::dynamics::Entity
FramemParentFrame
 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.
 
- Protected Attributes inherited from dart::common::Subject
std::set< Observer * > mObservers
 List of current Observers.
 
- Protected Attributes inherited from dart::dynamics::ShapeFrame
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.
 
- Protected Attributes inherited from dart::common::VersionCounter
std::size_t mVersion
 
- Protected Attributes inherited from dart::dynamics::Frame
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

- Public Types inherited from dart::dynamics::Entity
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)>
 
- Public Types inherited from dart::dynamics::ShapeFrame
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
 
- Public Types inherited from dart::common::EmbedPropertiesOnTopOf< DerivedT, PropertiesDataT, CompositeBases >
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 Public Member Functions inherited from dart::dynamics::Frame
static FrameWorld ()
 
static std::shared_ptr< FrameWorldShared ()
 
- Public Attributes inherited from dart::dynamics::Entity
common::SlotRegister< FrameChangedSignalonFrameChanged
 Slot register for frame changed signal.
 
common::SlotRegister< NameChangedSignalonNameChanged
 Slot register for name changed signal.
 
common::SlotRegister< EntitySignalonTransformUpdated
 Slot register for transform updated signal.
 
common::SlotRegister< EntitySignalonVelocityChanged
 Slot register for velocity updated signal.
 
common::SlotRegister< EntitySignalonAccelerationChanged
 Slot register for acceleration updated signal.
 
- Public Attributes inherited from dart::dynamics::ShapeFrame
common::SlotRegister< ShapeUpdatedSignalonShapeUpdated
 Slot register for shape updated signal.
 
common::SlotRegister< RelativeTransformUpdatedSignalonRelativeTransformUpdated
 Slot register for relative transformation updated signal.
 
- Protected Types inherited from dart::dynamics::Entity
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.
 
- Protected Types inherited from dart::dynamics::Frame
enum  ConstructAbstractTag { ConstructAbstract }
 Used when constructing a pure abstract class, because calling the Frame constructor is just a formality.
 

Member Function Documentation

◆ createStandardVisualizationShapes()

void dart::gui::osg::InteractiveFrame::createStandardVisualizationShapes ( double  size,
double  thickness 
)
protected

Creates the standard visualization shapes for InteractiveFrames.

Overload this to create an InteractiveFrame with custom visualization shapes.

◆ resizeStandardVisuals()

void dart::gui::osg::InteractiveFrame::resizeStandardVisuals ( double  size_scale = 0.2,
double  thickness_scale = 2.0 
)
virtual

Recreate the visuals for this InteractiveFrame according to the specified scales.


The documentation for this class was generated from the following files: