Equalizer  1.8.0
Parallel Rendering Framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
eqPly::Window Class Reference

A window represent an OpenGL drawable and context. More...

#include <window.h>

+ Inheritance diagram for eqPly::Window:
+ Collaboration diagram for eqPly::Window:

Public Member Functions

 Window (eq::Pipe *parent)
 
const eq::util::TexturegetLogoTexture () const
 
VertexBufferStategetState ()
 
- Public Member Functions inherited from eq::Window
EQ_API Window (Pipe *parent)
 Construct a new window. More...
 
EQ_API co::CommandQueue * getPipeThreadQueue ()
 
EQ_API co::CommandQueue * getCommandThreadQueue ()
 
EQ_API uint32_t getCurrentFrame () const
 
EQ_API const NodegetNode () const
 
EQ_API NodegetNode ()
 
EQ_API const ConfiggetConfig () const
 
EQ_API ConfiggetConfig ()
 
EQ_API ClientPtr getClient ()
 
EQ_API ServerPtr getServer ()
 
bool isRunning () const
 
bool isStopped () const
 
EQ_API bool getRenderContext (const int32_t x, const int32_t y, RenderContext &context) const
 Get the last rendering context at the x, y position. More...
 
EQ_API void setSharedContextWindow (const Window *sharedContextWindow)
 Set the window with which this window shares the OpenGL context. More...
 
EQ_API const WindowgetSharedContextWindow () const
 
util::ObjectManagergetObjectManager ()
 
const util::ObjectManagergetObjectManager () const
 
EQ_API const util::BitmapFontgetSmallFont ()
 
EQ_API const util::BitmapFontgetMediumFont ()
 
EQ_API const GLEWContext * glewGetContext () const
 Get the GLEW context for this window. More...
 
EQ_API const GLEWContext * getTransferGlewContext ()
 
EQ_API uint32_t getColorFormat () const
 
EQ_API void setSystemWindow (SystemWindow *window)
 Set the OS-specific window. More...
 
const SystemWindowgetSystemWindow () const
 
SystemWindowgetSystemWindow ()
 
const SystemPipegetSystemPipe () const
 
SystemPipegetSystemPipe ()
 
bool createTransferWindow ()
 
void deleteTransferSystemWindow ()
 
EQ_API EventOCommand sendError (const uint32_t error) final
 Send a window error event to the application node. More...
 
virtual EQ_API bool processEvent (const Event &event)
 Process a received event. More...
 
virtual EQ_API void flush () const
 Flush outstanding rendering requests. More...
 
virtual EQ_API void finish () const
 Finish outstanding rendering requests. More...
 
virtual EQ_API void swapBuffers ()
 Swap the front and back buffer of the window. More...
 
virtual EQ_API void drawFPS ()
 Render the current framerate as on overlay. More...
 
float getFPS () const
 
virtual EQ_API void makeCurrent (const bool cache=true) const
 Make the window's drawable and context current. More...
 
void makeCurrentTransfer (const bool cache=true) const
 
virtual EQ_API void bindFrameBuffer () const
 
virtual EQ_API void notifyViewportChanged ()
 
- Public Member Functions inherited from eq::fabric::Window< Pipe, Window, Channel, WindowSettings >
EQFABRIC_INL WindowPath getPath () const
 
void init ()
 
const P * getPipe () const
 
P * getPipe ()
 
const ChannelsgetChannels () const
 
const DrawableConfiggetDrawableConfig () const
 
EQFABRIC_INL const PixelViewportgetPixelViewport () const
 
const ViewportgetViewport () const
 
EQFABRIC_INL void setName (const std::string &name) final
 Set the window's name/caption. More...
 
virtual EQFABRIC_INL void setPixelViewport (const PixelViewport &pvp)
 Set the window's pixel viewport wrt its parent pipe. More...
 
EQFABRIC_INL void setViewport (const Viewport &vp)
 Set the window's viewport wrt its parent pipe. More...
 
bool hasFixedViewport () const
 
EQFABRIC_INL VisitorResult accept (Visitor &visitor)
 Perform a depth-first traversal of this window. More...
 
EQFABRIC_INL VisitorResult accept (Visitor &visitor) const
 Const-version of accept(). More...
 
virtual EQFABRIC_INL void backup ()
 
