Equalizer
1.6.1
|
A canvas represents a logical 2D projection surface. More...
#include <canvas.h>
Public Member Functions | |
Canvas (Config *parent) | |
Construct a new canvas. More... | |
virtual | ~Canvas () |
Destruct this canvas. More... | |
Data Access | |
ServerPtr | getServer () |
Public Member Functions inherited from eq::fabric::Canvas< Config, Canvas, Segment, Layout > | |
Config * | getConfig () |
const Config * | getConfig () const |
CanvasPath | getPath () const |
uint32_t | getActiveLayoutIndex () const |
EQFABRIC_INL const Layout * | getActiveLayout () const |
const Segments & | getSegments () const |
Segment * | findSegment (const std::string &name) |
const Segment * | findSegment (const std::string &name) const |
const Layouts & | getLayouts () const |
EQFABRIC_INL void | addLayout (Layout *layout) |
EQFABRIC_INL bool | removeLayout (Layout *layout) |
EQFABRIC_INL void | setSwapBarrier (SwapBarrierPtr barrier) |
SwapBarrierConstPtr | getSwapBarrier () const |
SwapBarrierPtr | getSwapBarrier () |
virtual EQFABRIC_INL void | setWall (const Wall &wall) |
virtual EQFABRIC_INL void | setProjection (const Projection &) |
virtual EQFABRIC_INL void | unsetFrustum () |
virtual EQFABRIC_INL bool | useLayout (const uint32_t index) |
Activate the given layout on this canvas. More... | |
EQFABRIC_INL VisitorResult | accept (Visitor &visitor) |
Traverse this canvas and all children using a canvas visitor. 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 (Segment **segment) |
void | release (Segment *segment) |
Public Member Functions inherited from eq::fabric::Object | |
virtual bool | isDirty () const |
void | setName (const std::string &name) |
Set the name of the object. More... | |
const std::string & | getName () const |
void | setUserData (co::Object *userData) |
Set user-specific data. More... | |
co::Object * | getUserData () |
const co::Object * | getUserData () const |
void | setError (const int32_t error) |
Set an error code why the last operation failed. More... | |
eq::fabric::Error | getError () const |
uint32_t | getTasks () const |
Return the set of tasks this channel might execute in the worst case. More... | |
uint32_t | getSerial () const |
Public Member Functions inherited from eq::fabric::Frustum | |
Frustum () | |
Construct a new frustum. More... | |
virtual | ~Frustum () |
Destruct the frustum. More... | |
void | setWall (const Wall &wall) |
Set the frustum using a wall description. More... | |
void | setProjection (const Projection &projection) |
Set the frustum using a projection description. More... | |
const Wall & | getWall () const |
const Projection & | getProjection () const |
Type | getCurrentType () const |
void | unsetFrustum () |
Set the last specified frustum to TYPE_NONE. More... | |
void | serialize (co::DataOStream &os) |
void | deserialize (co::DataIStream &is) |
Additional Inherited Members | |
Public Types inherited from eq::fabric::Canvas< Config, Canvas, Segment, Layout > | |
typedef std::vector< Canvas * > | Canvases |
A vector of canvases. | |
typedef std::vector< Segment * > | Segments |
A vector of segments. | |
typedef std::vector< Layout * > | Layouts |
A vector of layouts. | |
typedef ElementVisitor< Canvas, LeafVisitor< Segment > > | Visitor |
A Canvas visitor. | |
Public Types inherited from eq::fabric::Object | |
enum | DirtyBits { DIRTY_NAME = Serializable::DIRTY_CUSTOM << 0, DIRTY_USERDATA = Serializable::DIRTY_CUSTOM << 1, DIRTY_ERROR = Serializable::DIRTY_CUSTOM << 2, DIRTY_TASKS = Serializable::DIRTY_CUSTOM << 3, DIRTY_REMOVED = Serializable::DIRTY_CUSTOM << 4, DIRTY_SERIAL = Serializable::DIRTY_CUSTOM << 5, DIRTY_CUSTOM = Serializable::DIRTY_CUSTOM << 6, DIRTY_OBJECT_BITS = DIRTY_NAME | DIRTY_USERDATA | DIRTY_ERROR } |
The changed parts of the object since the last pack(). More... | |
Public Types inherited from eq::fabric::Frustum | |
enum | Type { TYPE_NONE, TYPE_WALL, TYPE_PROJECTION } |
The type of the last specified frustum. More... | |
Protected Member Functions inherited from eq::fabric::Canvas< Config, Canvas, Segment, Layout > | |
EQFABRIC_INL | Canvas (Config *config) |
Construct a new Canvas. | |
virtual EQFABRIC_INL void | attach (const UUID &id, const uint32_t instanceID) |
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) |
virtual void | activateLayout (const uint32_t index) |
Protected Member Functions inherited from eq::fabric::Object | |
Object () | |
Construct a new Object. More... | |
virtual | ~Object () |
Destruct the object. More... | |
virtual bool | hasMasterUserData () |
virtual uint32_t | getUserDataLatency () const |
void | setTasks (const uint32_t tasks) |
void | postRemove (Object *child) |
virtual void | removeChild (const UUID &) |
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) |
bool | _cmdSync (co::ICommand &command) |
Protected Member Functions inherited from eq::fabric::Frustum | |
virtual void | updateFrustum () |
virtual void | notifyFrustumChanged () |
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 0
layout does not render anything, i.e., it is not active.
Definition at line 51 of file client/canvas.h.
eq::Canvas::Canvas | ( | Config * | parent | ) |
Construct a new canvas.
|
virtual |
Destruct this canvas.
Reimplemented from eq::fabric::Canvas< Config, Canvas, Segment, Layout >.