|
| SoView2DCallback () |
|
void | setEvalEventCB (SoView2DEvalEventCB *eval, void *usrData) |
| set a callback for evalEvent, clears previous callback More...
|
|
void | setDrawCB (SoView2DDrawCB *draw, void *usrData) |
| set a callback for draw, clears previous callback More...
|
|
void | draw (View2DSliceList *dsl, View2DSlice *dslice, int slice) override |
| reimplemented from SoView2DExtension More...
|
|
bool | evalEvent (SoView2D *view2d, View2DSliceList *slicelist, View2DEvent *ec, View2DEventPhase phase) override |
| reimplemented from SoView2DExtension More...
|
|
| SoView2DExtension () |
| Constructor. More...
|
|
void | init () |
| setup internal state More...
|
|
virtual void | updateValues () |
| Update fields to local variables, may be reimplemented if you want to update additional local vars. More...
|
|
virtual void | startDrawing (View2DSliceList *) |
|
virtual void | endDrawing (View2DSliceList *) |
|
virtual void | overwriteDrawingSettings (SoView2DDrawingSettings &) |
|
View2DEvent * | getEvent () |
| get the current event (when inside of evalEvent) More...
|
|
float | getSelectDist () |
| Set the distance tolerance on hit checking in pixels. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
void | drawFilledMiniTriangle (float xp, float yp, float ext, float lineWidth=1.f) |
| Draws a small filled triangle with given center point and half height. More...
|
|
void | drawMiniCircle (float xp, float yp, float ext, float lineWidth=1.f) |
| Draws a small circle with given center point and radius. More...
|
|
void | drawFilledMiniCircle (float xp, float yp, float ext, float lineWidth=1.f) |
| Draws a small filled circle with given center point and radius. More...
|
|
void | drawFixedSizeMiniCircleAt (float xp, float yp) |
| Draws a fixed size small circle at the given position. More...
|
|
void | drawVoxelBorder (View2DSlice *slice, float vx, float vy, float vz) |
| surround the given voxel with a border More...
|
|
int | getX () |
| get the x device position of current event, only returns valid result when called inside of evalEvent() More...
|
|
int | getY () |
| get the y device position of current event, only returns valid result when called inside of evalEvent() More...
|
|
virtual bool | isDrawingOn () |
| check if drawing is on More...
|
|
virtual bool | isEditingOn () |
| check if editing is on More...
|
|
virtual bool | isFixZOn () |
| check if z should stay fixed More...
|
|
virtual bool | isClipToSlice () |
| check if the image is clipped to slice More...
|
|
virtual void | fieldChanged (SoSensor *sensor) |
| handle if any field has changed More...
|
|
bool | isCreateNewMode () |
| check if extension is in createNewMode More...
|
|
void | setCreateNewMode (bool flag) |
| set this extension to create new objects More...
|
|
bool | isCreateNewModeRequest () |
| check if extension has a request for createNewMode More...
|
|
void | setCreateNewModeRequest (bool flag) |
| set that extension want to become createNewMode More...
|
|
virtual bool | isActive () |
| returns if the extension is active (derive this method in child) (in createNewMode or with a selected object)(called by SoView2D) More...
|
|
virtual void | deleteSelectedObject () |
| deletes the currently active object (derive this method in child) (called by SoView2D) More...
|
|
virtual void | getStatusString (SbString &status) |
| get the current status of this extension More...
|
|
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. More...
|
|
bool | wantsMouseOverUpdates () const |
| public access to _wantsMouseOverUpdateEvents More...
|
|
virtual void | consumeEvent (View2DEvent *ec, bool handled=TRUE) |
| Set handled-flag of ec to true (= consumed) if handled is True and setEventHandled is True. More...
|
|
int | getSelectedModifierMask () |
| Get compare and ignore mask for the currently selected button/modifier combination, usable with SoPointingAction. More...
|
|
int | getSelectedIgnoreMask () |
|
SoPointingAction::Trigger | getPointingActionTriggerFromFields () |
| Get the trigger that matches the button/modifier field state. More...
|
|
virtual bool | implementsManagedInteractionAndClassicEventHandling () const |
| return true if this node is a hybrid module providing managed interaction and classic event handling - in this case SoView2D::useManagedInteraction decides which one to use More...
|
|
| SoInteractionProviderNode () |
| Default constructor. More...
|
|
| ~SoInteractionProviderNode () override |
| Destructor. More...
|
|
std::string | getID () const override |
| Returns the ID string for identifying the provider and its actions. More...
|
|
void | objRef () override |
| Memory management by reference counting; must be implemented in derived classes. More...
|
|
void | objUnref () override |
|
| SoInteractionOwner () |
| Default constructor. More...
|
|
| ~SoInteractionOwner () override |
| The destructor will destroy all interactions created with this object as owner. More...
|
|
std::list< SoInteraction * > | getInteractions (SoState *state) override |
| Returns the list of all interactions of this provider. More...
|
|
void | pointerPosition (SoState *state, const SoPointerPosition &pos) override |
| Same as below, with additional SoState argument. By default, simply calls the below version. More...
|
|
void | pointerLeftWindow (SoState *state) override |
| Same as below, with additional SoState argument. By defaults, simply calls the below version. More...
|
|
void | addListener (SoInteractionOwnerListenerInterface *listener) |
| Adds a listener object that is notified of changes in the interaction list. More...
|
|
void | removeListener (SoInteractionOwnerListenerInterface *listener) |
| Removes a listener object that was notified of changes in the interaction list. More...
|
|
| SoInteractionProvider () |
| Default constructor. More...
|
|
virtual | ~SoInteractionProvider () |
|
template<class T > |
std::list< T * > | getInteractionsOfType (SoState *state) |
| Returns list of interactions of a specific type. More...
|
|
virtual std::list< SoCommandAction * > | getCommandActions (SoState *state) |
|
virtual std::list< SoPointingAction * > | getPointingActions (SoState *state) |
|
virtual std::list< SoOffsetAction * > | getOffsetActions (SoState *state) |
|
|
static void | initClass () |
|
static void | initClass () |
| Initializes this class. More...
|
|
static float | snapToPixelCenter (float coordinateComponent) |
| Snaps the coordinate component to the pixel center. More...
|
|
static void | fieldChangedCB (void *data, SoSensor *sensor) |
| inventor callbacks if any field has changed, calls fieldChanged More...
|
|
static bool | isImageParallel (SoSFMLImage *image, View2DSliceList *dsl) |
| Return true if image is parallel to the image of the slice list up to slice thickness. More...
|
|
static void | enableLineStippling (const SoSFEnum &lineStyleField) |
| Set/reset stippling pattern. More...
|
|
static void | disableLineStippling (const SoSFEnum &lineStyleField) |
|
static void | getAxisOrientation (int axis, SbMatrix &matrix, char &negativeResult, char &positiveResult) |
| Geometry helpers. More...
|
|
static float | pointToLineDistance (SbVec3f point, SbVec3f line1, SbVec3f line2) |
| calculate 3D point to line distance More...
|
|
static float | pointToLineDistance (SbVec2f point, SbVec2f line1, SbVec2f line2) |
| calculate 2D point to line distance More...
|
|
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 More...
|
|
static void | initClass () |
| Initializes this class. More...
|
|
static void | registerInteractionProviderNode (SoType type, GetProviderFunc func) |
| Registers a function to obtain a SoInteractionProvider from a SoNode. More...
|
|
static SoInteractionProvider * | getInteractionProvider (SoNode *node) |
| Returns a SoInteractionProvider from a SoNode if registered, else NULL. More...
|
|
|
enum | Sign { ZERO
, NEGATIVE
, POSITIVE
} |
| defines the sign of a number, with zero as an extra value More...
|
|
typedef SoInteractionProvider *(* | GetProviderFunc) (SoNode *) |
|
SoSFColor | color |
| color that should be used for drawing More...
|
|
SoSFBool | drawingOn |
| flag if the extension should draw, needs to be checked inside of the draw() method More...
|
|
SoSFBool | editingOn |
| flag if the extension should edit objects on mouse events, needs to be checked inside of the evalEvent() method More...
|
|
SoSFBool | maskValid |
| flag if the event mask is valid. More...
|
|
SoSFFloat | selectionTolerance |
| the selection tolerance in pixels More...
|
|
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 More...
|
|
SoSFBool | wantsKeyEvents |
| flag if keyboard events should be passed to evalEvent() More...
|
|
SoSFBool | wantsMouseWheelEvents |
| flag if MouseWheel events should be passed to evalEvent() More...
|
|
SoSFBool | setEventHandled |
| Set event handled if it is indeed handled by this extension. More...
|
|
SoSFBool | ignoreHandledEvents |
| Ignore events, that have been handled by previous extensions. More...
|
|
SoSFEnum | button1 |
| mouse mask for button1 More...
|
|
SoSFEnum | button2 |
| mouse mask for button2 More...
|
|
SoSFEnum | button3 |
| mouse mask for button3 More...
|
|
SoSFEnum | shift |
| shift modifier for mouse mask More...
|
|
SoSFEnum | control |
| shift control for mouse mask More...
|
|
SoSFEnum | alt |
| shift alt for mouse mask More...
|
|
SoSFBool | needsValidVoxel |
| sets if a valid voxel must be hit to get evalEvent() calls More...
|
|
SoSFBool | renderOnSlab |
| defines if the extension should be rendered on all slab slices More...
|
|
SoSFBool | createNewMode |
| flag if extension is in createNewMode More...
|
|
SoSFTrigger | createNewModeRequest |
|
SoSFBool | clipToSlice |
| Flag to clip drawing to slice. More...
|
|
SoSFEnum | cursorShape |
| Set cursor shape if the mouse mask fits and mouseEvents are effectively sent to evalEvent for editing. More...
|
|
SoSFBool | fixZOn |
| DEPRECATED flag that indicates that the extension should fix the z value, only used in SoView2DRectangle. More...
|
|
SoSFString | instanceName |
| Defines interface field to store the instance name. More...
|
|
SoSFString | interactionProviderID |
| This field overrides the instanceName as providerID if specified. More...
|
|
virtual void | editingOnChanged (SoField *) |
| called when editingOn field is touched: More...
|
|
virtual void | buttonMaskChanged (SoField *) |
| called when one of the button/modifier fields is touched: More...
|
|
virtual void | createNewModeRequestTriggered (SoField *) |
| called when createNewModeRequest field ist touched: More...
|
|
| ~SoView2DExtension () override |
| destructor More...
|
|
void | GLRender (SoGLRenderAction *action) override |
| Inventor actions. More...
|
|
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 |
|
virtual void | pointerPosition (const SoPointerPosition &) |
| Override this if you always need to be informed of the current mouse cursor position. More...
|
|
virtual void | pointerLeftWindow () |
| This is called when the mouse cursor leaves the window. More...
|
|
bool | hasInteractions () const |
| Returns whether there are any actions defined by this owner. More...
|
|
template<class T > |
bool | hasInteractionsOfType () const |
| Same as above, but asking for a specific type of interaction. More...
|
|
void | addPointingAction (SoPointingAction *) |
|
void | addCommandAction (SoCommandAction *) |
|
void | addOffsetAction (SoOffsetAction *) |
|
SoNodeSensor * | _nodeSensor |
| node sensor that is used to notice field changes More...
|
|
float | _rgbColor [4] |
| Color of the object, update on each field change by _nodeSensor. More...
|
|
bool | _wantsMouseOverUpdateEvents |
| set this flag to receive mouse over events while the extension is active More...
|
|
SoView2DCallback allows to set a callback for evalEvent and draw virtual functions of a SoView2DExtension.
This class can be used to add SoView2D capabilities to a ML module. Some modules like the SoView2DOverlay are also derived from the SoView2DCallback to allow other modules to intercept the draw and evalEvent calls.
Definition at line 38 of file SoView2DCallback.h.