Public Member Functions | Protected Member Functions | Friends

eq::server::Window Class Reference

The window. More...

#include <window.h>

Inheritance diagram for eq::server::Window:
Collaboration diagram for eq::server::Window:

List of all members.

Public Member Functions

 Window (Pipe *parent)
 Constructs a new Window.
void send (net::ObjectPacket &packet)
Data Access

NodegetNode ()
const NodegetNode () const
ConfiggetConfig ()
const ConfiggetConfig () const
ServerPtr getServer ()
ChannelgetChannel (const ChannelPath &path)
net::CommandQueuegetMainThreadQueue ()
net::CommandQueuegetCommandThreadQueue ()
void activate ()
 Increase window activition count.
void deactivate ()
 Decrease window activition count.
State getState () const
void setState (const State state)
bool isActive () const
bool isStopped () const
bool isRunning () const
bool needsDelete () const
void postDelete ()
 Schedule deletion of this window.
void addTasks (const uint32_t tasks)
 Add additional tasks this window, and all its parents, might potentially execute.
net::BarrierjoinSwapBarrier (net::Barrier *barrier)
 Join a swap barrier for the next update.
net::BarrierjoinNVSwapBarrier (const SwapBarrier *swapBarrier, net::Barrier *netBarrier)
 Join a NV_swap_group barrier for the next update.
bool hasNVSwapBarrier () const
void setLastDrawChannel (const Channel *channel)
 The last drawing channel for this entity.
const ChannelgetLastDrawChannel () const
void setMaxFPS (const float fps)
 The maximum frame rate for this window.
float getMaxFPS () const
Operations

void configInit (const uint32_t initID, const uint32_t frameNumber)
 Start initializing this entity.
bool syncConfigInit ()
 Sync initialization of this entity.
void configExit ()
 Start exiting this entity.
bool syncConfigExit ()
 Sync exit of this entity.
void updateDraw (const uint32_t frameID, const uint32_t frameNumber)
 Update one frame.
void updatePost (const uint32_t frameID, const uint32_t frameNumber)
 Trigger the post-draw operations.

Protected Member Functions

virtual void attachToSession (const uint32_t id, const uint32_t instanceID, net::Session *session)
virtual void deserialize (eq::net::DataIStream &, const uint64_t)
 Worker for unpack() and applyInstanceData().
virtual void removeChild (const uint32_t id)

Friends

std::ostream & operator<< (std::ostream &, const Window *)

Detailed Description

The window.

Definition at line 42 of file server/window.h.


Member Function Documentation

void eq::server::Window::activate (  ) 

Increase window activition count.

Definition at line 172 of file server/window.cpp.

References eq::server::Pipe::activate(), EQLOG, and eq::fabric::Window< Pipe, Window, Channel >::getPipe().

Here is the call graph for this function:

void eq::server::Window::attachToSession ( const uint32_t  id,
const uint32_t  instanceID,
net::Session session 
) [protected, virtual]
See also:
net::Object::attachToSession.

Reimplemented from eq::fabric::Window< Pipe, Window, Channel >.

Definition at line 70 of file server/window.cpp.

References eq::net::Dispatcher::registerCommand().

Here is the call graph for this function:

void eq::server::Window::configExit (  ) 

Start exiting this entity.

Definition at line 351 of file server/window.cpp.

References EQLOG, eq::net::Object::getID(), eq::fabric::Window< Pipe, Window, Channel >::getPipe(), isRunning(), eq::LOG_INIT, needsDelete(), eq::server::STATE_DELETE, eq::server::STATE_EXITING, and eq::server::STATE_INIT_FAILED.

Referenced by syncConfigInit().

Here is the call graph for this function:

Here is the caller graph for this function:

void eq::server::Window::configInit ( const uint32_t  initID,
const uint32_t  frameNumber 
)

Start initializing this entity.

Definition at line 310 of file server/window.cpp.

References EQLOG, eq::net::Object::getID(), eq::fabric::Window< Pipe, Window, Channel >::getPipe(), eq::LOG_INIT, eq::LOG_TASKS, needsDelete(), and eq::server::STATE_STOPPED.

Here is the call graph for this function:

void eq::server::Window::deactivate (  ) 

Decrease window activition count.

Definition at line 184 of file server/window.cpp.

References eq::server::Pipe::deactivate(), EQLOG, and eq::fabric::Window< Pipe, Window, Channel >::getPipe().

Here is the call graph for this function:

void eq::server::Window::deserialize ( eq::net::DataIStream ,
const uint64_t  uint64_t 
) [protected, virtual]

Worker for unpack() and applyInstanceData().

This function is called with the dirty bits send by the master instance. The dirty bits are received beforehand, and do not need to be deserialized by the overriding method.

See also:
serialize()
Version:
1.0

Reimplemented from eq::fabric::Window< Pipe, Window, Channel >.

Definition at line 83 of file server/window.cpp.

References eq::net::Object::isMaster(), and eq::fabric::Window< Pipe, Window, Channel >::setDirty().

Here is the call graph for this function:

