20 #ifndef EQFABRIC_CHANNEL_H    21 #define EQFABRIC_CHANNEL_H    23 #include <eq/fabric/object.h>            24 #include <eq/fabric/paths.h>    25 #include <eq/fabric/renderContext.h>     26 #include <eq/fabric/types.h>    51     bool isDestination()
 const    52         { 
return _data.nativeContext.view.identifier != 0;}
    55     void setViewVersion( 
const co::ObjectVersion& view );
    58     const co::ObjectVersion& getViewVersion()
 const    59         { 
return _data.nativeContext.view; }
    65     EQFABRIC_INL 
void setViewport( 
const Viewport& vp );
    68     virtual void notifyViewportChanged();
    72         { 
return _data.nativeContext.pvp; }
    88     EQFABRIC_INL 
void setNearFar( 
const float nearPlane, 
const float farPlane );
    97     EQFABRIC_INL VisitorResult 
accept( Visitor& visitor );
   100     EQFABRIC_INL VisitorResult 
accept( Visitor& visitor ) 
const;
   116     EQFABRIC_INL 
void setMaxSize( 
const Vector2i& size );
   118     void setOverdraw( 
const Vector4i& overdraw ); 
   119     const Vector2i& getMaxSize()
  const { 
return _maxSize; } 
   122     EQFABRIC_INL ChannelPath getPath() 
const;
   124     EQFABRIC_INL 
virtual void backup(); 
   125     EQFABRIC_INL 
virtual void restore(); 
   276     const Vector4i& 
getOverdraw()
 const { 
return _context->overdraw; }
   296         IATTR_ALL = IATTR_LAST + 5
   304         SATTR_ALL = SATTR_LAST + 5
   323     virtual bool omitOutput()
 const { 
return false; } 
   324     virtual void output( std::ostream& )
 const {} 
   328     EQFABRIC_INL 
explicit Channel( W* parent );
   331     Channel( 
const Channel& from );
   337     EQFABRIC_INL 
virtual void serialize( co::DataOStream& os,
   338                                          const uint64_t dirtyBits );
   340     EQFABRIC_INL 
virtual void deserialize( co::DataIStream& is,
   341                                            const uint64_t dirtyBits );
   344     EQFABRIC_INL 
virtual void setDirty( 
const uint64_t bits );
   350         { _overrideContext = context; _context = &_overrideContext; }
   353     void resetContext() { _context = &_data.nativeContext; }
   357         { 
return _data.nativeContext; }
   361     void setIAttribute( 
const IAttribute attr, 
const int32_t value )
   362         { _iAttributes[attr] = value; setDirty( DIRTY_ATTRIBUTES ); }
   365     void setSAttribute( 
const SAttribute attr, 
const std::string& value )
   366         { _sAttributes[attr] = value; setDirty( DIRTY_ATTRIBUTES ); }
   369     virtual ChangeType getChangeType()
 const { 
return UNBUFFERED; }
   373         DIRTY_ATTRIBUTES    = Object::DIRTY_CUSTOM << 0,
   374         DIRTY_VIEWPORT      = Object::DIRTY_CUSTOM << 1,
   375         DIRTY_MEMBER        = Object::DIRTY_CUSTOM << 2,
   376         DIRTY_FRUSTUM       = Object::DIRTY_CUSTOM << 3,
   377         DIRTY_CAPABILITIES  = Object::DIRTY_CUSTOM << 4,
   379         DIRTY_ATTRIBUTES | DIRTY_VIEWPORT | DIRTY_MEMBER |
   380         DIRTY_FRUSTUM | DIRTY_OBJECT_BITS
   384     virtual uint64_t getRedistributableBits()
 const   385         { 
return DIRTY_CHANNEL_BITS; }
   387     virtual void updateCapabilities() {} 
   395         BackupData() : capabilities( LB_BIT_ALL_64 ), fixedVP( 
true ) {}
   401         uint64_t capabilities;
   415     int32_t _iAttributes[IATTR_ALL];
   418     std::string _sAttributes[SATTR_ALL];
   424 template< 
