Equalizer  2.1.0
Parallel Rendering Framework
eq::fabric::Layout< C, L, V > Class Template Reference

Base data transport class for layouts. More...

#include <layout.h>

+ Inheritance diagram for eq::fabric::Layout< C, L, V >:
+ Collaboration diagram for eq::fabric::Layout< C, L, V >:

Public Member Functions

Operations
EQFABRIC_INL VisitorResult accept (Visitor &visitor)
 Traverse this layout and all children using a layout visitor. More...
 
EQFABRIC_INL VisitorResult accept (Visitor &visitor) const
 Const-version of accept(). More...
 
EQFABRIC_INL void setPixelViewport (const PixelViewport &pvp)
 Resize the underlying channels to form a layout of the given size. More...
 
EQFABRIC_INL const PixelViewportgetPixelViewport () const
 
void create (V **view)
 
void release (V *view)
 
- 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 backup ()
 
virtual EQFABRIC_API void restore ()
 
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
 

Protected Types

enum  DirtyBits { DIRTY_VIEWS = Object::DIRTY_CUSTOM << 0, DIRTY_VIEWPORT = Object::DIRTY_CUSTOM << 1, DIRTY_LAYOUT_BITS = DIRTY_VIEWS | DIRTY_VIEWPORT | DIRTY_OBJECT_BITS }
 

Protected Member Functions

EQFABRIC_INL Layout (C *config)
 
virtual EQFABRIC_INL void attach (const uint128_t &id, const uint32_t instanceID)
 
virtual 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 void notifyViewportChanged ()
 
virtual EQFABRIC_INL void setDirty (const uint64_t bits)
 
virtual uint64_t getRedistributableBits () const
 
- 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)
 

Friends

template<class , class , class >
class View
 
class Object
 
template<class , class , class , class , class , class , class >
class Config
 

Data Access

typedef std::vector< V * > Views
 A vector of pointers to views. More...
 
typedef ElementVisitor< L, LeafVisitor< V > > Visitor
 The layout visitor type. More...
 
C * getConfig ()
 
const C * getConfig () const
 
const ViewsgetViews () const
 Get the list of views. More...
 
EQFABRIC_INL bool isActive () const
 
V * getView (const ViewPath &path)
 
V * findView (const std::string &name)
 
LayoutPath getPath () const
 

Additional Inherited Members

- 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...
 

Detailed Description

template<class C, class L, class V>
class eq::fabric::Layout< C, L, V >

Base data transport class for layouts.

See also
eq::Layout

Definition at line 33 of file fabric/layout.h.

Member Typedef Documentation

template<class C, class L, class V>
typedef std::vector<V*> eq::fabric::Layout< C, L, V >::Views

A vector of pointers to views.

Version
1.0

Definition at line 39 of file fabric/layout.h.

template<class C, class L, class V>
typedef ElementVisitor<L, LeafVisitor<V> > eq::fabric::Layout< C, L, V >::Visitor

The layout visitor type.

Version
1.0

Definition at line 41 of file fabric/layout.h.

Member Function Documentation

template<class C, class L, class V>
EQFABRIC_INL VisitorResult eq::fabric::Layout< C, L, V >::accept ( Visitor visitor)

Traverse this layout and all children using a layout visitor.

Parameters
visitorthe visitor.
Returns
the result of the visitor traversal.
Version
1.0

Referenced by eq::fabric::Layout< Config, Layout, View >::getViews().

+ Here is the caller graph for this function:

template<class C, class L, class V>
EQFABRIC_INL VisitorResult eq::fabric::Layout< C, L, V >::accept ( Visitor visitor) const

Const-version of accept().

Version
1.0
template<class C, class L, class V>
C* eq::fabric::Layout< C, L, V >::getConfig ( )
inline
Returns
the current config.
Version
1.0

Definition at line 44 of file fabric/layout.h.

template<class C, class L, class V>
const C* eq::fabric::Layout< C, L, V >::getConfig ( ) const
inline
Returns
the current config.
Version
1.0

Definition at line 46 of file fabric/layout.h.

template<class C, class L, class V>
EQFABRIC_INL const PixelViewport& eq::fabric::Layout< C, L, V >::getPixelViewport ( ) const
Returns
the last set pixel viewport.
Version
2.1

Referenced by eq::fabric::Layout< Config, Layout, View >::getViews().

+ Here is the caller graph for this function:

template<class C, class L, class V>
const Views& eq::fabric::Layout< C, L, V >::getViews ( ) const
inline

Get the list of views.

Version
1.0

Definition at line 48 of file fabric/layout.h.

template<class C, class L, class V>
EQFABRIC_INL bool eq::fabric::Layout< C, L, V >::isActive ( ) const
Returns
true if the layout is activated in at least one canvas.
Version
1.1.5

Referenced by eq::fabric::Layout< Config, Layout, View >::getViews().

+ Here is the caller graph for this function:

template<class C, class L, class V>
EQFABRIC_INL void eq::fabric::Layout< C, L, V >::setPixelViewport ( const PixelViewport pvp)

Resize the underlying channels to form a layout of the given size.

Resizes the virtual canvas so that the union of output channels covers the given pixel viewport. Relative or absolute addressing of the channel's viewport or pixel viewport is retained. Windows are resized as necessary, so that the channel has the correct size (for channels with relative viewports) or the channel fits into the window (for channels with absolute pixel viewports).

Parameters
pvpthe full layout size in pixels.
Version
2.1

Referenced by eq::fabric::Layout< Config, Layout, View >::getViews().

+ Here is the caller graph for this function:


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