MeVisLab Toolbox Reference
|
Displays an interactive slider in a 2D view. More...
#include <SoView2DSlider.h>
Public Types | |
enum | SLIDER_ORIENTATION { ORIENTATION_HORIZONTAL = 0 , ORIENTATION_VERTICAL = 1 } |
Enumeration of the slider's orientations. More... | |
enum | SLIDER_HIT_RESULT { HIT_RESULT_NONE = 0 , HIT_RESULT_BEFORE_INDICATOR = 1 , HIT_RESULT_ON_INDICATOR = 2 , HIT_RESULT_BEHIND_INDICATOR = 3 } |
Public Types inherited from SoView2DExtension | |
enum | Sign { ZERO , NEGATIVE , POSITIVE } |
defines the sign of a number, with zero as an extra value More... | |
Public Types inherited from SoInteractionProvider | |
typedef SoInteractionProvider *(* | GetProviderFunc) (SoNode *) |
Public Member Functions | |
SoView2DSlider () | |
Constructor. | |
~SoView2DSlider () override | |
Destructor. | |
void | draw (View2DSliceList *dsl, View2DSlice *dslice, int slice) override |
reimplemented from SoView2DExtension | |
bool | evalEvent (SoView2D *view2d, View2DSliceList *slicelist, View2DEvent *ec, View2DEventPhase phase) override |
reimplemented from SoView2DExtension | |
bool | ignoreEvent (View2DEvent *ec) override |
Overwrite ignoreEvent -> ignore the "ignoreHandledEvents"-Field. | |
bool | implementsManagedInteractionAndClassicEventHandling () const override |
This extension does not implement the classic event handling. | |
Public Member Functions inherited from SoView2DInteractionExtension | |
SoView2DInteractionExtension (const std::string &actionID, bool positionSensitive=true) | |
SoView2DInteractionExtension () | |
Constructor. | |
Public Member Functions inherited from SoView2DExtension | |
SoView2DExtension () | |
Constructor. | |
void | init () |
setup internal state | |
virtual void | updateValues () |
Update fields to local variables, may be reimplemented if you want to update additional local vars. | |
virtual void | startDrawing (View2DSliceList *) |
virtual void | endDrawing (View2DSliceList *) |
virtual void | overwriteDrawingSettings (SoView2DDrawingSettings &) |
View2DEvent * | getEvent () |
get the current event (when inside of evalEvent) | |
float | getSelectDist () |
Set the distance tolerance on hit checking in pixels. | |
bool | isPointInsideDeviceRect (float pointX, float pointY, float centerX, float centerY, float hitRectangleSize=0.0) |
returns whether the given point is inside a rectangle around the given center. | |
void | drawMiniRect (float xp, float yp, float ext, float lineWidth=1.f) |
Draws a small rectangle with given half side length and a line width. | |
void | drawDashedMiniRect (float xp, float yp, float ext, float lineWidth) |
void | drawFilledMiniRect (float xp, float yp, float ext, float lineWidth=1.f) |
Draws a small filled rectangle with given half side length. | |
void | drawMiniTriangle (float xp, float yp, float ext, float lineWidth=1.f) |
Draws a small triangle with given center point, half height and line width. | |
void | drawFilledMiniTriangle (float xp, float yp, float ext, float lineWidth=1.f) |
Draws a small filled triangle with given center point and half height. | |
void | drawMiniCircle (float xp, float yp, float ext, float lineWidth=1.f) |
Draws a small circle with given center point and radius. | |
void | drawFilledMiniCircle (float xp, float yp, float ext, float lineWidth=1.f) |
Draws a small filled circle with given center point and radius. | |
void | drawFixedSizeMiniCircleAt (float xp, float yp) |
Draws a fixed size small circle at the given position. | |
void | drawVoxelBorder (View2DSlice *slice, float vx, float vy, float vz) |
surround the given voxel with a border | |
int | getX () |
get the x device position of current event, only returns valid result when called inside of evalEvent() | |
int | getY () |
get the y device position of current event, only returns valid result when called inside of evalEvent() | |
virtual bool | isDrawingOn () |
check if drawing is on | |
virtual bool | isEditingOn () |
check if editing is on | |
virtual bool | isFixZOn () |
check if z should stay fixed | |
virtual bool | isClipToSlice () |
check if the image is clipped to slice | |
virtual void | fieldChanged (SoSensor *sensor) |
handle if any field has changed | |
bool | isCreateNewMode () |
check if extension is in createNewMode | |
void | setCreateNewMode (bool flag) |
set this extension to create new objects | |
bool | isCreateNewModeRequest () |
check if extension has a request for createNewMode | |
void | setCreateNewModeRequest (bool flag) |
set that extension want to become createNewMode | |
virtual bool | isActive () |
returns if the extension is active (derive this method in child) (in createNewMode or with a selected object)(called by SoView2D) | |
virtual void | deleteSelectedObject () |
deletes the currently active object (derive this method in child) (called by SoView2D) | |
virtual void | getStatusString (SbString &status) |
get the current status of this extension | |
virtual bool | evaluateEvent (SoView2D *view2d, View2DEvent *ec) |
bool | wantsMouseOverUpdates () const |
public access to _wantsMouseOverUpdateEvents | |
virtual void | consumeEvent (View2DEvent *ec, bool handled=TRUE) |
Set handled-flag of ec to true (= consumed) if handled is True and setEventHandled is True. | |
int | getSelectedModifierMask () |
Get compare and ignore mask for the currently selected button/modifier combination, usable with SoPointingAction. | |
int | getSelectedIgnoreMask () |
SoPointingAction::Trigger | getPointingActionTriggerFromFields () |
Get the trigger that matches the button/modifier field state. | |
Public Member Functions inherited from SoInteractionProviderNode | |
SoInteractionProviderNode () | |
Default constructor. | |
~SoInteractionProviderNode () override | |
Destructor. | |
std::string | getID () const override |
Returns the id string for identifying the provider (and its actions) - this is usually the name of the scene node. | |
void | objRef () override |
Memory management by reference counting; must be implemented in derived classes. | |
void | objUnref () override |
Public Member Functions inherited from SoInteractionOwner | |
SoInteractionOwner () | |
Default constructor. | |
~SoInteractionOwner () override | |
The destructor will destroy all interactions created with this object as owner. | |
std::list< SoInteraction * > | getInteractions (SoState *state) override |
Returns the list of all interactions of this provider. | |
void | pointerPosition (SoState *state, const SoPointerPosition &pos) override |
Same as below, with additional SoState argument. Be defaults simply calls the below version. | |
void | pointerLeftWindow (SoState *state) override |
Same as below, with additional SoState argument. Be defaults simply calls the below version. | |
void | addListener (SoInteractionOwnerListenerInterface *listener) |
Add a listener object that is notified of changes in the interaction list. | |
void | removeListener (SoInteractionOwnerListenerInterface *listener) |
Remove a listener object that was notified of changes in the interaction list. | |
Public Member Functions inherited from SoInteractionProvider | |
SoInteractionProvider () | |
Default constructor. | |
virtual | ~SoInteractionProvider () |
template<class T > | |
std::list< T * > | getInteractionsOfType (SoState *state) |
Returns list of interactions of a specific type: | |
virtual std::list< SoCommandAction * > | getCommandActions (SoState *state) |
virtual std::list< SoPointingAction * > | getPointingActions (SoState *state) |
virtual std::list< SoOffsetAction * > | getOffsetActions (SoState *state) |
Static Public Member Functions | |
static void | initClass () |
Inventor runtime type system. | |
Static Public Member Functions inherited from SoView2DInteractionExtension | |
static void | initClass () |
Initializes this class. | |
Static Public Member Functions inherited from SoView2DExtension | |
static void | initClass () |
Initializes this class. | |
static float | snapToPixelCenter (float coordinateComponent) |
Snaps the coordinate component to the pixel center. | |
static void | fieldChangedCB (void *data, SoSensor *sensor) |
inventor callbacks if any field has changed, calls fieldChanged | |
static bool | isImageParallel (SoSFMLImage *image, View2DSliceList *dsl) |
Return true if image is parallel to the image of the slice list up to slice thickness. | |
static void | enableLineStippling (const SoSFEnum &lineStyleField) |
Set/reset stippling pattern. | |
static void | disableLineStippling (const SoSFEnum &lineStyleField) |
static void | getAxisOrientation (int axis, SbMatrix &matrix, char &negativeResult, char &positiveResult) |
Geometry helpers. | |
static float | pointToLineDistance (SbVec3f point, SbVec3f line1, SbVec3f line2) |
calculate 3D point to line distance | |
static float | pointToLineDistance (SbVec2f point, SbVec2f line1, SbVec2f line2) |
calculate 2D point to line distance | |
static Sign | edgeIntersectWithPlane (const SbVec3f &v1, const SbVec3f &v2, const SbPlane &plane, SbVec3f &intersect) |
intersect given edge from v1 to v2 with given plane, returns sign and intersect point | |
Static Public Member Functions inherited from SoInteractionProviderNode | |
static void | initClass () |
Initializes this class. | |
Static Public Member Functions inherited from SoInteractionProvider | |
static void | registerInteractionProviderNode (SoType type, GetProviderFunc func) |
Register a function to obtain a SoInteractionProvider from a SoNode. | |
static SoInteractionProvider * | getInteractionProvider (SoNode *node) |
Get a SoInteractionProvider from a SoNode if registered, else NULL. | |
Public Attributes | |
SoSFFloat | minimumValue |
SoSFFloat | maximumValue |
The maximum value. | |
SoSFFloat | currentValue |
The current value. | |
SoSFBool | useTracking |
Shall each interaction lead to a value change or shall the value only be changed on finishing the interaction? | |
SoSFFloat | stepSize |
The step size. | |
SoSFFloat | snapSize |
The snap size. | |
SoSFBool | revertDirection |
Shall the indicator be reverted from max to min? | |
SoSFBool | isMouseOver |
Is the mouse over the slider (not set if an incompatible modifier mask is set) | |
SoSFBool | isDragging |
Set while the user drags the indicator. | |
SoSFEnum | orientation |
Defines the orientation. | |
SoSFFloat | relativeXPosition |
Relative position in x-direction. | |
SoSFFloat | relativeYPosition |
Relative position in y-direction. | |
SoSFFloat | relativeLength |
Length of the slider, relative to the viewport's axis of orientation. | |
SoSFFloat | relativeWidth |
Width of the slider/indicator, relative to the shortest axis. | |
SoSFColor | indicatorColor |
Color of the indicator. | |
SoSFFloat | indicatorAlpha |
Alpha value of indicator color. | |
SoSFColor | sliderColor |
Color of the slider. | |
SoSFFloat | sliderAlpha |
Alpha value of slider. | |
SoSFBool | useIndicatorIconFile |
SoSFString | indicatorIconFile |
Name of the indicator's icon file. | |
SoSFBool | useBackgroundIconFile |
Shall the icon file be used for visualizing the slider's background? Otherwise, the background is rendered in OpenGL as a simple filled rectangle. | |
SoSFString | backgroundIconFile |
Name of the slider's background icon file. | |
Public Attributes inherited from SoView2DInteractionExtension | |
SoSFTrigger | singleClicked |
this is triggered when the user clicks without moving the mouse (this only is supported when using Managed Interaction) | |
SoSFTrigger | doubleClicked |
the same for the second click in a row | |
Public Attributes inherited from SoView2DExtension | |
SoSFColor | color |
color that should be used for drawing | |
SoSFBool | drawingOn |
flag if the extension should draw, needs to be checked inside of the draw() method | |
SoSFBool | editingOn |
flag if the extension should edit objects on mouse events, needs to be checked inside of the evalEvent() method | |
SoSFBool | maskValid |
flag if the event mask is valid. | |
SoSFFloat | selectionTolerance |
the selection tolerance in pixels | |
SoSFBool | wantsAllEvents |
flag if ALL events should be passed to evalEvent(), if disabled, events are only passed to evalEvent when the mouse mask gets valid | |
SoSFBool | wantsKeyEvents |
flag if keyboard events should be passed to evalEvent() | |
SoSFBool | wantsMouseWheelEvents |
flag if MouseWheel events should be passed to evalEvent() | |
SoSFBool | setEventHandled |
Set event handled if it is indeed handled by this extension. | |
SoSFBool | ignoreHandledEvents |
Ignore events, that have been handled by previous extensions. | |
SoSFEnum | button1 |
mouse mask for button1 | |
SoSFEnum | button2 |
mouse mask for button2 | |
SoSFEnum | button3 |
mouse mask for button3 | |
SoSFEnum | shift |
shift modifier for mouse mask | |
SoSFEnum | control |
shift control for mouse mask | |
SoSFEnum | alt |
shift alt for mouse mask | |
SoSFBool | needsValidVoxel |
sets if a valid voxel must be hit to get evalEvent() calls | |
SoSFBool | renderOnSlab |
defines if the extension should be rendered on all slab slices | |
SoSFBool | createNewMode |
flag if extension is in createNewMode | |
SoSFTrigger | createNewModeRequest |
SoSFBool | clipToSlice |
Flag to clip drawing to slice. | |
SoSFEnum | cursorShape |
Set cursor shape if the mouse mask fits and mouseEvents are effectively sent to evalEvent for editing. | |
SoSFBool | fixZOn |
DEPRECATED flag that indicates that the extension should fix the z value, only used in SoView2DRectangle. | |
Public Attributes inherited from SoInteractionProviderNode | |
SoSFString | instanceName |
Defines interface field to store the instance name. | |
SoSFString | interactionProviderID |
This field overrides the instanceName as providerID if specified. | |
Protected Attributes | |
bool | _isDragging |
Is the user currently dragging? | |
float | _startDraggingCurrentValue |
Current value at start of dragging. | |
float | _currentValue |
The current value, used when in non-tracking mode. | |
SbVec2f | _startDevicePosition |
Start device position. | |
SbVec2f | _currentDevicePosition |
Current device position. | |
SbVec2f | _sliderMin |
Slider min bounding box at event time. | |
SbVec2f | _sliderMax |
Slider max bounding box at event time. | |
View2DIcons * | _indicatorIcon |
The slider's indicator icon. | |
View2DIcons * | _backgroundIcon |
The slider's background icon. | |
Protected Attributes inherited from SoView2DInteractionExtension | |
SoPointingAction * | _pointingAction |
Protected Attributes inherited from SoView2DExtension | |
SoNodeSensor * | _nodeSensor |
node sensor that is used to notice field changes | |
float | _rgbColor [4] |
Color of the object, update on each field change by _nodeSensor. | |
bool | _wantsMouseOverUpdateEvents |
set this flag to receive mouse over events while the extension is active | |
Displays an interactive slider in a 2D view.
Displays an interactive slider in a 2D view.
Definition at line 23 of file SoView2DSlider.h.
Definition at line 35 of file SoView2DSlider.h.
Enumeration of the slider's orientations.
Enumerator | |
---|---|
ORIENTATION_HORIZONTAL | |
ORIENTATION_VERTICAL |
Definition at line 29 of file SoView2DSlider.h.
SoView2DSlider::SoView2DSlider | ( | ) |
Constructor.
|
override |
Destructor.
|
protected |
Computes and fills the boxes in device coordinates for the slider and the indicator.
Dragging the indicator.
|
overrideprotectedvirtual |
Reimplemented from SoView2DInteractionExtension.
|
overridevirtual |
reimplemented from SoView2DExtension
Reimplemented from SoView2DExtension.
|
overrideprotectedvirtual |
Reimplemented from SoView2DInteractionExtension.
|
overridevirtual |
reimplemented from SoView2DExtension
Reimplemented from SoView2DExtension.
|
protected |
Fills the bounding box min/max vectors for the indicator only.
|
protected |
Fills the bounding box min/max vectors for the whole slider.
|
protected |
Fills the given min/max vectors with the device coordinates of the visible rectangle.
|
protected |
Returns the length of the slider, depending on its orientation.
|
protected |
Returns the width of the slider, depending on its orientation.
Returns the hit result for the slider.
|
protected |
Returns the middle position in device coordinates from the relative values and the current viewport.
|
overridevirtual |
Overwrite ignoreEvent -> ignore the "ignoreHandledEvents"-Field.
Reimplemented from SoView2DExtension.
|
inlineoverridevirtual |
This extension does not implement the classic event handling.
Reimplemented from SoView2DInteractionExtension.
Definition at line 123 of file SoView2DSlider.h.
|
overrideprotectedvirtual |
interface forwarded from SoPointingAction:
Reimplemented from SoView2DInteractionExtension.
|
protected |
Returns whether the given position is in the given bounding box.
|
overrideprotectedvirtual |
Reimplemented from SoView2DInteractionExtension.
|
protected |
Setting up the background icon.
|
protected |
Setting up the indicator icon.
Start dragging the indicator.
|
overrideprotectedvirtual |
Reimplemented from SoView2DInteractionExtension.
|
protected |
Stop dragging the indicator.
|
overrideprotectedvirtual |
Reimplemented from SoView2DInteractionExtension.
|
protected |
The slider's background icon.
Definition at line 178 of file SoView2DSlider.h.
|
protected |
Current device position.
Definition at line 168 of file SoView2DSlider.h.
|
protected |
The current value, used when in non-tracking mode.
Definition at line 164 of file SoView2DSlider.h.
|
protected |
The slider's indicator icon.
Definition at line 176 of file SoView2DSlider.h.
|
protected |
Is the user currently dragging?
Definition at line 160 of file SoView2DSlider.h.
|
protected |
Slider max bounding box at event time.
Definition at line 173 of file SoView2DSlider.h.
|
protected |
Slider min bounding box at event time.
Definition at line 171 of file SoView2DSlider.h.
|
protected |
Start device position.
Definition at line 166 of file SoView2DSlider.h.
|
protected |
Current value at start of dragging.
Definition at line 162 of file SoView2DSlider.h.
SoSFString SoView2DSlider::backgroundIconFile |
Name of the slider's background icon file.
Definition at line 102 of file SoView2DSlider.h.
SoSFFloat SoView2DSlider::currentValue |
The current value.
Definition at line 50 of file SoView2DSlider.h.
SoSFFloat SoView2DSlider::indicatorAlpha |
Alpha value of indicator color.
Definition at line 84 of file SoView2DSlider.h.
SoSFColor SoView2DSlider::indicatorColor |
Color of the indicator.
Definition at line 82 of file SoView2DSlider.h.
SoSFString SoView2DSlider::indicatorIconFile |
Name of the indicator's icon file.
Definition at line 96 of file SoView2DSlider.h.
SoSFBool SoView2DSlider::isDragging |
Set while the user drags the indicator.
Definition at line 68 of file SoView2DSlider.h.
SoSFBool SoView2DSlider::isMouseOver |
Is the mouse over the slider (not set if an incompatible modifier mask is set)
Definition at line 66 of file SoView2DSlider.h.
SoSFFloat SoView2DSlider::maximumValue |
The maximum value.
Definition at line 48 of file SoView2DSlider.h.
SoSFFloat SoView2DSlider::minimumValue |
Fields The minimum value.
Definition at line 46 of file SoView2DSlider.h.
SoSFEnum SoView2DSlider::orientation |
Defines the orientation.
Definition at line 71 of file SoView2DSlider.h.
SoSFFloat SoView2DSlider::relativeLength |
Length of the slider, relative to the viewport's axis of orientation.
Definition at line 77 of file SoView2DSlider.h.
SoSFFloat SoView2DSlider::relativeWidth |
Width of the slider/indicator, relative to the shortest axis.
Definition at line 79 of file SoView2DSlider.h.
SoSFFloat SoView2DSlider::relativeXPosition |
Relative position in x-direction.
Definition at line 73 of file SoView2DSlider.h.
SoSFFloat SoView2DSlider::relativeYPosition |
Relative position in y-direction.
Definition at line 75 of file SoView2DSlider.h.
SoSFBool SoView2DSlider::revertDirection |
Shall the indicator be reverted from max to min?
Definition at line 63 of file SoView2DSlider.h.
SoSFFloat SoView2DSlider::sliderAlpha |
Alpha value of slider.
Definition at line 88 of file SoView2DSlider.h.
SoSFColor SoView2DSlider::sliderColor |
Color of the slider.
Definition at line 86 of file SoView2DSlider.h.
SoSFFloat SoView2DSlider::snapSize |
The snap size.
If set to 0, no snap size is used. This is used when interacting with the indicator.
Definition at line 61 of file SoView2DSlider.h.
SoSFFloat SoView2DSlider::stepSize |
The step size.
If set to 0, no step size is used. Else the values start at minimum and increment by stepSize. This means that the maximum value might not be reached exactly. This is used when the user just clicks on the slider.
Definition at line 58 of file SoView2DSlider.h.
SoSFBool SoView2DSlider::useBackgroundIconFile |
Shall the icon file be used for visualizing the slider's background? Otherwise, the background is rendered in OpenGL as a simple filled rectangle.
Definition at line 100 of file SoView2DSlider.h.
SoSFBool SoView2DSlider::useIndicatorIconFile |
Icon fields. Shall the icon file be used for visualizing the indicator? Otherwise, the indicator is rendered in OpenGL as a simple filled rectangle.
Definition at line 94 of file SoView2DSlider.h.
SoSFBool SoView2DSlider::useTracking |
Shall each interaction lead to a value change or shall the value only be changed on finishing the interaction?
Definition at line 53 of file SoView2DSlider.h.