Equalizer  1.6.1
Classes | Public Types | Protected Types | Protected Member Functions | Friends | List of all members
eq::fabric::Pipe< N, P, W, V > Class Template Reference

Base data transport class for pipes. More...

#include <pipe.h>

+ Inheritance diagram for eq::fabric::Pipe< N, P, W, V >:
+ Collaboration diagram for eq::fabric::Pipe< N, P, W, V >:

Public Types

typedef std::vector< W * > Windows
 A vector of pointers to windows. More...
 
- 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 Member Functions

Data Access
N * getNode ()
 
const N * getNode () const
 
const WindowsgetWindows () const
 
uint32_t getPort () const
 Returns the port number of this pipe. More...
 
EQFABRIC_INL void setPort (const uint32_t port)
 
uint32_t getDevice () const
 Returns the device number of this pipe. More...
 
EQFABRIC_INL void setDevice (const uint32_t device)
 
const PixelViewportgetPixelViewport () const
 
EQFABRIC_INL void setPixelViewport (const PixelViewport &pvp)
 Set the pipe's pixel viewport. More...
 
void notifyPixelViewportChanged ()
 
EQFABRIC_INL PipePath getPath () const
 
EQFABRIC_INL VisitorResult accept (V &visitor)
 Perform a depth-first traversal of this pipe. More...
 
EQFABRIC_INL VisitorResult accept (V &visitor) const
 Const-version of accept(). More...
 
internal
virtual EQFABRIC_INL void backup ()
 
virtual EQFABRIC_INL void restore ()
 
void create (W **window)
 
void release (W *window)
 
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
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
 

Protected Types

enum  DirtyBits {
  DIRTY_ATTRIBUTES = Object::DIRTY_CUSTOM << 0, DIRTY_WINDOWS = Object::DIRTY_CUSTOM << 1, DIRTY_PIXELVIEWPORT = Object::DIRTY_CUSTOM << 2, DIRTY_MEMBER = Object::DIRTY_CUSTOM << 3,
  DIRTY_PIPE_BITS
}
 

Protected Member Functions

 Pipe (N *parent)
 
virtual void attach (const UUID &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)
 
virtual ChangeType getChangeType () const
 
W * _findWindow (const UUID &id)
 
virtual uint64_t getRedistributableBits () const
 
- 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)
 

Friends

template<class , class , class >
class Window
 

Attributes

enum  IAttribute {
  IATTR_HINT_THREAD, IATTR_HINT_AFFINITY, IATTR_HINT_CUDA_GL_INTEROP, IATTR_LAST,
  IATTR_ALL = IATTR_LAST + 5
}
 Pipe attributes. More...
 
EQFABRIC_INL void setIAttribute (const IAttribute attr, const int32_t value)
 
int32_t getIAttribute (const IAttribute attr) const
 
bool isThreaded () const
 
static EQFABRIC_INL const
std::string & 
getIAttributeString (const IAttribute attr)
 

Detailed Description

template<class N, class P, class W, class V>
class eq::fabric::Pipe< N, P, W, V >

Base data transport class for pipes.

See Also
eq::Pipe

Definition at line 31 of file include/eq/fabric/pipe.h.

Member Typedef Documentation

template<class N, class P, class W, class V>
typedef std::vector< W* > eq::fabric::Pipe< N, P, W, V >::Windows

A vector of pointers to windows.

Version
1.0

Definition at line 35 of file include/eq/fabric/pipe.h.

Member Enumeration Documentation

template<class N, class P, class W, class V>
enum eq::fabric::Pipe::IAttribute

Pipe attributes.

Version
1.0
Enumerator
IATTR_HINT_THREAD 

Execute tasks in separate thread (default)

IATTR_HINT_AFFINITY 

Bind render thread to subset of cores.

IATTR_HINT_CUDA_GL_INTEROP 

Configure CUDA context.

Definition at line 113 of file include/eq/fabric/pipe.h.

Member Function Documentation

template<class N, class P, class W, class V>
EQFABRIC_INL VisitorResult eq::fabric::Pipe< N, P, W, V >::accept ( V &  visitor)

Perform a depth-first traversal of this pipe.

Parameters
visitorthe visitor.
Returns
the result of the visitor traversal.
Version
1.0
template<class N, class P, class W, class V>
EQFABRIC_INL VisitorResult eq::fabric::Pipe< N, P, W, V >::accept ( V &  visitor) const

Const-version of accept().

Version
1.0
template<class N, class P, class W, class V>
uint32_t eq::fabric::Pipe< N, P, W, V >::getDevice ( ) const
inline

Returns the device number of this pipe.

The device number identifies the X screen for systems using the X11/GLX window system, or the number of the virtual screen for the AGL window system. On Windows systems it identifies the graphics adapter. Normally the device identifies a GPU.

Returns
the device number of this pipe, or LB_UNDEFINED_UINT32.
Version
1.0

Definition at line 73 of file include/eq/fabric/pipe.h.

template<class N, class P, class W, class V>
int32_t eq::fabric::Pipe< N, P, W, V >::getIAttribute ( const IAttribute  attr) const
inline
Returns
the value of a pipe integer attribute.
Version
1.0

Definition at line 128 of file include/eq/fabric/pipe.h.

template<class N, class P, class W, class V>
N* eq::fabric::Pipe< N, P, W, V >::getNode ( )
inline
Returns
the parent node of this pipe.
Version
1.0

Definition at line 40 of file include/eq/fabric/pipe.h.

template<class N, class P, class W, class V>
const N* eq::fabric::Pipe< N, P, W, V >::getNode ( ) const
inline
Returns
the parent node of this pipe.
Version
1.0

Definition at line 42 of file include/eq/fabric/pipe.h.

template<class N, class P, class W, class V>
const PixelViewport& eq::fabric::Pipe< N, P, W, V >::getPixelViewport ( ) const
inline
Returns
the pixel viewport.
Version
1.0

Definition at line 78 of file include/eq/fabric/pipe.h.

template<class N, class P, class W, class V>
uint32_t eq::fabric::Pipe< N, P, W, V >::getPort ( ) const
inline

Returns the port number of this pipe.

The port number identifies the X server for systems using the X11/GLX window system, i.e., the :<port>.<screen> of the DISPLAY name. It currently has no meaning on all other systems.

Returns
the port number of this pipe, or LB_UNDEFINED_UINT32.
Version
1.0

Definition at line 58 of file include/eq/fabric/pipe.h.

template<class N, class P, class W, class V>
const Windows& eq::fabric::Pipe< N, P, W, V >::getWindows ( ) const
inline
Returns
the vector of child windows.
Version
1.0

Definition at line 45 of file include/eq/fabric/pipe.h.

template<class N, class P, class W, class V>
EQFABRIC_INL void eq::fabric::Pipe< N, P, W, V >::setPixelViewport ( const PixelViewport pvp)

Set the pipe's pixel viewport.

If invalid, the OSPipe has to set it to the device viewport during configInit().

Parameters
pvpthe viewport in pixels.
Version
1.0

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