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 *const sceneroot) [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 *const event) [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 (NavigationState state) [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 (int idx)
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.
If it is not removed before SoSceneManager destruction, the
SoSceneManager destructor will delete it.
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 *const event)
[protected, virtual] Forwards the event to the scene graph.
Author
Generated automatically by Doxygen for Coin from the source code.