OSG
3.4.0
|
#include <GraphicsWindow.h>
Public Types | |
enum | MouseCursor { InheritCursor, NoCursor, RightArrowCursor, LeftArrowCursor, InfoCursor, DestroyCursor, HelpCursor, CycleCursor, SprayCursor, WaitCursor, TextCursor, CrosshairCursor, HandCursor, UpDownCursor, LeftRightCursor, TopSideCursor, BottomSideCursor, LeftSideCursor, RightSideCursor, TopLeftCorner, TopRightCorner, BottomRightCorner, BottomLeftCorner } |
typedef std::list < osgViewer::View * > | Views |
![]() | |
typedef std::vector < ScreenSettings > | ScreenSettingsList |
typedef std::vector < GraphicsContext * > | GraphicsContexts |
typedef std::list< ref_ptr < Operation > > | GraphicsOperationQueue |
typedef std::list< osg::Camera * > | Cameras |
![]() | |
enum | DataVariance { DYNAMIC, STATIC, UNSPECIFIED } |
Public Member Functions | |
GraphicsWindow () | |
virtual bool | isSameKindAs (const Object *object) const |
virtual const char * | libraryName () const |
virtual const char * | className () const |
void | setEventQueue (osgGA::EventQueue *eventQueue) |
osgGA::EventQueue * | getEventQueue () |
const osgGA::EventQueue * | getEventQueue () const |
virtual bool | checkEvents () |
void | setWindowRectangle (int x, int y, int width, int height) |
virtual bool | setWindowRectangleImplementation (int, int, int, int) |
virtual void | getWindowRectangle (int &x, int &y, int &width, int &height) |
void | setWindowDecoration (bool flag) |
virtual bool | setWindowDecorationImplementation (bool) |
virtual bool | getWindowDecoration () const |
virtual void | grabFocus () |
virtual void | grabFocusIfPointerInWindow () |
virtual void | raiseWindow () |
virtual void | setWindowName (const std::string &) |
virtual std::string | getWindowName () |
virtual void | useCursor (bool cursorOn) |
virtual void | setCursor (MouseCursor) |
virtual void | setSyncToVBlank (bool on) |
bool | getSyncToVBlank () const |
virtual void | setSwapGroup (bool on, GLuint group, GLuint barrier) |
void | getSwapGroup (bool &on, GLuint &group, GLuint &barrier) const |
virtual bool | valid () const |
virtual bool | realizeImplementation () |
virtual bool | isRealizedImplementation () const |
virtual void | closeImplementation () |
virtual bool | makeCurrentImplementation () |
virtual bool | makeContextCurrentImplementation (GraphicsContext *) |
virtual bool | releaseContextImplementation () |
virtual void | bindPBufferToTextureImplementation (GLenum) |
virtual void | swapBuffersImplementation () |
void | getViews (Views &views) |
virtual void | requestRedraw () |
virtual void | requestContinuousUpdate (bool=true) |
virtual void | requestWarpPointer (float, float) |
![]() | |
void | add (Operation *operation) |
void | remove (Operation *operation) |
void | remove (const std::string &name) |
void | removeAllOperations () |
virtual void | runOperations () |
GraphicsOperationQueue & | getOperationsQueue () |
OpenThreads::Mutex * | getOperationsMutex () |
osg::RefBlock * | getOperationsBlock () |
Operation * | getCurrentOperation () |
const Traits * | getTraits () const |
void | setState (State *state) |
State * | getState () |
const State * | getState () const |
void | setClearColor (const Vec4 &color) |
const Vec4 & | getClearColor () const |
void | setClearMask (GLbitfield mask) |
GLbitfield | getClearMask () const |
virtual void | clear () |
double | getTimeSinceLastClear () const |
bool | realize () |
void | close (bool callCloseImplementation=true) |
void | swapBuffers () |
bool | isRealized () const |
bool | makeCurrent () |
bool | makeContextCurrent (GraphicsContext *readContext) |
bool | releaseContext () |
bool | isCurrent () const |
void | bindPBufferToTexture (GLenum buffer) |
void | createGraphicsThread () |
void | setGraphicsThread (GraphicsThread *gt) |
GraphicsThread * | getGraphicsThread () |
const GraphicsThread * | getGraphicsThread () const |
virtual bool | makeContextCurrentImplementation (GraphicsContext *readContext)=0 |
void | setSwapCallback (SwapCallback *rc) |
SwapCallback * | getSwapCallback () |
const SwapCallback * | getSwapCallback () const |
void | swapBuffersCallbackOrImplemenation () |
void | resized (int x, int y, int width, int height) |
void | setResizedCallback (ResizedCallback *rc) |
ResizedCallback * | getResizedCallback () |
const ResizedCallback * | getResizedCallback () const |
virtual void | resizedImplementation (int x, int y, int width, int height) |
Cameras & | getCameras () |
const Cameras & | getCameras () const |
void | setDefaultFboId (GLuint i) |
GLuint | getDefaultFboId () const |
virtual bool | isSameKindAs (const Object *object) const |
![]() | |
Object () | |
Object (bool threadSafeRefUnref) | |
Object (const Object &, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
std::string | getCompoundClassName () const |
virtual Node * | asNode () |
virtual const Node * | asNode () const |
virtual NodeVisitor * | asNodeVisitor () |
virtual const NodeVisitor * | asNodeVisitor () const |
virtual StateAttribute * | asStateAttribute () |
virtual const StateAttribute * | asStateAttribute () const |
virtual Uniform * | asUniform () |
virtual const Uniform * | asUniform () const |
virtual void | setThreadSafeRefUnref (bool threadSafe) |
virtual void | setName (const std::string &name) |
void | setName (const char *name) |
const std::string & | getName () const |
void | setDataVariance (DataVariance dv) |
DataVariance | getDataVariance () const |
virtual void | computeDataVariance () |
void | setUserDataContainer (osg::UserDataContainer *udc) |
osg::UserDataContainer * | getUserDataContainer () |
const osg::UserDataContainer * | getUserDataContainer () const |
osg::UserDataContainer * | getOrCreateUserDataContainer () |
virtual void | setUserData (Referenced *obj) |
virtual Referenced * | getUserData () |
virtual const Referenced * | getUserData () const |
template<typename T > | |
bool | getUserValue (const std::string &name, T &value) const |
template<typename T > | |
void | setUserValue (const std::string &name, const T &value) |
virtual void | resizeGLObjectBuffers (unsigned int) |
virtual void | releaseGLObjects (osg::State *=0) const |
template<typename T > | |
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool | getUserValue (const std::string &name, T &value) const |
![]() | |
Referenced () | |
Referenced (bool threadSafeRefUnref) | |
Referenced (const Referenced &) | |
Referenced & | operator= (const Referenced &) |
bool | getThreadSafeRefUnref () const |
OpenThreads::Mutex * | getRefMutex () const |
int | ref () const |
int | unref () const |
int | unref_nodelete () const |
int | referenceCount () const |
ObserverSet * | getObserverSet () const |
ObserverSet * | getOrCreateObserverSet () const |
void | addObserver (Observer *observer) const |
void | removeObserver (Observer *observer) const |
![]() | |
virtual | ~GUIActionAdapter () |
virtual osg::View * | asView () |
virtual bool | computeIntersections (const osgGA::GUIEventAdapter &, osgUtil::LineSegmentIntersector::Intersections &, osg::Node::NodeMask=0xffffffff) |
virtual bool | computeIntersections (const osgGA::GUIEventAdapter &, const osg::NodePath &, osgUtil::LineSegmentIntersector::Intersections &, osg::Node::NodeMask=0xffffffff) |
Protected Attributes | |
osg::ref_ptr< osgGA::EventQueue > | _eventQueue |
![]() | |
Cameras | _cameras |
ref_ptr< Traits > | _traits |
ref_ptr< State > | _state |
Vec4 | _clearColor |
GLbitfield | _clearMask |
OpenThreads::Thread * | _threadOfLastMakeCurrent |
OpenThreads::Mutex | _operationsMutex |
osg::ref_ptr< osg::RefBlock > | _operationsBlock |
GraphicsOperationQueue | _operations |
osg::ref_ptr< Operation > | _currentOperation |
ref_ptr< GraphicsThread > | _graphicsThread |
ref_ptr< ResizedCallback > | _resizedCallback |
ref_ptr< SwapCallback > | _swapCallback |
Timer_t | _lastClearTick |
GLuint | _defaultFboId |
![]() | |
std::string | _name |
DataVariance | _dataVariance |
osg::UserDataContainer * | _userDataContainer |
![]() | |
OpenThreads::AtomicPtr | _observerSet |
OpenThreads::Atomic | _refCount |
Base class for providing Windowing API agnostic access to creating and managing graphics window and events. Note, the GraphicsWindow is subclassed from osg::GraphicsContext, and to provide an implementation you'll need to implement its range of pure virtual functions, you'll find these all have naming convention methodNameImplementation(..). GraphicsWindow adds the event queue on top of the GraphicsContext, thereby adding a mechanism for adapting Windowing events as well as basics graphics context work, you should wire up custom GraphicsWindowImplementation to push their events through into the EventQueue.
Definition at line 42 of file GraphicsWindow.h.
typedef std::list<osgViewer::View*> osgViewer::GraphicsWindow::Views |
Definition at line 195 of file GraphicsWindow.h.
Mouse cursor types, the same ones already present with ancient glut ...
Definition at line 100 of file GraphicsWindow.h.
|
inline |
|
inlinevirtual |
Pure virtual, Bind the graphics context to associated texture implementation. Pure virtual - must be implemented by concrete implementations of GraphicsContext.
Implements osg::GraphicsContext.
Definition at line 187 of file GraphicsWindow.h.
|
inlinevirtual |
Check events, return true if events have been received.
Reimplemented in osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
Definition at line 57 of file GraphicsWindow.h.
|
inlinevirtual |
return the name of the object's class type. Must be defined by derived classes.
Reimplemented from osg::GraphicsContext.
Reimplemented in osgViewer::GraphicsWindowEmbedded, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
Definition at line 50 of file GraphicsWindow.h.
|
inlinevirtual |
Close the graphics context implementation. Pure virtual - must be implemented by concrete implementations of GraphicsContext.
Implements osg::GraphicsContext.
Reimplemented in osgViewer::GraphicsWindowEmbedded, osgQt::GraphicsWindowQt, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
Definition at line 172 of file GraphicsWindow.h.
|
inline |
Definition at line 53 of file GraphicsWindow.h.
|
inline |
Definition at line 54 of file GraphicsWindow.h.
|
inline |
Definition at line 155 of file GraphicsWindow.h.
|
inline |
Definition at line 147 of file GraphicsWindow.h.
void osgViewer::GraphicsWindow::getViews | ( | Views & | views | ) |
Returns the list of views (osgViewer::View) attached to this GraphicsWindow. Internally, the method walks through all the cameras and collects all the views attached to the cameras.
|
inlinevirtual |
Set Window decoration.
Reimplemented in osgQt::GraphicsWindowQt.
Definition at line 88 of file GraphicsWindow.h.
|
inlinevirtual |
Return the name of the window
Reimplemented in osgQt::GraphicsWindowQt.
Definition at line 130 of file GraphicsWindow.h.
|
inlinevirtual |
Get the window's position and size.
Reimplemented in osgQt::GraphicsWindowQt.
Definition at line 72 of file GraphicsWindow.h.
|
inlinevirtual |
Get focus.
Reimplemented in osgViewer::GraphicsWindowEmbedded, osgQt::GraphicsWindowQt, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
Definition at line 91 of file GraphicsWindow.h.
|
inlinevirtual |
Get focus on if the pointer is in this window.
Reimplemented in osgViewer::GraphicsWindowEmbedded, osgQt::GraphicsWindowQt, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
Definition at line 94 of file GraphicsWindow.h.
|
inlinevirtual |
Return true if the graphics context has been realized, and is ready to use, implementation. Pure virtual - must be implemented by concrete implementations of GraphicsContext.
Implements osg::GraphicsContext.
Reimplemented in osgViewer::GraphicsWindowEmbedded, osgQt::GraphicsWindowQt, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
Definition at line 168 of file GraphicsWindow.h.
|
inlinevirtual |
Reimplemented in osgViewer::GraphicsWindowEmbedded, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
Definition at line 48 of file GraphicsWindow.h.
|
inlinevirtual |
return the name of the object's library. Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name.
Reimplemented from osg::GraphicsContext.
Reimplemented in osgViewer::GraphicsWindowEmbedded, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
Definition at line 49 of file GraphicsWindow.h.
|
inlinevirtual |
Make this graphics context current with specified read context implementation. Pure virtual - must be implemented by concrete implementations of GraphicsContext.
Definition at line 180 of file GraphicsWindow.h.
|
inlinevirtual |
Make this graphics context current implementation. Pure virtual - must be implemented by concrete implementations of GraphicsContext.
Implements osg::GraphicsContext.
Reimplemented in osgViewer::GraphicsWindowEmbedded, osgQt::GraphicsWindowQt, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
Definition at line 176 of file GraphicsWindow.h.
|
inlinevirtual |
Raise the window to the top.
Reimplemented in osgViewer::GraphicsWindowEmbedded, osgQt::GraphicsWindowQt, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
Definition at line 97 of file GraphicsWindow.h.
|
inlinevirtual |
Realize the GraphicsContext implementation, Pure virtual - must be implemented by concrete implementations of GraphicsContext.
Implements osg::GraphicsContext.
Reimplemented in osgViewer::GraphicsWindowEmbedded, osgQt::GraphicsWindowQt, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
Definition at line 164 of file GraphicsWindow.h.
|
inlinevirtual |
Release the graphics context.
Implements osg::GraphicsContext.
Reimplemented in osgViewer::GraphicsWindowEmbedded, osgQt::GraphicsWindowQt, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
Definition at line 183 of file GraphicsWindow.h.
|
inlinevirtual |
requestContinuousUpdate(bool) is for en/disabling a throw or idle callback to be requested by a GUIEventHandler (typically a CameraManipulator, though other GUIEventHandler's may also provide functionality). GUI toolkits can respond to this immediately by registering an idle/timed callback, or can delay setting the callback and update at their own leisure.
Implements osgGA::GUIActionAdapter.
Definition at line 204 of file GraphicsWindow.h.
|
virtual |
requestRedraw() requests a single redraw.
Implements osgGA::GUIActionAdapter.
|
inlinevirtual |
requestWarpPointer(int,int) is requesting a repositioning of the mouse pointer to a specified x,y location on the window. This is used by some camera manipulators to initialise the mouse pointer when mouse position relative to a controls neutral mouse position is required, i.e when mimicking an aircraft joystick.
Implements osgGA::GUIActionAdapter.
Reimplemented in osgQt::GraphicsWindowQt, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
Definition at line 207 of file GraphicsWindow.h.
|
inlinevirtual |
Set mouse cursor to a specific shape.
Reimplemented in osgQt::GraphicsWindowQt, and osgViewer::GraphicsWindowWin32.
Definition at line 136 of file GraphicsWindow.h.
|
inline |
Definition at line 52 of file GraphicsWindow.h.
|
inlinevirtual |
Set swap group.
Reimplemented in osgViewer::GraphicsWindowWin32.
Definition at line 150 of file GraphicsWindow.h.
|
inlinevirtual |
Create a new mouse cursor from the usual bitmap data. Set sync-to-vblank.
Reimplemented in osgViewer::GraphicsWindowWin32.
Definition at line 142 of file GraphicsWindow.h.
|
inline |
Set Window decoration.
Definition at line 75 of file GraphicsWindow.h.
|
inlinevirtual |
implementation of setWindowDecoration, should be implemented by derived classes
Reimplemented in osgQt::GraphicsWindowQt, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
Definition at line 84 of file GraphicsWindow.h.
|
inlinevirtual |
Set the name of the window
Reimplemented in osgQt::GraphicsWindowQt, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
Definition at line 127 of file GraphicsWindow.h.
|
inline |
Set the window's position and size.
Definition at line 60 of file GraphicsWindow.h.
|
inlinevirtual |
implementation of setWindowRectangle, should be implemented by derived classes
Reimplemented in osgQt::GraphicsWindowQt, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
Definition at line 69 of file GraphicsWindow.h.
|
inlinevirtual |
Swap the front and back buffers implementation. Pure virtual - must be implemented by concrete implementations of GraphicsContext.
Implements osg::GraphicsContext.
Reimplemented in osgViewer::GraphicsWindowEmbedded, osgQt::GraphicsWindowQt, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
Definition at line 191 of file GraphicsWindow.h.
|
inlinevirtual |
Switch on/off the cursor.
Reimplemented in osgQt::GraphicsWindowQt, and osgViewer::GraphicsWindowWin32.
Definition at line 133 of file GraphicsWindow.h.
|
inlinevirtual |
Return whether a valid and usable GraphicsContext has been created.
Implements osg::GraphicsContext.
Reimplemented in osgViewer::GraphicsWindowEmbedded, osgQt::GraphicsWindowQt, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
Definition at line 160 of file GraphicsWindow.h.
|
protected |
Definition at line 212 of file GraphicsWindow.h.