Equalizer  2.0.0
Parallel Rendering Framework
eq::Canvas Class Reference

A canvas represents a logical 2D projection surface. More...

#include <canvas.h>

+ Inheritance diagram for eq::Canvas:
+ Collaboration diagram for eq::Canvas:

Public Member Functions

EQ_API Canvas (Config *parent)
 Construct a new canvas. More...
 
virtual EQ_API ~Canvas ()
 Destruct this canvas. More...
 
Data Access
EQ_API ServerPtr getServer ()
 
- Public Member Functions inherited from eq::fabric::Canvas< Config, Canvas, Segment, Layout >
ConfiggetConfig ()
 
const ConfiggetConfig () const
 
CanvasPath getPath () const
 
uint32_t getActiveLayoutIndex () const
 
EQFABRIC_INL const LayoutgetActiveLayout () const
 
const SegmentsgetSegments () const
 
SegmentfindSegment (const std::string &name)
 
const SegmentfindSegment (const std::string &name) const
 
const LayoutsgetLayouts () 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
EQFABRIC_API bool isDirty () const override
 
EQFABRIC_API uint128_t commit (const uint32_t incarnation=CO_COMMIT_NEXT) override
 
virtual EQFABRIC_API void setName (const std::string &name)
 Set the name of the object. More...
 
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
 
- Public Member Functions inherited from eq::fabric::Frustum
EQFABRIC_API Frustum ()
 Construct a new frustum. More...
 
virtual EQFABRIC_API ~Frustum ()
 Destruct the frustum. More...
 
EQFABRIC_API void setWall (const Wall &wall)
 Set the frustum using a wall description. More...
 
EQFABRIC_API void setProjection (const Projection &projection)
 Set the frustum using a projection description. More...
 
const WallgetWall () const
 
const ProjectiongetProjection () const
 
Type getCurrentType () const
 
EQFABRIC_API void unsetFrustum ()
 Set the last specified frustum to TYPE_NONE. More...
 
EQFABRIC_API void serialize (co::DataOStream &os)
 
EQFABRIC_API 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_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...
 
- 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 uint128_t &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
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 notifyDetach () override
 
EQFABRIC_API void serialize (co::DataOStream &os, const uint64_t dirtyBits) override
 
EQFABRIC_API void deserialize (co::DataIStream &is, const uint64_t dirtyBits) override
 
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)
 
EQFABRIC_API void updateEvent (Event &event, int64_t time)
 
- Protected Member Functions inherited from eq::fabric::Frustum
virtual void updateFrustum ()
 
virtual void notifyFrustumChanged ()
 

Detailed Description

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.

See also
fabric::Canvas for public methods

Definition at line 50 of file canvas.h.

Constructor & Destructor Documentation

EQ_API eq::Canvas::Canvas ( Config parent)
explicit

Construct a new canvas.

Version
1.0
virtual EQ_API eq::Canvas::~Canvas ( )
virtual

Destruct this canvas.

Version
1.0

Reimplemented from eq::fabric::Canvas< Config, Canvas, Segment, Layout >.

Member Function Documentation

EQ_API ServerPtr eq::Canvas::getServer ( )
Returns
the Server of this canvas.
Version
1.0

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