Equalizer  2.0.0
Parallel Rendering Framework
eq::fabric::Window< P, W, C, Settings > Class Template Reference

Base data transport class for windows. More...

#include <window.h>

+ Inheritance diagram for eq::fabric::Window< P, W, C, Settings >:
+ Collaboration diagram for eq::fabric::Window< P, W, C, Settings >:

Public Types

typedef std::vector< C * > Channels
 A vector of pointers to channels. More...
 
typedef ElementVisitor< W, LeafVisitor< C > > Visitor
 The Window visitor type. More...
 
- 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 Member Functions

EQFABRIC_INL WindowPath getPath () const
 
Data Access
void init ()
 
const P * getPipe () const
 
P * getPipe ()
 
const ChannelsgetChannels () const
 
const DrawableConfiggetDrawableConfig () const
 
EQFABRIC_INL const PixelViewportgetPixelViewport () const
 
const ViewportgetViewport () const
 
EQFABRIC_INL void setName (const std::string &name) final
 Set the window's name/caption. More...
 
virtual EQFABRIC_INL void setPixelViewport (const PixelViewport &pvp)
 Set the window's pixel viewport wrt its parent pipe. More...
 
EQFABRIC_INL void setViewport (const Viewport &vp)
 Set the window's viewport wrt its parent pipe. More...
 
bool hasFixedViewport () const
 
virtual void notifyViewportChanged ()
 
EQFABRIC_INL VisitorResult accept (Visitor &visitor)
 Perform a depth-first traversal of this window. More...
 
EQFABRIC_INL VisitorResult accept (Visitor &visitor) const
 Const-version of accept(). More...
 
internal
virtual EQFABRIC_INL void backup ()
 
virtual EQFABRIC_INL void restore ()
 
void create (C **channel)
 
void release (C *channel)
 
virtual void output (std::ostream &) const
 
virtual EQFABRIC_INL uint128_t commit (const uint32_t incarnation=CO_COMMIT_NEXT)
 
- 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
 
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_SETTINGS = Object::DIRTY_CUSTOM << 0, DIRTY_CHANNELS = Object::DIRTY_CUSTOM << 1, DIRTY_VIEWPORT = Object::DIRTY_CUSTOM << 2, DIRTY_DRAWABLECONFIG = Object::DIRTY_CUSTOM << 3,
  DIRTY_WINDOW_BITS
}
 

Protected Member Functions

 Window (P *parent)
 
virtual 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 EQFABRIC_INL void setDirty (const uint64_t bits)
 
void _setDrawableConfig (const DrawableConfig &drawableConfig)
 
virtual ChangeType getChangeType () const
 
C * _findChannel (const uint128_t &id)
 
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

class Channel< W, C >
 

Attributes

EQFABRIC_INL void setSettings (const Settings &settings)
 Set the settings of this window. More...
 
EQFABRIC_INL const Settings & getSettings () const
 
EQFABRIC_INL void setIAttribute (const WindowSettings::IAttribute attr, const int32_t value)
 Set a window attribute. More...
 
EQFABRIC_INL int32_t getIAttribute (const WindowSettings::IAttribute attr) const
 
static EQFABRIC_INL const std::string & getIAttributeString (const WindowSettings::IAttribute attr)
 

Detailed Description

template<class P, class W, class C, class Settings = WindowSettings>
class eq::fabric::Window< P, W, C, Settings >

Base data transport class for windows.

See also
eq::Window

Definition at line 90 of file eq/fabric/types.h.

Member Typedef Documentation

template<class P, class W, class C, class Settings = WindowSettings>
typedef std::vector< C* > eq::fabric::Window< P, W, C, Settings >::Channels

A vector of pointers to channels.

Version
1.0

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

template<class P, class W, class C, class Settings = WindowSettings>
typedef ElementVisitor< W, LeafVisitor< C > > eq::fabric::Window< P, W, C, Settings >::Visitor

The Window visitor type.

Version
1.0

Definition at line 43 of file fabric/window.h.

Member Function Documentation

template<class P, class W, class C, class Settings = WindowSettings>
EQFABRIC_INL VisitorResult eq::fabric::Window< P, W, C, Settings >::accept ( Visitor visitor)

Perform a depth-first traversal of this window.

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

Referenced by eq::fabric::Window< Pipe, Window, Channel, WindowSettings >::hasFixedViewport().

+ Here is the caller graph for this function:

template<class P, class W, class C, class Settings = WindowSettings>
EQFABRIC_INL VisitorResult eq::fabric::Window< P, W, C, Settings >::accept ( Visitor visitor) const

Const-version of accept().

Version
1.0
template<class P, class W, class C, class Settings = WindowSettings>
const Channels& eq::fabric::Window< P, W, C, Settings >::getChannels ( ) const
inline
Returns
a vector of all child channels of this window.

Definition at line 56 of file fabric/window.h.

template<class P, class W, class C, class Settings = WindowSettings>
const DrawableConfig& eq::fabric::Window< P, W, C, Settings >::getDrawableConfig ( ) const
inline
Returns
the window's drawable configuration.
Version
1.0

Definition at line 59 of file fabric/window.h.

template<class P, class W, class C, class Settings = WindowSettings>
EQFABRIC_INL int32_t eq::fabric::Window< P, W, C, Settings >::getIAttribute ( const WindowSettings::IAttribute  attr) const
Returns
the value of a window attribute.
Version
1.0

Referenced by eq::fabric::Window< Pipe, Window, Channel, WindowSettings >::hasFixedViewport().

+ Here is the caller graph for this function:

template<class P, class W, class C, class Settings = WindowSettings>
const P* eq::fabric::Window< P, W, C, Settings >::getPipe ( ) const
inline
Returns
the parent Pipe of this window.
Version
1.0

Definition at line 51 of file fabric/window.h.

template<class P, class W, class C, class Settings = WindowSettings>
P* eq::fabric::Window< P, W, C, Settings >::getPipe ( )
inline
Returns
the parent Pipe of this window.
Version
1.0

Definition at line 53 of file fabric/window.h.

template<class P, class W, class C, class Settings = WindowSettings>
EQFABRIC_INL const PixelViewport& eq::fabric::Window< P, W, C, Settings >::getPixelViewport ( ) const
Returns
the window's pixel viewport wrt the parent pipe.
Version
1.0

Referenced by eq::fabric::Window< Pipe, Window, Channel, WindowSettings >::getDrawableConfig().

+ Here is the caller graph for this function:

template<class P, class W, class C, class Settings = WindowSettings>
EQFABRIC_INL const Settings& eq::fabric::Window< P, W, C, Settings >::getSettings ( ) const
Returns
the settings of this window.
Version
1.7.2

Referenced by eq::fabric::Window< Pipe, Window, Channel, WindowSettings >::hasFixedViewport().

+ Here is the caller graph for this function:

template<class P, class W, class C, class Settings = WindowSettings>
const Viewport& eq::fabric::Window< P, W, C, Settings >::getViewport ( ) const
inline
Returns
the window's fractional viewport wrt the parent pipe.
Version
1.0

Definition at line 71 of file fabric/window.h.

template<class P, class W, class C, class Settings = WindowSettings>
bool eq::fabric::Window< P, W, C, Settings >::hasFixedViewport ( ) const
inline
Returns
true if a viewport was specified last.
Version
1.0

Definition at line 99 of file fabric/window.h.

template<class P, class W, class C, class Settings = WindowSettings>
virtual EQFABRIC_INL void eq::fabric::Window< P, W, C, Settings >::setDirty ( const uint64_t  bits)
protectedvirtual
See also
Serializable::setDirty()

Referenced by eq::fabric::Window< Pipe, Window, Channel, WindowSettings >::hasFixedViewport().

+ Here is the caller graph for this function:

template<class P, class W, class C, class Settings = WindowSettings>
EQFABRIC_INL void eq::fabric::Window< P, W, C, Settings >::setIAttribute ( const WindowSettings::IAttribute  attr,
const int32_t  value 
)

Set a window attribute.

Version
1.0

Referenced by eq::fabric::Window< Pipe, Window, Channel, WindowSettings >::hasFixedViewport().

+ Here is the caller graph for this function:

template<class P, class W, class C, class Settings = WindowSettings>
EQFABRIC_INL void eq::fabric::Window< P, W, C, Settings >::setName ( const std::string &  name)
finalvirtual

Set the window's name/caption.

Version
1.7.2

Reimplemented from eq::fabric::Object.

Referenced by eq::fabric::Window< Pipe, Window, Channel, WindowSettings >::getViewport().

+ Here is the caller graph for this function:

template<class P, class W, class C, class Settings = WindowSettings>
virtual EQFABRIC_INL void eq::fabric::Window< P, W, C, Settings >::setPixelViewport ( const PixelViewport pvp)
virtual

Set the window's pixel viewport wrt its parent pipe.

Updates the fractional viewport of the window and its channels accordingly.

Parameters
pvpthe viewport in pixels.
Version
1.0

Referenced by eq::fabric::Window< Pipe, Window, Channel, WindowSettings >::getViewport().

+ Here is the caller graph for this function:

template<class P, class W, class C, class Settings = WindowSettings>
EQFABRIC_INL void eq::fabric::Window< P, W, C, Settings >::setSettings ( const Settings &  settings)

Set the settings of this window.

Version
1.9

Referenced by eq::fabric::Window< Pipe, Window, Channel, WindowSettings >::hasFixedViewport().

+ Here is the caller graph for this function:

template<class P, class W, class C, class Settings = WindowSettings>
EQFABRIC_INL void eq::fabric::Window< P, W, C, Settings >::setViewport ( const Viewport vp)

Set the window's viewport wrt its parent pipe.

Updates the fractional pixel viewport of the window and its channels accordingly.

Parameters
vpthe fractional viewport.
Version
1.0

Referenced by eq::fabric::Window< Pipe, Window, Channel, WindowSettings >::getViewport().

+ Here is the caller graph for this function:


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