MeVisLab Toolbox Reference
|
allows changing the current slice of the SoView2D with mouse movement and mousewheel More...
#include <SoView2DSlicer.h>
Public Member Functions | |
SoView2DSlicer () | |
Constructor. | |
void | updateValues () override |
setup code | |
bool | evalEvent (SoView2D *view2d, View2DSliceList *slicelist, View2DEvent *ec, View2DEventPhase phase) override |
reimplemented from SoView2DExtension | |
bool | modifyStartSlice (SoView2D *view2d, int offset) |
Add offset to start slice/time point, returns true if the value was changed: | |
Public Member Functions inherited from SoView2DInteractionExtension | |
SoView2DInteractionExtension (const std::string &actionID, bool positionSensitive=true) | |
SoView2DInteractionExtension () | |
Constructor. | |
bool | implementsManagedInteractionAndClassicEventHandling () const override |
this node is a hybrid module providing managed interaction and classic event handling | |
Public Member Functions inherited from SoView2DExtension | |
SoView2DExtension () | |
Constructor. | |
void | init () |
setup internal state | |
virtual void | draw (View2DSliceList *slicelist, View2DSlice *slice, int sliceZ) |
Called by the SoView2D for each slice that is rendered. | |
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) |
virtual bool | ignoreEvent (View2DEvent *ec) |
Return true if ec has been handled before and if ignoreHandledEvents is True. | |
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 bool | modifyTimePoint (SoView2D *view2d, int offset) |
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 | sensitivity |
sensitivity used for sliding | |
SoSFBool | permitInteractionOutsideImage |
Field for toggling the interaction out of the image on/off. | |
SoSFInt32 | stepSize |
Increment slice by this many slices on each mouse wheel action. | |
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 | |
float | _oldY |
previous y coordinate of mouse | |
float | _sumY |
current sum of y movement since last slice change | |
unsigned | _prevWheelCode |
previous wheel rotation orientation & sign code | |
int | _sumWheel |
current sum of 1/8 degrees of wheel rotation | |
SoView2DSlicerOffsetAction * | _offsetAction |
Additional offset action for changing start slice/time point. | |
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 | |
Additional Inherited Members | |
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 *) |
allows changing the current slice of the SoView2D with mouse movement and mousewheel
Definition at line 24 of file SoView2DSlicer.h.
SoView2DSlicer::SoView2DSlicer | ( | ) |
Constructor.
|
overrideprotectedvirtual |
Reimplemented from SoView2DInteractionExtension.
called when editingOn field is touched:
Reimplemented from SoView2DInteractionExtension.
|
overrideprotectedvirtual |
Reimplemented from SoView2DInteractionExtension.
|
overridevirtual |
reimplemented from SoView2DExtension
Reimplemented from SoView2DExtension.
Add offset to start slice/time point, returns true if the value was changed:
called when sensitivity field is touched:
|
overrideprotectedvirtual |
interface forwarded from SoPointingAction:
Reimplemented from SoView2DInteractionExtension.
|
overridevirtual |
setup code
Reimplemented from SoView2DExtension.
|
protected |
Additional offset action for changing start slice/time point.
Definition at line 81 of file SoView2DSlicer.h.
|
protected |
previous y coordinate of mouse
Definition at line 72 of file SoView2DSlicer.h.
|
protected |
previous wheel rotation orientation & sign code
Definition at line 76 of file SoView2DSlicer.h.
|
protected |
current sum of 1/8 degrees of wheel rotation
Definition at line 78 of file SoView2DSlicer.h.
|
protected |
current sum of y movement since last slice change
Definition at line 74 of file SoView2DSlicer.h.
SoSFBool SoView2DSlicer::permitInteractionOutsideImage |
Field for toggling the interaction out of the image on/off.
Definition at line 39 of file SoView2DSlicer.h.
SoSFFloat SoView2DSlicer::sensitivity |
sensitivity used for sliding
Definition at line 30 of file SoView2DSlicer.h.
SoSFInt32 SoView2DSlicer::stepSize |
Increment slice by this many slices on each mouse wheel action.
Definition at line 53 of file SoView2DSlicer.h.