Robowflex
v0.1
Making MoveIt Easy
|
IMGUI widget to design TSRs. More...
#include <gui.h>
Public Member Functions | |
TSREditWidget (const std::string &name="TSR", const TSR::Specification &spec={}) | |
Constructor. More... | |
void | initialize (Window *window) override |
Initialization with window context. More... | |
void | prerefresh () override |
Called before window refresh. More... | |
void | render () override |
Render GUI. More... | |
const TSR::Specification & | getSpecification () const |
Get current TSR specification. More... | |
const TSRPtr & | getTSR () const |
Get the current TSR. More... | |
Private Attributes | |
TSR Specification | |
const std::string | name_ |
Name of this window. More... | |
const TSR::Specification | original_ |
Original specification provided to the window. More... | |
TSR::Specification | spec_ |
Current specification. More... | |
TSR::Specification | prev_ |
Prior iteration specification. More... | |
TSRPtr | tsr_ |
Corresponding TSR. More... | |
std::mutex | mutex_ |
Solving mutex. More... | |
GUI Options | |
bool | sync_bounds_ {true} |
Synchronize changes in volume on other bound. More... | |
bool | show_volume_ {true} |
Show TSR volume. More... | |
bool | show_bounds_ {true} |
Show TSR rotation bounds. More... | |
GUI Values | |
const double | volume_alpha_ {0.2} |
Volume alpha. More... | |
const double | rotation_alpha_ {0.6} |
Rotation bound alpha. More... | |
const double | rotation_width_ {0.05} |
Rotation bound width. More... | |
const float | max_position_ {5.0f} |
Max position value. More... | |
const float | drag_step_ {0.01f} |
Slider drag amount. More... | |
float | position_ [3] |
GUI frame position. More... | |
float | rotation_ [3] |
GUI frame rotation. More... | |
float | xp_ [2] |
GUI X position bounds. More... | |
float | yp_ [2] |
GUI Y position bounds. More... | |
float | zp_ [2] |
GUI Z position bounds. More... | |
float | xr_ [2] |
GUI X orientation bounds. More... | |
float | yr_ [2] |
GUI Y orientation bounds. More... | |
float | zr_ [2] |
GUI Z orientation bounds. More... | |
float | inner_radius {0.2} |
GUI Rotation bound inner radius. More... | |
Element Synchronization | |
bool | gui_ {false} |
True if a synchronize call is coming from the GUI update loop. More... | |
void | updateFrameCB (const dart::gui::osg::InteractiveFrame *frame) |
Frame update callback on moving the main interactive frame. More... | |
void | updateLLCB (const dart::gui::osg::InteractiveFrame *frame) |
Frame update callback on moving the lower bound control. More... | |
void | updateUUCB (const dart::gui::osg::InteractiveFrame *frame) |
Frame update callback on moving the upper bound control. More... | |
void | updateMirror () |
If synchronizing bounds, mirrors updates on other bound. More... | |
void | syncTSR () |
Updates the TSR to the specification. More... | |
void | syncSpec () |
Updates the specification to the GUI. More... | |
void | syncGUI () |
Updates the GUI to the specification. More... | |
void | syncFrame () |
Updates the display frames to the specification. More... | |
Interactive/Display Frames | |
dart::dynamics::SimpleFramePtr | offset_ |
Offset frame for bounds. More... | |
dart::dynamics::SimpleFramePtr | shape_ |
Display boundary shape frame. More... | |
dart::dynamics::SimpleFramePtr | rbounds_ [3] |
Display rotation bounds. More... | |
Window::InteractiveReturn | frame_ |
Main interactive frame. More... | |
Window::InteractiveReturn | ll_frame_ |
Lower bound interactive frame. More... | |
Window::InteractiveReturn | uu_frame_ |
Upper bound interactive frame. More... | |
Eigen::Vector3d | getVolume () const |
Get the volume for the bounds. More... | |
void | updateShape () |
Updates the displayed shape volume for the bounds. More... | |
TSREditWidget::TSREditWidget | ( | const std::string & | name = "TSR" , |
const TSR::Specification & | spec = {} |
||
) |
const TSR::Specification & TSREditWidget::getSpecification | ( | ) | const |
const TSRPtr & TSREditWidget::getTSR | ( | ) | const |
|
private |
Get the volume for the bounds.
|
overridevirtual |
Initialization with window context.
[in] | window | GUI window. |
Reimplemented from robowflex::darts::Widget.
Definition at line 416 of file gui.cpp.
|
overridevirtual |
Called before window refresh.
Reimplemented from robowflex::darts::Widget.
|
override |
Render GUI.
Definition at line 663 of file gui.cpp.
|
private |
|
private |
Updates the GUI to the specification.
Definition at line 528 of file gui.cpp.
|
private |
Updates the specification to the GUI.
Definition at line 511 of file gui.cpp.
|
private |
|
private |
Frame update callback on moving the main interactive frame.
[in] | frame | The interactive frame. |
|
private |
|
private |
|
private |
Updates the displayed shape volume for the bounds.
Definition at line 630 of file gui.cpp.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |