|
Public Types |
typedef std::list< osg::ref_ptr<
osgGA::GUIEventHandler > > | EventHandlerList |
enum | ViewerOptions {
NO_EVENT_HANDLERS = 0,
TRACKBALL_MANIPULATOR = 1,
DRIVE_MANIPULATOR = 2,
FLIGHT_MANIPULATOR = 4,
TERRAIN_MANIPULATOR = 8,
UFO_MANIPULATOR = 0x10,
STATE_MANIPULATOR = 32,
HEAD_LIGHT_SOURCE = 64,
SKY_LIGHT_SOURCE = 128,
STATS_MANIPULATOR = 256,
VIEWER_MANIPULATOR = 512,
ESCAPE_SETS_DONE = 1024,
STANDARD_SETTINGS
} |
| Specifies options to control some aspects of the Viewer behavior (using the setUpViewer() member function). More...
|
Public Member Functions |
| Viewer () |
| Viewer (Producer::CameraConfig *cfg) |
| Viewer (const std::string &configFile) |
| Viewer (osg::ArgumentParser &arguments) |
virtual | ~Viewer () |
void | setUpViewer (unsigned int options=STANDARD_SETTINGS) |
| Set up the viewer, allowing to control some aspects of its behavior.
|
void | setDoneAtElapsedTime (double elapsedTime) |
| Set the viewer so it sets done to true once the refrence time equals or exceeds specified elapsed time.
|
double | getDoneAtElapsedTime () const |
| Get the elapsed time that will cause done to be set to be true.
|
void | setDoneAtElapsedTimeEnabled (bool enabled) |
| Set whether to use a elapsed time to limit the run of the viewer.
|
bool | getDoneAtElapsedTimeEnabled () const |
| Get whether to use a elapsed time to limit the run of the viewer.
|
void | setDoneAtFrameNumber (unsigned int frameNumber) |
| Set the viewer so it sets done to true once the frame number equals or exceeds specified frame number.
|
unsigned int | getDoneAtFrameNumber () const |
| Get the frame number that will cause done to be set to be true.
|
void | setDoneAtFrameNumberEnabled (bool enabled) |
| Set whether to use a frame number to limit the run of the viewer.
|
bool | getDoneAtFrameNumberEnabled () const |
| Get whether to use a frame number to limit the run of the viewer.
|
void | setDone (bool done) |
| Set the done flag signalling that the viewer exit.
|
bool | getDone () const |
| Get the done flag which signals that the viewer exit.
|
virtual bool | done () const |
| Return true if the application is done and should exit.
|
void | setWriteImageWhenDone (bool enabled) |
| Set the viewer to take an image snapshot on the last frame() when done is enabled.
|
bool | getWriteImageWhenDone () const |
| Set the viewer to take an image snapshot on the last frame() when done is enabled.
|
void | setWriteImageFileName (const std::string &filename) |
| Set the filename to write to when the viewer takes an image snapshot on the last frame() when done is enabled.
|
const std::string & | getWriteImageFileName () const |
| Set the filename to write to when the viewer takes an image snapshot on the last frame() when done is enabled.
|
virtual void | setViewByMatrix (const Producer::Matrix &pm) |
| Override the Producer::CameraGroup::setViewByMatrix to catch all changes to view.
|
virtual bool | realize (ThreadingModel thread_model) |
| Set the threading model and then call realize().
|
virtual bool | realize () |
| Realize the render surfaces (OpenGL graphics) and various threads, and call any realize callbacks.
|
virtual void | update () |
| Updated the scene.
|
void | setUpdateVisitor (osg::NodeVisitor *nv) |
| Set the update visitor which does the update traversal of the scene graph.
|
osg::NodeVisitor * | getUpdateVisitor () |
| Get the update visitor.
|
const osg::NodeVisitor * | getUpdateVisitor () const |
| Get the const update visitor.
|
void | setEventVisitor (osgGA::EventVisitor *nv) |
| Set the update visitor which does the event traversal of the scene graph.
|
osgGA::EventVisitor * | getEventVisitor () |
| Get the update visitor.
|
const osgGA::EventVisitor * | getEventVisitor () const |
| Get the const update visitor.
|
void | computeActiveCoordinateSystemNodePath () |
void | setCoordinateSystemNodePath (const osg::RefNodePath &nodePath) |
void | setCoordinateSystemNodePath (const osg::NodePath &nodePath) |
const osg::RefNodePath & | getCoordinateSystemNodePath () const |
virtual void | frame () |
| Dispatch the cull and draw for each of the Camera's for this frame.
|
virtual void | requestRedraw () |
| requestRedraw() requests a single redraw.
|
virtual void | requestContinuousUpdate (bool) |
| requestContinousUpdate(bool) is for en/disabling a throw or idle callback to be requested by a GUIEventHandler (typically a MatrixManipulator, though other GUIEventHandler's may also provide functionality).
|
virtual void | requestWarpPointer (float x, float y) |
| requestWarpPointer(int,int) is requesting a repositioning of the mouse pointer to a specified x,y location on the window.
|
bool | computePixelCoords (float x, float y, unsigned int cameraNum, float &pixel_x, float &pixel_y) |
| Compute, from normalized mouse coords, for sepecified Camera, the pixel coords relative to that Camera's RenderSurface.
|
bool | computeNearFarPoints (float x, float y, unsigned int cameraNum, osg::Vec3 &near, osg::Vec3 &far) |
| Compute, from normalized mouse coords, for sepecified Camera, the near and far points in worlds coords.
|
bool | computeIntersections (float x, float y, unsigned int cameraNum, osg::Node *node, osgUtil::IntersectVisitor::HitList &hits, osg::Node::NodeMask traversalMask=0xffffffff) |
| Compute, from normalized mouse coords, for all Cameras, intersections with the specified subgraph.
|
bool | computeIntersections (float x, float y, unsigned int cameraNum, osgUtil::IntersectVisitor::HitList &hits, osg::Node::NodeMask traversalMask=0xffffffff) |
| Compute, from normalized mouse coords, for sepecified Camera, intersections with the scene.
|
bool | computeIntersections (float x, float y, osg::Node *node, osgUtil::IntersectVisitor::HitList &hits, osg::Node::NodeMask traversalMask=0xffffffff) |
| Compute, from normalized mouse coords, for all Cameras, intersections with specified subgraph.
|
bool | computeIntersections (float x, float y, osgUtil::IntersectVisitor::HitList &hits, osg::Node::NodeMask traversalMask=0xffffffff) |
| Compute, from normalized mouse coords, for all Cameras, intersections with the scene.
|
void | setKeyboardMouse (Producer::KeyboardMouse *kbm) |
Producer::KeyboardMouse * | getKeyboardMouse () |
const Producer::KeyboardMouse * | getKeyboardMouse () const |
void | setKeyboardMouseCallback (osgProducer::KeyboardMouseCallback *kbmcb) |
osgProducer::KeyboardMouseCallback * | getKeyboardMouseCallback () |
const osgProducer::KeyboardMouseCallback * | getKeyboardMouseCallback () const |
EventHandlerList & | getEventHandlerList () |
const EventHandlerList & | getEventHandlerList () const |
osgGA::KeySwitchMatrixManipulator * | getKeySwitchMatrixManipulator () |
const osgGA::KeySwitchMatrixManipulator * | getKeySwitchMatrixManipulator () const |
unsigned int | addCameraManipulator (osgGA::MatrixManipulator *cm) |
void | selectCameraManipulator (unsigned int no) |
void | getCameraManipulatorNameList (std::list< std::string > &nameList) |
bool | selectCameraManipulatorByName (const std::string &name) |
osgGA::MatrixManipulator * | getCameraManipulatorByName (const std::string &name) |
void | setRecordingAnimationPath (bool on) |
bool | getRecordingAnimationPath () const |
void | setAnimationPath (osg::AnimationPath *path) |
osg::AnimationPath * | getAnimationPath () |
const osg::AnimationPath * | getAnimationPath () const |
const double * | getPosition () const |
double | getSpeed () const |
osg::Quat | getOrientation () const |
virtual void | getUsage (osg::ApplicationUsage &usage) const |
| Get the keyboard and mouse usage of this viewer.
|
virtual void | updatedSceneData () |
| Update internal structures w.r.t updated scene data.
|
Protected Attributes |
bool | _setDoneAtElapsedTimeEnabled |
double | _setDoneAtElapsedTime |
bool | _setDoneAtFrameNumberEnabled |
unsigned int | _setDoneAtFrameNumber |
bool | _done |
bool | _writeImageWhenDone |
std::string | _writeImageFileName |
osg::ref_ptr< Producer::KeyboardMouse > | _kbm |
osg::ref_ptr< osgProducer::KeyboardMouseCallback > | _kbmcb |
EventHandlerList | _eventHandlerList |
osg::ref_ptr< osgGA::KeySwitchMatrixManipulator > | _keyswitchManipulator |
osg::ref_ptr< osg::NodeVisitor > | _updateVisitor |
osg::ref_ptr< osgGA::EventVisitor > | _eventVisitor |
osg::RefNodePath | _coordinateSystemNodePath |
bool | _recordingAnimationPath |
double | _recordingStartTime |
osg::ref_ptr< osg::AnimationPath > | _animationPath |
double | _position [3] |
osg::Quat | _orientation |
double | _speed |
Just like OpenGL, the core of OSG is independent of windowing system. The integration between OSG and some windowing system is delegated to other, non-core parts of OSG (users are also allowed to integrate OSG with any exotic windowing system they happen to use). Viewer
implements the integration between OSG and Producer, AKA Open Producer (http://www.andesengineering.com/Producer), thus offering an out-of-the-box, scalable and multi-platform abstraction of the windowing system.