Equalizer 1.0

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.
Data Access
const std::string & getName () const
const Vector2igetOffset () const
void setOffset (const Vector2i &offset)
 Set the position of the frame wrt the channel.
const RangegetRange () const
const PixelgetPixel () const
const SubPixelgetSubPixel () const
uint32_t getPeriod () const
uint32_t getPhase () const
void setZoom (const Zoom &zoom)
 Set the zoom for this frame holder.
const ZoomgetZoom () 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.
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
 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
}
 

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 59 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 67 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 77 of file frame.h.


Constructor & Destructor Documentation

eq::Frame::Frame ( )

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 256 of file frame.h.

References co::Object::INSTANCE.

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

Definition at line 170 of file frame.h.

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

Definition at line 173 of file frame.h.

const Images& eq::Frame::getImages ( ) const
Returns:
all images of this frame.
Version:
1.0
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 95 of file frame.h.

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
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 148 of file frame.h.

ZoomFilter eq::Frame::getZoomFilter ( ) const [inline]
Returns:
the filter applied to zoomed assemble operations.
Version:
1.0

Definition at line 161 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
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 167 of file frame.h.

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 105 of file frame.h.

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:

void eq::Frame::setReady ( )

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 145 of file frame.h.

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

Set the filter applied to zoomed assemble operations.

Version:
1.0

Definition at line 154 of file frame.h.

void eq::Frame::waitReady ( ) const

Wait for the frame to become available.

Version:
1.0

Friends And Related Function Documentation

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

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

Definition at line 267 of file frame.h.


The documentation for this class was generated from the following file:
Generated on Sun May 8 2011 19:11:09 for Equalizer 1.0 by  doxygen 1.7.3