class W, 
class C > EQFABRIC_INL
   425 std::ostream& operator << ( std::ostream&, const Channel< W, C >& );
   429 #endif // EQFABRIC_CHANNEL_H uint32_t buffer
buffer as passed to glDrawBuffer() 
const PixelViewport & getPixelViewport() const 
A zoom specification with methods for manipulation. 
EQFABRIC_INL uint64_t getCapabilities() const 
Zoom zoom
up/downsampling wrt to dest 
const Frustumf & getPerspective() const 
uint32_t getPhase() const 
static EQFABRIC_INL const std::string & getSAttributeString(const SAttribute attr)
A fractional viewport with methods for manipulation. 
Holds a subpixel decomposition specification along with some methods for manipulation. 
Defines which parts of the color buffer are to be written. 
const PixelViewport & getNativePixelViewport() const 
Range range
database-range wrt to dest channel 
uint32_t getReadBuffer() const 
bool hasFixedViewport() const 
Viewport vp
fractional viewport wrt dest view 
static EQFABRIC_INL const std::string & getIAttributeString(const IAttribute attr)
IAttribute
Integer attributes for a channel. 
A visitor to traverse leaf nodes of a graph. 
const ColorMask & getDrawBufferMask() const 
Pixel pixel
pixel decomposition wrt to dest 
EQFABRIC_INL const std::string & getSAttribute(const SAttribute attr) const 
W Parent
The parent window type. 
uint32_t period
DPlex period. 
uint32_t getTaskID() const 
EQFABRIC_INL void setNearFar(const float nearPlane, const float farPlane)
Set the near and far planes for this channel. 
const SubPixel & getSubPixel() const 
const Vector2i & getPixelOffset() const 
Get the channel's current position wrt the destination channel. 
EQFABRIC_INL void setMaxSize(const Vector2i &size)
DirtyBits
The changed parts of the object since the last pack(). 
Eye
Eye pass bit mask for which is enabled. 
ColorMask bufferMask
color mask for anaglyph stereo 
uint32_t phase
DPlex phase. 
const RenderContext & getContext() const 
SAttribute
String attributes. 
virtual bool useOrtho() const 
Select perspective or orthographic rendering. 
Use a send token for output frames (OFF, ON) 
EQFABRIC_INL int32_t getIAttribute(const IAttribute attr) const 
uint32_t getPeriod() const 
Matrix4f orthoTransform
orthographic frustum transform 
SubPixel subPixel
subpixel decomposition wrt to dest 
const Viewport & getViewport() const 
Holds a pixel decomposition specification with methods for manipulation. 
const W * getWindow() const 
The Equalizer client library. 
const Vector4i & getOverdraw() const 
Matrix4f headTransform
frustum transform for modelview 
const Matrix4f & getOrthoTransform() const 
Return the orthographic view matrix. 
LeafVisitor< C > Visitor
The channel visitor type. 
EQFABRIC_INL Channel(W *parent)
Construct a new channel. 
const Zoom & getZoom() const 
Vector2i offset
absolute position wrt dest channel 
Frustumf ortho
ortho frustum for projection matrix 
const Range & getRange() const 
const Matrix4f & getHeadTransform() const 
Return the view matrix. 
const Frustumf & getFrustum() const 
Base data transport class for channels. 
uint32_t getDrawBuffer() const 
PixelViewport pvp
pixel viewport of channel wrt window 
const Pixel & getPixel() const 
Statistics gathering mode (OFF, FASTEST [ON], NICEST) 
virtual EQFABRIC_INL ~Channel()
Destruct the channel. 
Internal base class for all distributed, inheritable Equalizer objects. 
EQFABRIC_INL void setCapabilities(const uint64_t bitmask)
Set the capabilities supported by the channel. 
The context applied to a channel during rendering operations. 
Holds a 2D pixel viewport with methods for manipulation. 
A fractional database range with methods for manipulation. 
const Frustumf & getOrtho() const 
const Matrix4f & getPerspectiveTransform() const 
Return the perspective view matrix. 
Frustumf frustum
frustum for projection matrix 
EQFABRIC_INL VisitorResult accept(Visitor &visitor)
Perform a depth-first traversal of this channel.