Equalizer
2.1.0
Parallel Rendering Framework
|
A canvas represents a logical 2D projection surface. More...
#include <canvas.h>
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 > | |
Config * | getConfig () |
const Config * | getConfig () const |
CanvasPath | getPath () const |
uint32_t | getActiveLayoutIndex () const |
EQFABRIC_INL const Layout * | getActiveLayout () const |
EQFABRIC_INL Layout * | getActiveLayout () |
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 | |
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 Wall & | getWall () const |
const Projection & | getProjection () 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 Object & | operator= (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 () |
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.
|
explicit |
Construct a new canvas.
|
virtual |
Destruct this canvas.
Reimplemented from eq::fabric::Canvas< Config, Canvas, Segment, Layout >.