MeVisLab Toolbox Reference
SoInteractionNode Class Reference

SoInteractionNode is the base class for normal interaction nodes in OpenInventor, that handle their interactions directly. More...

#include <SoInteractionNode.h>

Inheritance diagram for SoInteractionNode:
SoInteractionProviderNode SoInteractionHandler SoInteractionOwner SoInteractionProvider SoCSO3DVis SoCSODrawOnSurface SoMouseGrabber SoPicking

Public Member Functions

 SoInteractionNode ()
 Constructor. More...
 
 ~SoInteractionNode () override
 
void handleEvent (SoHandleEventAction *action) override
 Handles the mouse and keyboard events. More...
 
- Public Member Functions inherited from SoInteractionProviderNode
 SoInteractionProviderNode ()
 Default constructor. More...
 
 ~SoInteractionProviderNode () override
 Destructor. More...
 
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. More...
 
void objRef () override
 Memory management by reference counting; must be implemented in derived classes. More...
 
void objUnref () override
 
- Public Member Functions inherited from SoInteractionOwner
 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. Be defaults simply calls the below version. More...
 
void pointerLeftWindow (SoState *state) override
 Same as below, with additional SoState argument. Be defaults simply calls the below version. More...
 
void addListener (SoInteractionOwnerListenerInterface *listener)
 Add a listener object that is notified of changes in the interaction list. More...
 
void removeListener (SoInteractionOwnerListenerInterface *listener)
 Remove a listener object that was notified of changes in the interaction list. More...
 
- Public Member Functions inherited from SoInteractionProvider
 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)
 
- Public Member Functions inherited from SoInteractionHandler
 SoInteractionHandler (SoInteractionProvider *provider)
 
virtual ~SoInteractionHandler ()
 
virtual void handleEventForInteraction (SoHandleEventAction *action)
 Handles the mouse and keyboard events and send them to interaction nodes. More...
 

Static Public Member Functions

static void initClass ()
 Initializes this class. More...
 
static SoInteractionProvidergetInteractionProvider (SoNode *node)
 
- Static Public Member Functions inherited from SoInteractionProviderNode
static void initClass ()
 Initializes this class. More...
 
- Static Public Member Functions inherited from SoInteractionProvider
static void registerInteractionProviderNode (SoType type, GetProviderFunc func)
 Register a function to obtain a SoInteractionProvider from a SoNode. More...
 
static SoInteractionProvidergetInteractionProvider (SoNode *node)
 Get a SoInteractionProvider from a SoNode if registered, else NULL. More...
 

Additional Inherited Members

- Public Types inherited from SoInteractionProvider
typedef SoInteractionProvider *(* GetProviderFunc) (SoNode *)
 
- Public Attributes inherited from SoInteractionProviderNode
SoSFString instanceName
 Defines interface field to store the instance name. More...
 
SoSFString interactionProviderID
 This field overrides the instanceName as providerID if specified. More...
 
- 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. 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 *)
 
- Protected Member Functions inherited from SoInteractionHandler
bool handleKeyPress (SoState *state, const SoPointerPosition &location, int modifiers, SoKeyboardEvent::Key nKey)
 Handles key press by checking for commands actions with matching key shortcuts and executing (one of) them. More...
 
virtual bool augmentLocation (SoPointerPosition &, bool)
 This method can be overridden to provide further position information to SoPointingActions - e.g. More...
 
void buttonMaskChanged (SoState *state, const SoPointerPosition &location, int buttonMask)
 Called if the button mask changed since the last input event. More...
 
void modifierMaskChanged (SoState *state, const SoPointerPosition &location, int modifierMask)
 Called if the modifier mask changed since the last input event. More...
 
void locationChanged (SoState *state, const SoPointerPosition &location, bool force=false, bool renderRefresh=false)
 Called if the pointer location changed since the last input event. More...
 
bool wheelRotated (SoState *state, const SoPointerPosition &location, int modifierMask, SoMouseWheelEvent::Orientation orientation, short rotation)
 Called when the mouse wheel is rotated. More...
 
void handlePointerLeftWindow (SoState *state)
 Called if the pointer left the scene widget. More...
 
SoInteractionCoordinatorgetCoordinator ()
 Access method, returns the interaction coordinator during event handling. More...
 
SoPointingActiongetLocalCurrentPointingAction ()
 
virtual bool isEnabled (SoPointingAction *action, int currentMask)
 This method returns true if the pointing action should be enabled for the given modifier/button mask. More...
 
virtual bool isValidStartingLocation (const SoPointerPosition &location)
 This method returns whether the current location is valid for starting a pointing action. More...
 
bool canSelectPointingAction ()
 
void selectTargetPointingAction (SoState *state, const SoPointerPosition &location, int mask)
 
bool trySwitchGlobalPointingAction (SoState *state, const SoPointerPosition &location, int buttonMask, int modifierMask)
 Tries to switch from one global pointing action to another during a drag. More...
 
int getCurrentButtonMask ()
 
int getCurrentModifierMask ()
 Returns the currently active button modifier. More...
 
SoPointerPosition getCurrentPointerLocation ()
 Returns the current position of the mouse cursor. More...
 
bool isCurrentPointerLocationValid ()
 Returns whether the current mouse cursor position is valid. More...
 

Detailed Description

SoInteractionNode is the base class for normal interaction nodes in OpenInventor, that handle their interactions directly.

SoInteractionNode is the base class for normal interaction nodes in OpenInventor, that handle their interactions directly.

Definition at line 24 of file SoInteractionNode.h.

Constructor & Destructor Documentation

◆ SoInteractionNode()

SoInteractionNode::SoInteractionNode ( )

Constructor.

◆ ~SoInteractionNode()

SoInteractionNode::~SoInteractionNode ( )
override

Member Function Documentation

◆ getInteractionProvider()

static SoInteractionProvider* SoInteractionNode::getInteractionProvider ( SoNode *  node)
static

◆ handleEvent()

void SoInteractionNode::handleEvent ( SoHandleEventAction *  action)
override

Handles the mouse and keyboard events.

◆ initClass()

static void SoInteractionNode::initClass ( )
static

Initializes this class.


The documentation for this class was generated from the following file: