Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

osgGA Namespace Reference

The 'GA' in osgGA stands for 'GUI Abstraction'; the osgGA namespace provides facilities to help developers write the glue to allow the osg to work with varying window systems. More...


Compounds

class  CameraManipulator
 CameraManipulator is an abstract base class defining the interface, and a certain amount of default functionality, for classes which wish to control OSG cameras in response to GUI events. More...

class  CompositeGUIEventHandler
 CompositeGUIEventHandler allows GUIEventHandlers to be composed into hierarchies. More...

class  DriveManipulator
 DriveManipulator is a camera manipulator which provides drive-like functionality. More...

class  FlightManipulator
 FlightManipulator is a CameraManipulator which provides flight simulator-like updating of the camera position & orientation. More...

class  GUIActionAdapter
 Abstract base class defining the interface by which GUIEventHandlers may request actions of the GUI system in use. More...

class  GUIEventAdapter
 Pure virtual base class for adapting platform specific events into generic keyboard and mouse events. More...

class  GUIEventHandler
 GUIEventHandler provides a basic interface for any class which wants to handle a GUI Events. More...

class  GUIEventHandlerVisitor
 Base class for visiting GUIEventHandlers. More...

class  KeySwitchCameraManipulator
 KeySwitchCameraManipulator is a decorator which allows the type of camera manipulator being used to be switched by pressing a key. More...

class  SetSceneViewVisitor
 SetSceneViewGUIEventHandlerVisitor which visits various types of GUIEventHandler and sets them up appropriately, given a new scene view. More...

class  StateSetManipulator
 Experimental class, not been looked at for a while, but which will be returned to at some point :-\. More...

class  TrackballManipulator


Detailed Description

The 'GA' in osgGA stands for 'GUI Abstraction'; the osgGA namespace provides facilities to help developers write the glue to allow the osg to work with varying window systems.

As a cross-platform, window system-agnostic class library, the OpenSceneGraph has no direct ties to any given windowing environment. Viewers, however, must at some level interact with a window system - where Window system may refer to a windowing API, e.g. GLUT, Qt, FLTK, MFC, ...

There is much commonality in the implementation of Viewers for varying windowing environments. E.g. most Viewers will update a Camera position in response to a mouse event, and may request that a timer be started as a result of a model being 'spun'.

The purpose of the osgGA namespace is to centralise the common areas of this functionality. The viewer writer needs then only write a GUIEventAdapter, a GUIActionAdapter, and assemble a collection of GUIEventHandlers as appropriate for the viewer.

Events from the windowing environment are adpated, and then fed into the GUIEventHandlers. The GUIEventHandlers analyse and take action, and make requests of the windowing environemnt via the GUIActionAdapter. The viewer writer should then honour these requests, translating them into calls to the windowing API.


Generated at Wed Sep 18 13:55:48 2002 for the Open Scene Graph by doxygen 1.2.16.