Equalizer  1.6.1
Public Member Functions | List of all members
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:

Public Member Functions

 Frame ()
 Construct a new frame. More...
 
virtual ~Frame ()
 Destruct the frame. More...
 
Data Access
const std::string & getName () const
 
const Range & getRange () const
 
const Pixel & getPixel () const
 
const SubPixel & getSubPixel () const
 
uint32_t getPeriod () const
 
uint32_t getPhase () const
 
void setZoomFilter (const ZoomFilter zoomFilter)
 Set the filter applied to zoomed assemble operations. More...
 
ZoomFilter getZoomFilter () const
 
const ImagesgetImages () const
 
void setData (FrameData *data)
 Set the data for this frame. More...
 
FrameDatagetData ()
 
const FrameDatagetData () const
 
void setFrameData (FrameDataPtr data)
 Set the data for this frame. More...
 
FrameDataPtr getFrameData ()
 
ConstFrameDataPtr getFrameData () const
 
uint32_t getBuffers () const
 
void disableBuffer (const Buffer buffer)
 Disable the usage of a frame buffer attachment for all images. More...
 
void setAlphaUsage (const bool useAlpha)
 Set alpha usage for newly allocated images. More...
 
void setQuality (const Frame::Buffer buffer, const float quality)
 Set the minimum quality after compression. More...
 
void useCompressor (const Frame::Buffer buffer, const uint32_t name)
 Sets a compressor for compression for following transmissions. More...
 
Operations
void clear ()
 
void deleteGLObjects (ObjectManager *om)
 
void readback (ObjectManager *glObjects, const DrawableConfig &config)
 Read back an image. More...
 
void readback (ObjectManager *glObjects, const DrawableConfig &config, const PixelViewports &regions)
 Read back a set of images. More...
 
Images startReadback (ObjectManager *glObjects, const DrawableConfig &config, const PixelViewports &regions)
 Start reading back a set of images for this frame. More...
 
void setReady ()
 Set the frame ready. More...
 
bool isReady () const
 Test the readiness of the frame. More...
 
void waitReady (const uint32_t timeout=LB_TIMEOUT_INDEFINITE) const
 Wait for the frame to become available. More...
 
void addListener (lunchbox::Monitor< uint32_t > &listener)
 Add a listener which will be incremented when the frame is ready. More...
 
void removeListener (lunchbox::Monitor< uint32_t > &listener)
 Remove a frame listener. More...
 
- Public Member Functions inherited from eq::fabric::Frame
 Frame ()
 Construct a new frame. More...
 
const std::vector< uint128_t > & getInputNodes (const Eye eye) const
 
const std::vector< uint128_t > & getInputNetNodes (const Eye eye) const
 
void setName (const std::string &name)
 Set the name of the frame. More...
 
const std::string & getName () const
 
const Vector2igetOffset () const
 
void setOffset (const Vector2i &offset)
 Set the position of the frame wrt the channel. More...
 
void setZoom (const Zoom &zoom)
 Set the zoom for this frame holder. More...
 
const ZoomgetZoom () const
 
const co::ObjectVersion & getDataVersion (const Eye) const
 

Additional Inherited Members

- Public Types inherited from eq::fabric::Frame
enum  Buffer {
  BUFFER_NONE = LB_BIT_NONE, BUFFER_UNDEFINED = LB_BIT1, BUFFER_COLOR = LB_BIT5, BUFFER_DEPTH = LB_BIT9,
  BUFFER_ALL = LB_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 inherited from eq::fabric::Frame
virtual ChangeType getChangeType () const
 
virtual void getInstanceData (co::DataOStream &os)
 
virtual void applyInstanceData (co::DataIStream &is)
 
void _setDataVersion (const unsigned i, const co::ObjectVersion &ov)
 
std::vector< uint128_t > & _getInputNodes (const unsigned i)
 
std::vector< uint128_t > & _getInputNetNodes (const unsigned i)
 

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 42 of file client/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

Reimplemented from eq::fabric::Frame.

Member Function Documentation

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

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

Parameters
listenerthe listener.
Version
1.0
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
FrameData* eq::Frame::getData ( )
Returns
the frame's data.
Deprecated:
const FrameData* eq::Frame::getData ( ) const
Returns
the frame's data.
Deprecated:
FrameDataPtr eq::Frame::getFrameData ( )
Returns
the frame's data.
Version
1.3.2

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

+ Here is the caller graph for this function:

ConstFrameDataPtr eq::Frame::getFrameData ( ) const
Returns
the frame's data.
Version
1.4
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:

const std::string& eq::Frame::getName ( ) const
Returns
the name of the frame.
Version
1.0
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:

ZoomFilter eq::Frame::getZoomFilter ( ) const
Returns
the filter applied to zoomed assemble operations.
Version
1.0
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 ( ObjectManager glObjects,
const DrawableConfig &  config 
)

Read back an image.

The image is 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::readback ( ObjectManager glObjects,
const DrawableConfig &  config,
const PixelViewports regions 
)

Read back a set of images.

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.
regionsthe areas to read back.
Version
1.0
void eq::Frame::removeListener ( lunchbox::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)

Set the data for this frame.

Deprecated:
void eq::Frame::setFrameData ( FrameDataPtr  data)

Set the data for this frame.

Version
1.3.2
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::setZoomFilter ( const ZoomFilter  zoomFilter)

Set the filter applied to zoomed assemble operations.

Version
1.0
Images eq::Frame::startReadback ( ObjectManager glObjects,
const DrawableConfig &  config,
const PixelViewports regions 
)

Start reading back a set of images for this frame.

The newly read images are added to the data, existing images are retained. The finish for the new images has to be done by the caller. The regions are relative to the current OpenGL viewport.

Parameters
glObjectsthe GL object manager for the current GL context.
configthe configuration of the source frame buffer.
regionsthe areas to read back.
Returns
the new images which need finishReadback.
Version
1.3.2
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 = LB_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:


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