ServerPtr eq::server::Window::getServer (  ) 
Returns:
the Server of this window.

Definition at line 140 of file server/window.cpp.

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

Here is the call graph for this function:

State eq::server::Window::getState (  )  const [inline]
Returns:
the state of this window.

Definition at line 77 of file server/window.h.

References eq::base::Monitor< T >::get().

Here is the call graph for this function:

bool eq::server::Window::hasNVSwapBarrier (  )  const [inline]
Returns:
true if this window has entered a NV_swap_group.

Definition at line 126 of file server/window.h.

bool eq::server::Window::isActive (  )  const [inline]
Returns:
if this window is actively used for rendering.

Definition at line 83 of file server/window.h.

Referenced by syncConfigExit(), eq::server::Pipe::update(), and updateDraw().

Here is the caller graph for this function:

bool eq::server::Window::isRunning (  )  const [inline]
Returns:
true if this window is running.

Definition at line 89 of file server/window.h.

Referenced by configExit(), eq::server::Pipe::update(), and updateDraw().

Here is the caller graph for this function:

bool eq::server::Window::isStopped (  )  const [inline]
Returns:
true if this window is stopped.

Definition at line 86 of file server/window.h.

net::Barrier * eq::server::Window::joinNVSwapBarrier ( const SwapBarrier swapBarrier,
net::Barrier netBarrier 
)

Join a NV_swap_group barrier for the next update.

Parameters:
swapBarrier the swap barrier containing the NV_swap_group parameters.
netBarrier the net::Barrier to protect the entry from the NV_swap_group , or 0 if this is the first window entering.
Returns:
the net::Barrier for protecting the swap group entry.

Definition at line 275 of file server/window.cpp.

References eq::server::Node::getBarrier(), and eq::net::Barrier::increase().

Here is the call graph for this function:

net::Barrier * eq::server::Window::joinSwapBarrier ( net::Barrier barrier  ) 

Join a swap barrier for the next update.

Parameters:
barrier the net::Barrier for the swap barrier group, or 0 if this is the first window.
Returns:
the net::Barrier for the swap barrier group.

Definition at line 224 of file server/window.cpp.

References find(), eq::server::Node::getBarrier(), eq::fabric::Window< Pipe, Window, Channel >::getPipe(), eq::fabric::Pipe< N, P, W, V >::getWindows(), and eq::net::Barrier::increase().

Here is the call graph for this function:

bool eq::server::Window::needsDelete (  )  const [inline]
Returns:
true if this window should be deleted.

Definition at line 92 of file server/window.h.

Referenced by configExit(), configInit(), syncConfigExit(), and syncConfigInit().

Here is the caller graph for this function:

void eq::server::Window::postDelete (  ) 

Schedule deletion of this window.

Definition at line 100 of file server/window.cpp.

References eq::base::Monitor< T >::get(), eq::fabric::Window< Pipe, Window, Channel >::getChannels(), and eq::server::Config::postNeedsFinish().

Here is the call graph for this function:

bool eq::server::Window::syncConfigExit (  ) 

Sync exit of this entity.

Definition at line 370 of file server/window.cpp.

References isActive(), needsDelete(), eq::server::STATE_DELETE, eq::server::STATE_EXIT_FAILED, eq::server::STATE_EXITING, eq::server::STATE_FAILED, and eq::base::Monitor< T >::waitNE().

Here is the call graph for this function:

bool eq::server::Window::syncConfigInit (  ) 

Sync initialization of this entity.

Definition at line 329 of file server/window.cpp.

References configExit(), EQWARN, eq::fabric::Object::getErrorMessage(), needsDelete(), eq::server::STATE_INIT_FAILED, eq::server::STATE_INIT_SUCCESS, eq::server::STATE_INITIALIZING, and eq::base::Monitor< T >::waitNE().

Here is the call graph for this function:

void eq::server::Window::updateDraw ( const uint32_t  frameID,
const uint32_t  frameNumber 
)

Update one frame.

Parameters:
frameID a per-frame identifier passed to all rendering methods.
frameNumber the number of the frame.

Definition at line 387 of file server/window.cpp.

References EQLOG, eq::fabric::Window< Pipe, Window, Channel >::getChannels(), eq::net::Object::getVersion(), eq::server::Channel::isActive(), isActive(), eq::server::Channel::isRunning(), isRunning(), eq::LOG_TASKS, and eq::server::Channel::update().

Referenced by eq::server::Pipe::update().

Here is the call graph for this function:

Here is the caller graph for this function:

void eq::server::Window::updatePost ( const uint32_t  frameID,
const uint32_t  frameNumber 
)

Trigger the post-draw operations.

Parameters:
frameID a per-frame identifier passed to all rendering methods.
frameNumber the number of the frame.

Definition at line 420 of file server/window.cpp.

References EQLOG, and eq::LOG_TASKS.

Referenced by eq::server::Pipe::update().

Here is the caller graph for this function:


The documentation for this class was generated from the following files:
Generated on Sun Aug 29 2010 13:54:00 for Equalizer 0.9.1 by  doxygen 1.7.1