Equalizer  1.2.1
Classes | Public Member Functions | Public Types | Protected Member Functions | Friends
eq::Frame Class Reference

A holder for a frame data and related parameters. More...

#include <frame.h>

+ Inheritance diagram for eq::Frame:
+ Collaboration diagram for eq::Frame:

List of all members.

Classes

struct  Data

Public Member Functions

 Frame ()
 Construct a new frame.
virtual ~Frame ()
 Destruct the frame.
const std::vector< uint128_t > & getInputNodes (const Eye eye) const
const std::vector< uint128_t > & getInputNetNodes (const Eye eye) const
Data Access
const std::string & getName () const
const Vector2i & getOffset () const
void setOffset (const Vector2i &offset)
 Set the position of the frame wrt the channel.
const Range & getRange () const
const Pixel & getPixel () const
const SubPixel & getSubPixel () const
uint32_t getPeriod () const
uint32_t getPhase () const
void setZoom (const Zoom &zoom)
 Set the zoom for this frame holder.
const Zoom & getZoom () const
void setZoomFilter (const ZoomFilter zoomFilter)
 Set the filter applied to zoomed assemble operations.
ZoomFilter getZoomFilter () const
const ImagesgetImages () const
void setData (FrameData *data)
 Set the data for this frame.
FrameDatagetData ()
const FrameDatagetData () const
uint32_t getBuffers () const
void disableBuffer (const Buffer buffer)
 Disable the usage of a frame buffer attachment for all images.
void setAlphaUsage (const bool useAlpha)
 Set alpha usage for newly allocated images.
void setQuality (const Frame::Buffer buffer, const float quality)
 Set the minimum quality after compression.
void useCompressor (const Frame::Buffer buffer, const uint32_t name)
 Sets a compressor for compression for following transmissions.
const co::ObjectVersiongetDataVersion (const Eye eye) const
Operations
void clear ()
void flush ()
void readback (util::ObjectManager< const void * > *glObjects, const DrawableConfig &config)
 Read back a set of images according to the current frame data.
void setReady ()
 Set the frame ready.
bool isReady () const
 Test the readiness of the frame.
void waitReady (const uint32_t timeout=EQ_TIMEOUT_INDEFINITE) const
 Wait for the frame to become available.
void addListener (co::base::Monitor< uint32_t > &listener)
 Add a listener which will be incremented when the frame is ready.
void removeListener (co::base::Monitor< uint32_t > &listener)
 Remove a frame listener.

Public Types

enum  Buffer {
  BUFFER_NONE = EQ_BIT_NONE, BUFFER_UNDEFINED = EQ_BIT1, BUFFER_COLOR = EQ_BIT5, BUFFER_DEPTH = EQ_BIT9,
  BUFFER_ALL = EQ_BIT_ALL_32
}
 The buffer format defines which components of the frame are to be used during readback and assembly. More...
enum  Type { TYPE_MEMORY, TYPE_TEXTURE }
 The storage type for pixel data. More...

Protected Member Functions

virtual ChangeType getChangeType () const
virtual void getInstanceData (co::DataOStream &os)
 Serialize all instance information of this distributed object.
virtual void applyInstanceData (co::DataIStream &is)
 Deserialize the instance data.

Friends

class eq::server::Frame
 The distributed data shared between Frame and server::Frame.

Detailed Description

A holder for a frame data and related parameters.

A Frame has to be set up with a FrameData which ultimately holds the pixel data using images. Input and output frames provided by the eq::Channel are set up correctly with FrameData to connect one output frame to one ore more input frames. Some Frame parameters are (input-)frame-specific, while others are set by the output frame on its data and therefore shared between all input frames.

Definition at line 50 of file frame.h.


Member Enumeration Documentation

The buffer format defines which components of the frame are to be used during readback and assembly.

Version:
1.0
Enumerator:
BUFFER_UNDEFINED 

Inherit, only if no others are set.

BUFFER_COLOR 

Use color images.

BUFFER_DEPTH 

Use depth images.

Definition at line 58 of file frame.h.

The storage type for pixel data.

Version:
1.0
Enumerator:
TYPE_MEMORY 

use main memory to store pixel data

TYPE_TEXTURE 

use a GL texture to store pixel data

Definition at line 68 of file frame.h.


Constructor & Destructor Documentation

Construct a new frame.

Version:
1.0
virtual eq::Frame::~Frame ( ) [virtual]

Destruct the frame.

Version:
1.0

Member Function Documentation

void eq::Frame::addListener ( co::base::Monitor< uint32_t > &  listener)

Add a listener which will be incremented when the frame is ready.

Parameters:
listenerthe listener.
Version:
1.0
virtual void eq::Frame::applyInstanceData ( co::DataIStream is) [protected, virtual]

Deserialize the instance data.

This method is called during object mapping to populate slave instances with the master object's data.

Parameters:
isthe input stream.

Implements co::Object.

void eq::Frame::disableBuffer ( const Buffer  buffer)

Disable the usage of a frame buffer attachment for all images.

Parameters:
bufferthe buffer to disable.
Version:
1.0

Referenced by eVolve::Channel::frameReadback().

+ Here is the caller graph for this function:

uint32_t eq::Frame::getBuffers ( ) const
Returns:
the enabled frame buffer attachments.
Version:
1.0
virtual ChangeType eq::Frame::getChangeType ( ) const [inline, protected, virtual]
Returns:
how the changes are to be handled.

Reimplemented from co::Object.

Definition at line 260 of file frame.h.

References co::Object::INSTANCE.

Returns:
the frame's data.
Version:
1.0

Definition at line 161 of file frame.h.

Referenced by eVolve::Channel::frameAssemble(), and eVolve::Channel::frameReadback().

+ Here is the caller graph for this function:

const FrameData* eq::Frame::getData ( ) const [inline]
Returns:
the frame's data.
Version:
1.0

Definition at line 164 of file frame.h.

const Images& eq::Frame::getImages ( ) const
Returns:
all images of this frame.
Version:
1.0

Referenced by eVolve::Channel::frameAssemble().

+ Here is the caller graph for this function:

virtual void eq::Frame::getInstanceData ( co::DataOStream os) [protected, virtual]

Serialize all instance information of this distributed object.

Parameters:
osThe output stream.

Implements co::Object.

const std::string& eq::Frame::getName ( ) const
Returns:
the name of the frame.
Version:
1.0
const Vector2i& eq::Frame::getOffset ( ) const [inline]
Returns:
the position of the frame wrt the channel.
Version:
1.0

Definition at line 86 of file frame.h.

Referenced by eVolve::Channel::frameAssemble().

+ Here is the caller graph for this function:

uint32_t eq::Frame::getPeriod ( ) const
Returns:
the DPlex period relative to the destination channel.
Version:
1.0

Referenced by eqPly::Channel::frameAssemble().

+ Here is the caller graph for this function:

uint32_t eq::Frame::getPhase ( ) const
Returns:
the DPlex phase relative to the destination channel.
Version:
1.0
const Pixel& eq::Frame::getPixel ( ) const
Returns:
the pixel parameters relative to the destination channel.
Version:
1.0
const Range& eq::Frame::getRange ( ) const
Returns:
the database range relative to the destination channel.
Version:
1.0

Referenced by eVolve::Channel::frameAssemble().

+ Here is the caller graph for this function:

const SubPixel& eq::Frame::getSubPixel ( ) const
Returns:
the subpixel parameters wrt the destination channel.
Version:
1.0

Referenced by eqPly::Channel::frameAssemble().

+ Here is the caller graph for this function:

const Zoom& eq::Frame::getZoom ( ) const [inline]
Returns:
the zoom factor for readback or assemble.
Version:
1.0

Definition at line 139 of file frame.h.

Referenced by eVolve::Channel::frameAssemble().

+ Here is the caller graph for this function:

Returns:
the filter applied to zoomed assemble operations.
Version:
1.0

Definition at line 152 of file frame.h.

bool eq::Frame::isReady ( ) const

Test the readiness of the frame.

Returns:
true if the frame is ready, false if not.
Version:
1.0
void eq::Frame::readback ( util::ObjectManager< const void * > *  glObjects,
const DrawableConfig &  config 
)

Read back a set of images according to the current frame data.

The images are added to the data, existing images are retained.

Parameters:
glObjectsthe GL object manager for the current GL context.
configthe configuration of the source frame buffer.
Version:
1.0

Referenced by eVolve::Channel::frameAssemble().

+ Here is the caller graph for this function:

void eq::Frame::removeListener ( co::base::Monitor< uint32_t > &  listener)

Remove a frame listener.

Parameters:
listenerthe listener.
Version:
1.0
void eq::Frame::setAlphaUsage ( const bool  useAlpha)

Set alpha usage for newly allocated images.

Version:
1.0

Referenced by eqPly::Channel::frameReadback().

+ Here is the caller graph for this function:

void eq::Frame::setData ( FrameData data) [inline]

Set the data for this frame.

Version:
1.0

Definition at line 158 of file frame.h.

Referenced by eqPixelBench::Channel::Channel(), and eVolve::Channel::Channel().

+ Here is the caller graph for this function:

void eq::Frame::setOffset ( const Vector2i &  offset) [inline]

Set the position of the frame wrt the channel.

The offset is only applied for operations on this frame holder, i.e., it does not apply to other (input) frames using the same underlying frame data.

Version:
1.0

Definition at line 96 of file frame.h.

Referenced by eVolve::Channel::frameAssemble().

+ Here is the caller graph for this function:

void eq::Frame::setQuality ( const Frame::Buffer  buffer,
const float  quality 
)

Set the minimum quality after compression.

Version:
1.0

Referenced by eVolve::Channel::frameReadback(), and eqPly::Channel::frameReadback().

+ Here is the caller graph for this function:

Set the frame ready.

Equalizer sets the frame automatically ready after readback and after network transmission.

Version:
1.0
void eq::Frame::setZoom ( const Zoom &  zoom) [inline]

Set the zoom for this frame holder.

The zoom is only applied for operations on this frame holder, i.e., it does not apply to other (input) frames using the same underlying frame data.

Version:
1.0

Definition at line 136 of file frame.h.

Referenced by eVolve::Channel::frameAssemble().

+ Here is the caller graph for this function:

void eq::Frame::setZoomFilter ( const ZoomFilter  zoomFilter) [inline]

Set the filter applied to zoomed assemble operations.

Version:
1.0

Definition at line 145 of file frame.h.

void eq::Frame::useCompressor ( const Frame::Buffer  buffer,
const uint32_t  name 
)

Sets a compressor for compression for following transmissions.

Referenced by eqPly::Channel::frameReadback().

+ Here is the caller graph for this function:

void eq::Frame::waitReady ( const uint32_t  timeout = EQ_TIMEOUT_INDEFINITE) const

Wait for the frame to become available.

Version:
1.0

Referenced by eVolve::Channel::frameAssemble().

+ Here is the caller graph for this function:


Friends And Related Function Documentation

friend class eq::server::Frame [friend]

The distributed data shared between Frame and server::Frame.

Definition at line 271 of file frame.h.


The documentation for this class was generated from the following file:
Generated on Fri Jun 8 2012 15:44:35 for Equalizer 1.2.1 by  doxygen 1.8.0