|
MeVisLab Toolbox Reference
|
#include <SoView2DInteractionExtension.h>
Public Member Functions | |
| SoView2DInteractionExtension (const std::string &actionID, bool positionSensitive=true) | |
| SoView2DInteractionExtension () | |
| Constructor. | |
| bool | implementsManagedInteractionAndClassicEventHandling () const override |
| 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 | draw (View2DSliceList *slicelist, View2DSlice *slice, int sliceZ) |
| Called by the SoView2D for each slice that is rendered. | |
| virtual bool | evalEvent (SoView2D *view2d, View2DSliceList *slicelist, View2DEvent *ec, View2DEventPhase phase) |
| Called by the SoView2D for each event that happens on the viewer. | |
| 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) |
| 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 () |
| int | getSelectedIgnoreMask () |
| SoPointingAction::Trigger | getPointingActionTriggerFromFields () |
| Get the trigger that matches the button/modifier field state. | |
| Public Member Functions inherited from SoInteractionProviderNode | |
| SoInteractionProviderNode () | |
| ~SoInteractionProviderNode () override | |
| Destructor. | |
| std::string | getID () const override |
| void | objRef () override |
| 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. By default, simply calls the below version. | |
| void | pointerLeftWindow (SoState *state) override |
| Same as below, with additional SoState argument. By defaults, simply calls the below version. | |
| void | addListener (SoInteractionOwnerListenerInterface *listener) |
| Adds a listener object that is notified of changes in the interaction list. | |
| void | removeListener (SoInteractionOwnerListenerInterface *listener) |
| Removes 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 () |
| 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 void | registerInteractionProviderNode (SoType type, GetProviderFunc func) |
| Registers a function to obtain a SoInteractionProvider from a SoNode. | |
| static SoInteractionProvider * | getInteractionProvider (SoNode *node) |
Public Attributes | |
| SoSFTrigger | singleClicked |
| 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 |
| 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 |
| 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 Member Functions | |
| ~SoView2DInteractionExtension () override | |
| destructor | |
| bool | isValidLocation (const SoPointerPosition &pos) |
| return true if the position is inside the image or needsValidVoxel is not set | |
| virtual bool | shouldPointingActionBeEnabled () |
| void | editingOnChanged (SoField *field) override |
| called when editingOn field is touched: | |
| void | buttonMaskChanged (SoField *field) override |
| called when one of the button/modifier fields is touched: | |
| virtual int | getCurrentCursor (SoViewerProxy *viewerProxy) |
| virtual bool | isSensitiveAt (const SoPointerPosition &) |
| virtual void | setHighlightAt (const SoPointerPosition &) |
| virtual void | unsetHighlight () |
| virtual void | startPressAt (const SoPointerPosition &) |
| virtual void | dragMoveTo (const SoPointerPosition &) |
| virtual SoPointingAction * | endPress (int) |
| virtual int | getNumInteractionModes () const |
| virtual void | setInteractionMode (int) |
| Protected Member Functions inherited from SoView2DExtension | |
| virtual void | createNewModeRequestTriggered (SoField *) |
| called when createNewModeRequest field ist touched: | |
| ~SoView2DExtension () override | |
| destructor | |
| void | GLRender (SoGLRenderAction *action) override |
| Inventor actions. | |
| void | callback (SoCallbackAction *action) override |
| void | handleEvent (SoHandleEventAction *action) override |
| void | getMatrix (SoGetMatrixAction *action) override |
| void | getBoundingBox (SoGetBoundingBoxAction *action) override |
| void | pick (SoPickAction *action) override |
| void | doAction (SoAction *action) override |
| Protected Member Functions inherited from SoInteractionOwner | |
| virtual void | pointerPosition (const SoPointerPosition &) |
| Override this if you always need to be informed of the current mouse cursor position. | |
| virtual void | pointerLeftWindow () |
| This is called when the mouse cursor leaves the window. | |
| bool | hasInteractions () const |
| Returns whether there are any actions defined by this owner. | |
| template<class T> | |
| bool | hasInteractionsOfType () const |
| Same as above, but asking for a specific type of interaction. | |
| void | addPointingAction (SoPointingAction *) |
| void | addCommandAction (SoCommandAction *) |
| void | addOffsetAction (SoOffsetAction *) |
Protected Attributes | |
| 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 | |
Friends | |
| class | SoView2DGenericPointingAction |
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... | |
| typedef SoInteractionProvider *(* | GetProviderFunc) (SoNode *) |
SoView2DInteractionExtension is base class for all SoView2DExtensions that want to support the Managed Interactions and provide a single SoPointingAction. This single SoPointingAction forwards all functionality to this class.
Definition at line 32 of file SoView2DInteractionExtension.h.
| SoView2DInteractionExtension::SoView2DInteractionExtension | ( | const std::string & | actionID, |
| bool | positionSensitive = true ) |
Referenced by SoView2DGenericPointingAction.
| SoView2DInteractionExtension::SoView2DInteractionExtension | ( | ) |
Constructor.
|
overrideprotected |
destructor
|
overrideprotectedvirtual |
called when one of the button/modifier fields is touched:
Reimplemented from SoView2DExtension.
|
inlineprotectedvirtual |
Reimplemented in SoView2DAnnotation, SoView2DButton, SoView2DLabel, SoView2DPlane, SoView2DPosition, SoView2DRectangle, SoView2DRigidRegistrationEditorBase, SoView2DSlicePan, SoView2DSlicer, SoView2DSliceZoom, SoView2DSlider, and SoView2DVoxelValue.
Definition at line 74 of file SoView2DInteractionExtension.h.
|
overrideprotectedvirtual |
called when editingOn field is touched:
Reimplemented from SoView2DExtension.
Reimplemented in SoView2DSlicer, SoView2DSliceZoom, and SoView2DVoxelValue.
|
inlineprotectedvirtual |
Reimplemented in SoView2DAnnotation, SoView2DAutoCenter, SoView2DButton, SoView2DPlane, SoView2DRectangle, SoView2DRigidRegistrationEditorBase, SoView2DSlicePan, SoView2DSlicer, SoView2DSliceZoom, and SoView2DSlider.
Definition at line 75 of file SoView2DInteractionExtension.h.
|
protectedvirtual |
interface forwarded from SoPointingAction:
Reimplemented in SoView2DPlane, and SoView2DRigidRegistrationEditorBase.
|
inlineprotectedvirtual |
Definition at line 76 of file SoView2DInteractionExtension.h.
|
inlineoverridevirtual |
this node is a hybrid module providing managed interaction and classic event handling
Reimplemented from SoView2DExtension.
Reimplemented in SoView2DLabel, SoView2DRigidRegistrationEditorBase, and SoView2DSlider.
Definition at line 56 of file SoView2DInteractionExtension.h.
|
static |
Initializes this class.
|
protectedvirtual |
Reimplemented in SoView2DAnnotation, SoView2DButton, SoView2DLabel, SoView2DPlane, SoView2DPosition, SoView2DRectangle, SoView2DRigidRegistrationEditorBase, and SoView2DSlider.
|
protected |
return true if the position is inside the image or needsValidVoxel is not set
|
inlineprotectedvirtual |
Reimplemented in SoView2DLabel, SoView2DRigidRegistrationEditorBase, and SoView2DSlider.
Definition at line 71 of file SoView2DInteractionExtension.h.
|
inlineprotectedvirtual |
Definition at line 77 of file SoView2DInteractionExtension.h.
|
inlineprotectedvirtual |
Definition at line 65 of file SoView2DInteractionExtension.h.
References SoView2DExtension::isEditingOn().
|
inlineprotectedvirtual |
Reimplemented in SoView2DAnnotation, SoView2DAutoCenter, SoView2DButton, SoView2DLabel, SoView2DPlane, SoView2DPosition, SoView2DRectangle, SoView2DRigidRegistrationEditorBase, SoView2DSlicePan, SoView2DSlicer, SoView2DSliceZoom, SoView2DSlider, and SoView2DVoxelValue.
Definition at line 73 of file SoView2DInteractionExtension.h.
|
inlineprotectedvirtual |
Reimplemented in SoView2DButton, SoView2DLabel, SoView2DRigidRegistrationEditorBase, and SoView2DSlider.
Definition at line 72 of file SoView2DInteractionExtension.h.
|
friend |
Definition at line 34 of file SoView2DInteractionExtension.h.
References SoView2DGenericPointingAction, and SoView2DInteractionExtension().
Referenced by SoView2DGenericPointingAction.
|
protected |
Definition at line 86 of file SoView2DInteractionExtension.h.
| SoSFTrigger SoView2DInteractionExtension::doubleClicked |
the same for the second click in a row
Definition at line 46 of file SoView2DInteractionExtension.h.
| SoSFTrigger SoView2DInteractionExtension::singleClicked |
this is triggered when the user clicks without moving the mouse (this only is supported when using Managed Interaction)
Definition at line 43 of file SoView2DInteractionExtension.h.