dart
|
SimpleFrameDnD is a DragAndDrop implementation for SimpleFrame objects. More...
#include <DragAndDrop.hpp>
Public Member Functions | |
SimpleFrameDnD (Viewer *viewer, dart::dynamics::SimpleFrame *frame) | |
Constructor. | |
virtual | ~SimpleFrameDnD ()=default |
Virtual destructor. | |
dart::dynamics::SimpleFrame * | getSimpleFrame () const |
Get the SimpleFrame associated with this DnD. | |
void | move () override |
Called to specify how the Entity should be moved. | |
void | saveState () override |
Called when a point gets picked, and is used to save the current state of the Entity. | |
![]() | |
DragAndDrop (Viewer *viewer, dart::dynamics::Entity *entity) | |
Constructor. | |
virtual | ~DragAndDrop () |
Virtual destructor. | |
dart::dynamics::Entity * | getEntity () const |
Get the Entity that this DragAndDrop is associated with. | |
virtual void | update () |
Called when mouse events are being handled. | |
void | setObstructable (bool _obstructable) |
If true is passed in, this object will only be drag and droppable if there are no other objects between its picked point and the camera. More... | |
bool | isObstructable () const |
If this is true, then this object will only be drag and droppable if there are no other objects between its picked point and the camera. More... | |
virtual void | release () |
Called when the user lets go of the object that they are dragging and dropping. More... | |
virtual Eigen::Vector3d | getConstrainedDx () const |
Default method for getting the translation requested by the user. | |
virtual Eigen::AngleAxisd | getConstrainedRotation () const |
Default method for getting the rotation requested by the user. | |
void | unconstrain () |
Remove all constraints from the dragging and dropping. | |
void | constrainToLine (const Eigen::Vector3d &slope) |
Constrain translation to only occur along the given slope, or constrain rotation to only occur about the given slope. More... | |
void | constrainToPlane (const Eigen::Vector3d &normal) |
Constrain translation to only occur within the plane defined by the given normal, or constrain rotation to only occur about the given normal. More... | |
bool | isMoving () const |
Returns the mAmMoving flag. | |
void | setRotationOption (RotationOption option) |
Set the option for triggering rotations instead of translations. | |
RotationOption | getRotationOption () const |
Get the current rotation option for this DnD. | |
void | setRotationModKey (::osgGA::GUIEventAdapter::ModKeyMask rotationModKey) |
Set the modkey that will be used to toggle rotation for this DnD. | |
::osgGA::GUIEventAdapter::ModKeyMask | getRotationModKey () const |
Get the modkey that will be used to toggle rotation for this DnD. | |
![]() | |
virtual | ~Subject () |
Destructor will notify all Observers that it is destructing. | |
![]() | |
virtual | ~Observer () |
Destructor will notify all Subjects that it is destructing. | |
Protected Attributes | |
dart::dynamics::SimpleFrame * | mFrame |
SimpleFrame pointer. | |
Eigen::AngleAxisd | mSavedRotation |
The saved rotation of the frame. | |
![]() | |
Viewer * | mViewer |
Pointer to the DnD's Viewer. | |
dart::dynamics::Entity * | mEntity |
Pointer to the DnD's Entity. | |
Eigen::Vector3d | mPickedPosition |
The location in the world that was picked by the user. | |
Eigen::Vector3d | mVector |
Reference vector for constraint (slope for line constraint, or normal for plane constraint) | |
Eigen::Vector3d | mPivot |
Point in space about which rotations should happen. | |
ConstraintType | mConstraintType |
Constraint type for this DnD. | |
bool | mAmObstructable |
Whether other objects can block this one from being picked. | |
bool | mAmMoving |
Whether this DnD is currently moving. | |
RotationOption | mRotationOption |
Option for rotation settings. | |
::osgGA::GUIEventAdapter::ModKeyMask | mRotationModKey |
Modkey for rotation. | |
![]() | |
std::set< Observer * > | mObservers |
List of current Observers. | |
![]() | |
std::set< const Subject * > | mSubjects |
List of current Subjects for this Observer. | |
Additional Inherited Members | |
![]() | |
enum | RotationOption : int { HOLD_MODKEY = 0, ALWAYS_ON, ALWAYS_OFF } |
![]() | |
void | handleDestructionNotification (const dart::common::Subject *subscription) override |
Perform cleanup when the subject is destroyed. | |
![]() | |
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 | receiveDestructionNotification (const Subject *_subject) |
Called whenever a Subject is destroyed (or sends out a destruction notification). More... | |
void | addSubject (const Subject *_subject) |
Add a Subject for this Observer. | |
void | removeSubject (const Subject *_subject) |
Remove a Subject from this Observer. | |
void | removeAllSubjects () |
Remove all Subjects from this Observer. | |
SimpleFrameDnD is a DragAndDrop implementation for SimpleFrame objects.