eq::View Class Reference

A View is a 2D area of a Layout. More...

#include <view.h>

Inheritance diagram for eq::View:

Inheritance graph
[legend]
Collaboration diagram for eq::View:

Collaboration graph
[legend]

List of all members.

Public Member Functions

Data Access.
const ViewportgetViewport () const
ConfiggetConfig ()
const ConfiggetConfig () const
LayoutgetLayout ()
const LayoutgetLayout () const
ObservergetObserver ()
const ObservergetObserver () const
void setOverdraw (const Vector2i &pixels)
const Vector2igetOverdraw () const
Operations
VisitorResult accept (ViewVisitor &visitor)
 Traverse this view using a view visitor.
virtual bool handleEvent (const Event &event)
 Handle a received (view) event.

Protected Types

enum  DirtyBits {
  DIRTY_VIEWPORT = Frustum::DIRTY_CUSTOM << 0, DIRTY_OBSERVER = Frustum::DIRTY_CUSTOM << 1, DIRTY_OVERDRAW = Frustum::DIRTY_CUSTOM << 2, DIRTY_FILL1 = Frustum::DIRTY_CUSTOM << 3,
  DIRTY_FILL2 = Frustum::DIRTY_CUSTOM << 4, DIRTY_CUSTOM = Frustum::DIRTY_CUSTOM << 5
}
 The changed parts of the frustum since the last pack(). More...

Protected Member Functions

virtual void serialize (net::DataOStream &os, const uint64_t dirtyBits)
virtual void deserialize (net::DataIStream &is, const uint64_t dirtyBits)
const FrustumgetBaseFrustum () const
virtual ChangeType getChangeType () const

Friends

class Layout
class Pipe
class server::View


Detailed Description

A View is a 2D area of a Layout.

It is a view of the application's data on a model, in the sense used by the MVC pattern. It can be a scene, viewing mode, viewing position, or any other representation of the application's data.

Definition at line 45 of file lib/client/view.h.


Member Enumeration Documentation

enum eq::View::DirtyBits [protected]

The changed parts of the frustum since the last pack().

Reimplemented from eq::Frustum.

Definition at line 109 of file lib/client/view.h.


Member Function Documentation

const Viewport & eq::View::getViewport (  )  const

Returns:
the viewport of the view.

Definition at line 121 of file lib/client/view.cpp.

Referenced by eq::server::Config::addCanvas(), and eq::server::Compound::updateFrustum().

Here is the caller graph for this function:

Config * eq::View::getConfig (  ) 

Returns:
the config of this view.

Reimplemented in eq::server::View.

Definition at line 83 of file lib/client/view.cpp.

References eq::Pipe::getConfig(), and eq::Layout::getConfig().

Referenced by deserialize().

Here is the call graph for this function:

Here is the caller graph for this function:

const Config * eq::View::getConfig (  )  const

Returns:
the config of this view.

Reimplemented in eq::server::View.

Definition at line 102 of file lib/client/view.cpp.

References eq::Pipe::getConfig(), and eq::Layout::getConfig().

Here is the call graph for this function:

Layout* eq::View::getLayout (  )  [inline]

Returns:
the layout of this view.

Reimplemented in eq::server::View.

Definition at line 63 of file lib/client/view.h.

Referenced by eqPly::Config::handleEvent().

Here is the caller graph for this function:

const Layout* eq::View::getLayout (  )  const [inline]

Returns:
the layout of this view.

Reimplemented in eq::server::View.

Definition at line 66 of file lib/client/view.h.

Observer* eq::View::getObserver (  )  [inline]

Returns:
the entity tracking this view, 0 for untracked views.

Definition at line 69 of file lib/client/view.h.

void eq::View::setOverdraw ( const Vector2i pixels  ) 

Warning:
Undocumented - may not be supported in the future

Definition at line 126 of file lib/client/view.cpp.

References eq::Object::setDirty().

Here is the call graph for this function:

VisitorResult eq::View::accept ( ViewVisitor visitor  ) 

Traverse this view using a view visitor.

Parameters:
visitor the visitor.
Returns:
the result of the visitor traversal.

Definition at line 132 of file lib/client/view.cpp.

References eq::ViewVisitor::visit().

Referenced by eq::Layout::accept().

Here is the call graph for this function:

Here is the caller graph for this function:

bool eq::View::handleEvent ( const Event event  )  [virtual]

Handle a received (view) event.

The task of this method is to update the view as necessary. It is called by Config::handleEvent on the application main thread for all view events.

Parameters:
event the received view event.
Returns:
true when the event was handled, false if not.

Definition at line 137 of file lib/client/view.cpp.

References eq::ResizeEvent::dh, eq::ResizeEvent::dw, eq::Frustum::getCurrentType(), eq::Frustum::getProjection(), eq::Frustum::getWall(), eq::Frustum::setProjection(), eq::Frustum::setWall(), eq::Event::type, eq::Frustum::TYPE_NONE, eq::Frustum::TYPE_PROJECTION, eq::Frustum::TYPE_WALL, and eq::Event::VIEW_RESIZE.

Referenced by eq::Config::handleEvent().

Here is the call graph for this function:

Here is the caller graph for this function:

void eq::View::serialize ( net::DataOStream os,
const uint64_t  dirtyBits 
) [protected, virtual]

See also:
Frustum::serialize()

Reimplemented from eq::Frustum.

Definition at line 46 of file lib/client/view.cpp.

References eq::net::Object::getID().

Here is the call graph for this function:

void eq::View::deserialize ( net::DataIStream is,
const uint64_t  dirtyBits 
) [protected, virtual]

See also:
Frustum::deserialize()

Reimplemented from eq::Frustum.

Reimplemented in eq::server::View.

Definition at line 57 of file lib/client/view.cpp.

References eq::Config::findObserver(), and getConfig().

Here is the call graph for this function:

const Frustum& eq::View::getBaseFrustum (  )  const [inline, protected]

Returns:
the initial frustum value of this view.

Definition at line 120 of file lib/client/view.h.

virtual ChangeType eq::View::getChangeType (  )  const [inline, protected, virtual]

Returns:
how the changes are to be handled.

Reimplemented from eq::Object.

Definition at line 122 of file lib/client/view.h.

References eq::net::Object::DELTA.


The documentation for this class was generated from the following files:
Generated on Mon Aug 10 18:58:43 2009 for Equalizer 0.9 by  doxygen 1.5.8