Equalizer  1.13.0
Parallel Rendering Framework
eq::fabric::Canvas< CFG, C, S, L > Class Template Reference

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

#include <canvas.h>

+ Inheritance diagram for eq::fabric::Canvas< CFG, C, S, L >:
+ Collaboration diagram for eq::fabric::Canvas< CFG, C, S, L >:

Public Types

typedef std::vector< C * > Canvases
 A vector of canvases.
 
typedef std::vector< S * > Segments
 A vector of segments.
 
typedef std::vector< L * > Layouts
 A vector of layouts.
 
typedef ElementVisitor< C, LeafVisitor< S > > 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...
 

Public Member Functions

Data Access
CFG * getConfig ()
 
const CFG * getConfig () const
 
CanvasPath getPath () const
 
uint32_t getActiveLayoutIndex () const
 
EQFABRIC_INL const L * getActiveLayout () const
 
const SegmentsgetSegments () const
 
S * findSegment (const std::string &name)
 
const S * findSegment (const std::string &name) const
 
const LayoutsgetLayouts () const
 
EQFABRIC_INL void addLayout (L *layout)
 
EQFABRIC_INL bool removeLayout (L *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 ()
 
Operations
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 (S **segment)
 
void release (S *segment)
 
- Public Member Functions inherited from eq::fabric::Object
virtual EQFABRIC_API bool isDirty () const
 
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)
 

Protected Member Functions

EQFABRIC_INL Canvas (CFG *config)
 Construct a new Canvas.
 
virtual EQFABRIC_INL ~Canvas ()
 Destruct this 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 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)
 
- Protected Member Functions inherited from eq::fabric::Frustum
virtual void updateFrustum ()
 
virtual void notifyFrustumChanged ()
 

Friends

template<class , class , class >
class Segment
 
class Object
 

Detailed Description

template<class CFG, class C, class S, class L>
class eq::fabric::Canvas< CFG, C, S, L >

A canvas represents a logical 2D projection surface.

Definition at line 35 of file fabric/canvas.h.

Member Function Documentation

template<class CFG, class C, class S, class L>
EQFABRIC_INL VisitorResult eq::fabric::Canvas< CFG, C, S, L >::accept ( Visitor visitor)

Traverse this canvas and all children using a canvas visitor.

Parameters
visitorthe visitor.
Returns
the result of the visitor traversal.
Version
1.0
template<class CFG, class C, class S, class L>
EQFABRIC_INL VisitorResult eq::fabric::Canvas< CFG, C, S, L >::accept ( Visitor visitor) const

Const-version of accept().

Version
1.0
template<class CFG, class C, class S, class L>
virtual EQFABRIC_INL void eq::fabric::Canvas< CFG, C, S, L >::deserialize ( co::DataIStream &  is,
const uint64_t  dirtyBits 
)
protectedvirtual
See also
Frustum::deserialize.

Reimplemented from eq::fabric::Object.

template<class CFG, class C, class S, class L>
EQFABRIC_INL const L* eq::fabric::Canvas< CFG, C, S, L >::getActiveLayout ( ) const
Returns
the active layout.
Version
1.0
template<class CFG, class C, class S, class L>
uint32_t eq::fabric::Canvas< CFG, C, S, L >::getActiveLayoutIndex ( ) const
inline
Returns
the index of the active layout.
Version
1.0

Definition at line 55 of file fabric/canvas.h.

template<class CFG, class C, class S, class L>
CFG* eq::fabric::Canvas< CFG, C, S, L >::getConfig ( )
inline
Returns
the parent config.
Version
1.0

Definition at line 47 of file fabric/canvas.h.

template<class CFG, class C, class S, class L>
const CFG* eq::fabric::Canvas< CFG, C, S, L >::getConfig ( ) const
inline
Returns
the parent config.
Version
1.0

Definition at line 49 of file fabric/canvas.h.

template<class CFG, class C, class S, class L>
const Layouts& eq::fabric::Canvas< CFG, C, S, L >::getLayouts ( ) const
inline
Returns
the vector of possible layouts.
Version
1.0

Definition at line 70 of file fabric/canvas.h.

template<class CFG, class C, class S, class L>
const Segments& eq::fabric::Canvas< CFG, C, S, L >::getSegments ( ) const
inline
Returns
the vector of child segments.
Version
1.0

Definition at line 61 of file fabric/canvas.h.

template<class CFG, class C, class S, class L>
EQFABRIC_INL void eq::fabric::Canvas< CFG, C, S, L >::serialize ( co::DataOStream &  os,
const uint64_t  dirtyBits 
)
protectedvirtual
See also
Frustum::serialize.

Reimplemented from eq::fabric::Object.

template<class CFG, class C, class S, class L>
virtual EQFABRIC_INL void eq::fabric::Canvas< CFG, C, S, L >::setDirty ( const uint64_t  bits)
protectedvirtual
See also
Serializable::setDirty()
template<class CFG, class C, class S, class L>
virtual EQFABRIC_INL void eq::fabric::Canvas< CFG, C, S, L >::setProjection ( const Projection )
virtual
template<class CFG, class C, class S, class L>
virtual EQFABRIC_INL void eq::fabric::Canvas< CFG, C, S, L >::setWall ( const Wall wall)
virtual
template<class CFG, class C, class S, class L>
virtual EQFABRIC_INL void eq::fabric::Canvas< CFG, C, S, L >::unsetFrustum ( )
virtual
template<class CFG, class C, class S, class L>
virtual EQFABRIC_INL bool eq::fabric::Canvas< CFG, C, S, L >::useLayout ( const uint32_t  index)
virtual

Activate the given layout on this canvas.

Returns
true if the active layout changed.
Version
1.0

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