Equalizer  1.6.1
Public Member Functions | List of all members
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

 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 >
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
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 WallgetWall () const
 
const ProjectiongetProjection () 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 ()
 

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 51 of file client/canvas.h.

Constructor & Destructor Documentation

eq::Canvas::Canvas ( Config parent)

Construct a new canvas.

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

Destruct this canvas.

Version
1.0

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

Member Function Documentation

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

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