Provided by: libcoin80-doc_3.1.4~abc9f50-4ubuntu2_all bug

NAME

       SoEventManager -

       The SoEventManager class provides event handling for a Coin3D viewer.

SYNOPSIS

       #include <Inventor/SoEventManager.h>

   Public Types
       enum NavigationState { NO_NAVIGATION, JUST_NAVIGATION, MIXED_NAVIGATION }

   Public Member Functions
       virtual ~SoEventManager ()
       virtual void setSceneGraph (SoNode *const sceneroot)
       virtual SoNode * getSceneGraph (void) const
       virtual void setCamera (SoCamera *camera)
       virtual SoCamera * getCamera (void) const
       virtual SbBool processEvent (const SoEvent *const event)
       virtual void setNavigationState (NavigationState state)
       virtual NavigationState getNavigationState (void) const
       int getNumSoScXMLStateMachines (void) const
       SoScXMLStateMachine * getSoScXMLStateMachine (int idx) const
       void addSoScXMLStateMachine (SoScXMLStateMachine *sm)
       void removeSoScXMLStateMachine (SoScXMLStateMachine *sm)
       virtual void setSize (const SbVec2s &newsize)
       virtual void setOrigin (const SbVec2s &newOrigin)
       virtual void setViewportRegion (const SbViewportRegion &newregion)
       const SbViewportRegion & getViewportRegion (void) const
       virtual void setHandleEventAction (SoHandleEventAction *hea)
       virtual SoHandleEventAction * getHandleEventAction (void) const

   Protected Member Functions
       virtual SbBool actuallyProcessEvent (const SoEvent *const event)

Detailed Description

       The SoEventManager class provides event handling for a Coin3D viewer.

       It receives Coin events (typically translated from GUI events by the GUI binding in use)
       and passes them to the state machine or directly to the scene graph depending on the
       navigation mode. SoEventManager implements the event interface for the Coin3D navigation
       system based on ScXML. SoEventManager and SoRenderManager together supersede
       SoSceneManager, which is now just a wrapper around these classes. The class is used by the
       QuarterWidget in Quarter (the Qt binding for Coin3D).

Member Enumeration Documentation

   enum SoEventManager::NavigationState
       Sets how events are handled.

       Enumerator

       NO_NAVIGATION
              Forwards the events only to the scene graph.

       JUST_NAVIGATION
              Forwards the events only to the state machines.

       MIXED_NAVIGATION
              Forwards the events to the scene graph first. If it does not get handled, the
              events get forwarded to the state machines.

Constructor & Destructor Documentation

   SoEventManager::~SoEventManager () [virtual]
       Destructor.

       The destructor destructs all subobjects it still has handles on when invoked.

Member Function Documentation

   void SoEventManager::setSceneGraph (SoNode *constsceneroot) [virtual]
       Set the node which is top of the scene graph we're managing. The sceneroot node reference
       count will be increased by 1, and any previously set scene graph top node will have it's
       reference count decreased by 1.

       See Also:
           getSceneGraph

   SoNode * SoEventManager::getSceneGraph (void) const [virtual]
       Returns pointer to root of scene graph.

   void SoEventManager::setCamera (SoCamera *camera) [virtual]
       Sets the camera to be used.

   SoCamera * SoEventManager::getCamera (void) const [virtual]
       Returns the current camera.

   SbBool SoEventManager::processEvent (const SoEvent *constevent) [virtual]
       Handles the event. Depending on the navigation state, this forwards the event to the state
       machines and/or the scene graph.

   void SoEventManager::setNavigationState (NavigationStatestate) [virtual]
       This method sets the navigation mode of the scene manager. The navigation mode decides the
       system the user uses to navigate the 3D model.

       SoEventManager::NO_NAVIGATION is the default setting.

       See Also:
           SoEventManager::NavigationState, getNavigationState

   SoEventManager::NavigationState SoEventManager::getNavigationState (void) const [virtual]
       This method returns which state the camera navigation system is in.

       See Also:
           SoEventManager::NavigationState, setNavigationState

   int SoEventManager::getNumSoScXMLStateMachines (void) const
       Returns the number of SCXML state machines registered on the SoEventManager object.

   SoScXMLStateMachine * SoEventManager::getSoScXMLStateMachine (intidx) const
       Returns the pointer to the Nth (idx) SCXML state machine registered on the SoSceneManager
       object.

       The idx argument must be a valid index, not outside the actual range of SCXML state
       machine object indices.

   void SoEventManager::addSoScXMLStateMachine (SoScXMLStateMachine *sm)
       Adds an SCXML state machine object to the SoEventManager's event pipeline.

       The calling code is responsible for deleting the passed in state machine after
       removeSoScXMLStateMachine() has been invoked.

       (Note: this behavior changed between Coin 3.1 and later, as the SoEventManager used to
       destruct the state machines upon its own destruction.)

   void SoEventManager::removeSoScXMLStateMachine (SoScXMLStateMachine *sm)
       Removes the SoSceneManager object reference to an SCXML state machine. It will just be
       removed, not destructed.

       If no reference to the given SCXML state machine exists, nothing will happen.

   void SoEventManager::setSize (const SbVec2s &newsize) [virtual]
       Set size of rendering area for the viewport within the current window.

   void SoEventManager::setOrigin (const SbVec2s &newOrigin) [virtual]
       Set only the origin of the viewport region within the rendering window.

       See Also:
           setViewportRegion(), setWindowSize()

   void SoEventManager::setViewportRegion (const SbViewportRegion &newregion) [virtual]
       Sets the current viewport region. This will overwrite the default viewport region created
       in the constructor.

       See Also:
           getViewportRegion()

   const SbViewportRegion & SoEventManager::getViewportRegion (void) const
       Returns the viewport region used by the event manager.

   void SoEventManager::setHandleEventAction (SoHandleEventAction *handleeventaction) [virtual]
       Set the action to use for event handling. Overrides the default action made in the
       constructor.

   SoHandleEventAction * SoEventManager::getHandleEventAction (void) const [virtual]
       Returns pointer to event handler action.

   SbBool SoEventManager::actuallyProcessEvent (const SoEvent *constevent) [protected],
       [virtual]
       Forwards the event to the scene graph.

Author

       Generated automatically by Doxygen for Coin from the source code.