virtual EQFABRIC_INL void restore ()
 
void create (C **channel)
 
void release (C *channel)
 
virtual void output (std::ostream &) const
 
virtual EQFABRIC_INL uint128_t commit (const uint32_t incarnation=CO_COMMIT_NEXT)
 
EQFABRIC_INL void setSettings (const Settings &settings)
 Set the settings of this window. More...
 
EQFABRIC_INL const Settings & getSettings () const
 
EQFABRIC_INL void setIAttribute (const WindowSettings::IAttribute attr, const int32_t value)
 Set a window attribute. More...
 
EQFABRIC_INL int32_t getIAttribute (const WindowSettings::IAttribute attr) const
 
- Public Member Functions inherited from eq::fabric::Object
virtual EQFABRIC_API bool isDirty () const
 
EQFABRIC_API const std::string & getName () const
 
EQFABRIC_API void setUserData (co::Object *userData)
 Set user-specific data. More...
 
EQFABRIC_API co::Object * getUserData ()
 
EQFABRIC_API const co::Object * getUserData () const
 
EQFABRIC_API uint32_t getTasks () const
 Return the set of tasks this channel might execute in the worst case. More...
 
EQFABRIC_API uint32_t getSerial () const
 

Protected Member Functions

virtual ~Window ()
 Destruct the window. More...
 
virtual bool configInitSystemWindow (const eq::uint128_t &initID)
 Initialize the OS-specific window. More...
 
virtual bool configInitGL (const eq::uint128_t &initID)
 Initialize the OpenGL state for this window. More...
 
virtual bool configExitGL ()
 De-initialize the OpenGL state for this window. More...
 
virtual void frameStart (const eq::uint128_t &frameID, const uint32_t frameNumber)
 Start rendering a frame. More...
 
- Protected Member Functions inherited from eq::Window
virtual EQ_API void attach (const uint128_t &id, const uint32_t instanceID)
 
virtual EQ_API bool configInit (const uint128_t &initID)
 Initialize this window. More...
 
virtual EQ_API bool configExit ()
 Exit this window. More...
 
virtual EQ_API bool configExitSystemWindow ()
 De-initialize the OS-specific window. More...
 
virtual EQ_API void frameFinish (const uint128_t &frameID, const uint32_t frameNumber)
 Finish rendering a frame. More...
 
virtual EQ_API void frameDrawFinish (const uint128_t &frameID, const uint32_t frameNumber)
 Finish drawing. More...
 
EQ_API void startFrame (const uint32_t frameNumber)
 Start a frame by unlocking all child resources. More...
 
EQ_API void releaseFrame (const uint32_t frameNumber)
 Signal the completion of a frame to the parent. More...
 
EQ_API void releaseFrameLocal (const uint32_t frameNumber)
 Signal the release of the local synchronization to the parent. More...
 
- Protected Member Functions inherited from eq::fabric::Window< Pipe, Window, Channel, WindowSettings >
 Window (P *parent)
 
virtual EQFABRIC_INL void serialize (co::DataOStream &os, const uint64_t dirtyBits)
 
virtual EQFABRIC_INL void deserialize (co::DataIStream &is, const uint64_t dirtyBits)
 
virtual EQFABRIC_INL void notifyDetach ()
 
virtual EQFABRIC_INL void setDirty (const uint64_t bits)
 
void _setDrawableConfig (const DrawableConfig &drawableConfig)
 
virtual ChangeType getChangeType () const
 
C * _findChannel (const uint128_t &id)
 
virtual uint64_t getRedistributableBits () const
 
- Protected Member Functions inherited from eq::fabric::Object
EQFABRIC_API Object ()
 Construct a new Object. More...
 
EQFABRIC_API Object (const Object &)
 Construct an unmapped, unregistered copy of an object. More...
 
virtual EQFABRIC_API ~Object ()
 Destruct the object. More...
 
EQFABRIC_API Objectoperator= (const Object &from)
 NOP assignment operator. More...
 
virtual bool hasMasterUserData ()
 
virtual uint32_t getUserDataLatency () const
 
EQFABRIC_API void setTasks (const uint32_t tasks)
 
EQFABRIC_API void postRemove (Object *child)
 
virtual void removeChild (const uint128_t &)
 
template<class C , class S >
void commitChild (C *child, S *sender, uint32_t cmd, const uint32_t incarnation)
 
template<class C >
void commitChild (C *child, const uint32_t incarnation)
 
template<class C , class S >
void commitChildren (const std::vector< C * > &children, S *sender, uint32_t cmd, const uint32_t incarnation)
 
template<class C >
void commitChildren (const std::vector< C * > &children, uint32_t cmd, const uint32_t incarnation)
 
template<class C >
void commitChildren (const std::vector< C * > &children, const uint32_t incarnation)
 
template<class C >
void syncChildren (const std::vector< C * > &children)
 
template<class P , class C >
void releaseChildren (const std::vector< C * > &children)
 
EQFABRIC_API bool _cmdSync (co::ICommand &command)
 

Additional Inherited Members

- Public Types inherited from eq::fabric::Window< Pipe, Window, Channel, WindowSettings >
typedef std::vector< C * > Channels
 A vector of pointers to channels. More...
 
typedef ElementVisitor< W,
LeafVisitor< C > > 
Visitor
 The Window visitor type. More...
 
- Public Types inherited from eq::fabric::Object
enum  DirtyBits {
  DIRTY_NAME = Serializable::DIRTY_CUSTOM << 0, DIRTY_USERDATA = Serializable::DIRTY_CUSTOM << 1, DIRTY_TASKS = Serializable::DIRTY_CUSTOM << 2, DIRTY_REMOVED = Serializable::DIRTY_CUSTOM << 3,
  DIRTY_SERIAL = Serializable::DIRTY_CUSTOM << 4, DIRTY_CUSTOM = Serializable::DIRTY_CUSTOM << 6, DIRTY_OBJECT_BITS = DIRTY_NAME | DIRTY_USERDATA
}
 The changed parts of the object since the last pack(). More...
 
- Static Public Member Functions inherited from eq::fabric::Window< Pipe, Window, Channel, WindowSettings >
static EQFABRIC_INL const
std::string & 
getIAttributeString (const WindowSettings::IAttribute attr)
 
- Protected Types inherited from eq::fabric::Window< Pipe, Window, Channel, WindowSettings >
enum  DirtyBits
 

Detailed Description

A window represent an OpenGL drawable and context.

Manages OpenGL-specific data, i.e., it creates the logo texture during initialization and holds a state object for GL object creation. It initializes the OpenGL state and draws the statistics overlay.

Definition at line 45 of file share/Equalizer/examples/eqPly/window.h.

Constructor & Destructor Documentation

virtual eqPly::Window::~Window ( )
inlineprotectedvirtual

Destruct the window.

Version
1.0

Reimplemented from eq::Window.

Definition at line 55 of file share/Equalizer/examples/eqPly/window.h.

Member Function Documentation

bool eqPly::Window::configExitGL ( )
protectedvirtual

De-initialize the OpenGL state for this window.

Version
1.0

Reimplemented from eq::Window.

Definition at line 99 of file eqPly/window.cpp.

References eq::Window::configExitGL().

+ Here is the call graph for this function:

bool eqPly::Window::configInitGL ( const eq::uint128_t &  initID)
protectedvirtual

Initialize the OpenGL state for this window.

Parameters
initIDthe init identifier.
Returns
true if the initialization was successful, false if not.
Version
1.0

Reimplemented from eq::Window.

Definition at line 75 of file eqPly/window.cpp.

References eq::Window::configInitGL(), eq::Window::getConfig(), and eq::Window::getObjectManager().

+ Here is the call graph for this function:

bool eqPly::Window::configInitSystemWindow ( const eq::uint128_t &  initID)
protectedvirtual
void eqPly::Window::frameStart ( const eq::uint128_t &  frameID,
const uint32_t  frameNumber 
)
protectedvirtual

Start rendering a frame.

Called once at the beginning of each frame, to do per-frame updates of window-specific data. This method has to call startFrame().

Parameters
frameIDthe per-frame identifier.
frameNumberthe frame to start.
Version
1.0

Reimplemented from eq::Window.

Definition at line 208 of file eqPly/window.cpp.

References eq::Window::frameStart(), and eq::fabric::Window< Pipe, Window, Channel, WindowSettings >::getPipe().

+ Here is the call graph for this function:


The documentation for this class was generated from the following files: