A canvas represents a logical 2D projection surface. More...
#include <canvas.h>


Public Member Functions | |
| Canvas () | |
| Construct a new Canvas. | |
| virtual | ~Canvas () |
| Destruct this canvas. | |
Data Access | |
| Config * | getConfig () |
| const Config * | getConfig () const |
| uint32_t | getActiveLayoutIndex () const |
| const Layout * | getActiveLayout () const |
| const SegmentVector & | getSegments () const |
| const LayoutVector & | getLayouts () const |
Operations | |
| virtual void | useLayout (const uint32_t index) |
| Activate the given layout on this canvas. | |
| VisitorResult | accept (CanvasVisitor &visitor) |
| Traverse this canvas and all children using a canvas visitor. | |
| VisitorResult | accept (CanvasVisitor &visitor) const |
| Const-version of accept(). | |
| bool | hasDirtyLayout () const |
Protected Types | |
| enum | DirtyBits { DIRTY_LAYOUT = Frustum::DIRTY_CUSTOM << 0, DIRTY_CHILDREN = Frustum::DIRTY_CUSTOM << 1, DIRTY_FILL1 = Frustum::DIRTY_CUSTOM << 2, DIRTY_FILL2 = Frustum::DIRTY_CUSTOM << 3, DIRTY_CUSTOM = Frustum::DIRTY_CUSTOM << 4 } |
The changed parts of the frustum since the last pack(). More... | |
Protected Member Functions | |
| void | serialize (net::DataOStream &os, const uint64_t dirtyBits) |
| virtual void | deserialize (net::DataIStream &is, const uint64_t dirtyBits) |
Friends | |
| class | Config |
| class | server::Canvas |
A canvas represents a logical 2D projection surface.
A canvas consists of one or more Segment, which represent the physical output channels. Segments have a viewport, which defines which part of the logical 2D projection surface they occupy. Segments overlap each other when edge-blending is used, and have gaps for display walls. Passive stereo systems use one segment for each eye pass, so that two segments have the same viewport. Application windows typically use one canvas per Window.
A canvas has a Frustum, which is used to compute a sub-frustum for segments which have no frustum specified. This is useful for planar projection systems.
A canvas has one ore more layouts, of which one Layout is the active layout, defining the set of logical views currently used to render on the canvas. The layout can be switched at runtime. A canvas with a NULL layout does not render anything, i.e., it is not active.
Definition at line 56 of file lib/client/canvas.h.
enum eq::Canvas::DirtyBits [protected] |
The changed parts of the frustum since the last pack().
Reimplemented from eq::Frustum.
Definition at line 113 of file lib/client/canvas.h.
| eq::Canvas::Canvas | ( | ) |
Construct a new Canvas.
Definition at line 33 of file lib/client/canvas.cpp.
| eq::Canvas::~Canvas | ( | ) | [virtual] |
Destruct this canvas.
Definition at line 39 of file lib/client/canvas.cpp.
| Config* eq::Canvas::getConfig | ( | ) | [inline] |
Definition at line 68 of file lib/client/canvas.h.
Referenced by eq::Segment::getConfig().

| const Config* eq::Canvas::getConfig | ( | ) | const [inline] |
Definition at line 70 of file lib/client/canvas.h.
| uint32_t eq::Canvas::getActiveLayoutIndex | ( | ) | const [inline] |
Definition at line 73 of file lib/client/canvas.h.
| const Layout * eq::Canvas::getActiveLayout | ( | ) | const |
Definition at line 114 of file lib/client/canvas.cpp.
Referenced by eVolve::Config::handleEvent(), and eqPly::Config::handleEvent().

| const SegmentVector& eq::Canvas::getSegments | ( | ) | const [inline] |
Definition at line 79 of file lib/client/canvas.h.
| const LayoutVector& eq::Canvas::getLayouts | ( | ) | const [inline] |
Definition at line 82 of file lib/client/canvas.h.
| void eq::Canvas::useLayout | ( | const uint32_t | index | ) | [virtual] |
Activate the given layout on this canvas.
Definition at line 120 of file lib/client/canvas.cpp.
References eq::Object::setDirty().

| VisitorResult eq::Canvas::accept | ( | CanvasVisitor & | visitor | ) |
Traverse this canvas and all children using a canvas visitor.
| visitor | the visitor. |
Definition at line 174 of file lib/client/canvas.cpp.
| VisitorResult eq::Canvas::accept | ( | CanvasVisitor & | visitor | ) | const |
Const-version of accept().
Definition at line 179 of file lib/client/canvas.cpp.
| bool eq::Canvas::hasDirtyLayout | ( | ) | const [inline] |
For internal use only.
Definition at line 102 of file lib/client/canvas.h.
References eq::Object::getDirty().
Referenced by eq::ConfigCommitVisitor::visitPre().


| void eq::Canvas::serialize | ( | net::DataOStream & | os, | |
| const uint64_t | dirtyBits | |||
| ) | [protected, virtual] |
Reimplemented from eq::Frustum.
Definition at line 44 of file lib/client/canvas.cpp.
| void eq::Canvas::deserialize | ( | net::DataIStream & | is, | |
| const uint64_t | dirtyBits | |||
| ) | [protected, virtual] |
Reimplemented from eq::Frustum.
Definition at line 54 of file lib/client/canvas.cpp.
References eq::NodeFactory::createSegment(), eq::Config::findLayout(), eq::Global::getNodeFactory(), and eq::net::Session::mapObject().

0.9.1 by
1.6.1