Equalizer
1.2.1
|
A holder for a frame data and related parameters. More...
#include <frame.h>
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 Images & | getImages () const |
void | setData (FrameData *data) |
Set the data for this frame. | |
FrameData * | getData () |
const FrameData * | getData () 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::ObjectVersion & | getDataVersion (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. |
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.
enum eq::Frame::Buffer |
enum eq::Frame::Type |
eq::Frame::Frame | ( | ) |
Construct a new frame.
virtual eq::Frame::~Frame | ( | ) | [virtual] |
Destruct the frame.
void eq::Frame::addListener | ( | co::base::Monitor< uint32_t > & | listener | ) |
Add a listener which will be incremented when the frame is ready.
listener | the listener. |
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.
is | the input stream. |
Implements co::Object.
void eq::Frame::disableBuffer | ( | const Buffer | buffer | ) |
Disable the usage of a frame buffer attachment for all images.
buffer | the buffer to disable. |
Referenced by eVolve::Channel::frameReadback().
uint32_t eq::Frame::getBuffers | ( | ) | const |
virtual ChangeType eq::Frame::getChangeType | ( | ) | const [inline, protected, virtual] |
Reimplemented from co::Object.
Definition at line 260 of file frame.h.
References co::Object::INSTANCE.
FrameData* eq::Frame::getData | ( | ) | [inline] |
Definition at line 161 of file frame.h.
Referenced by eVolve::Channel::frameAssemble(), and eVolve::Channel::frameReadback().
const FrameData* eq::Frame::getData | ( | ) | const [inline] |
const Images& eq::Frame::getImages | ( | ) | const |
Referenced by eVolve::Channel::frameAssemble().
virtual void eq::Frame::getInstanceData | ( | co::DataOStream & | os | ) | [protected, virtual] |
Serialize all instance information of this distributed object.
os | The output stream. |
Implements co::Object.
const std::string& eq::Frame::getName | ( | ) | const |
const Vector2i& eq::Frame::getOffset | ( | ) | const [inline] |
Definition at line 86 of file frame.h.
Referenced by eVolve::Channel::frameAssemble().
uint32_t eq::Frame::getPeriod | ( | ) | const |
Referenced by eqPly::Channel::frameAssemble().
uint32_t eq::Frame::getPhase | ( | ) | const |
const Pixel& eq::Frame::getPixel | ( | ) | const |
const Range& eq::Frame::getRange | ( | ) | const |
Referenced by eVolve::Channel::frameAssemble().
const SubPixel& eq::Frame::getSubPixel | ( | ) | const |
Referenced by eqPly::Channel::frameAssemble().
const Zoom& eq::Frame::getZoom | ( | ) | const [inline] |
Definition at line 139 of file frame.h.
Referenced by eVolve::Channel::frameAssemble().
ZoomFilter eq::Frame::getZoomFilter | ( | ) | const [inline] |
bool eq::Frame::isReady | ( | ) | const |
Test the readiness of the frame.
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.
glObjects | the GL object manager for the current GL context. |
config | the configuration of the source frame buffer. |
Referenced by eVolve::Channel::frameAssemble().
void eq::Frame::removeListener | ( | co::base::Monitor< uint32_t > & | listener | ) |
Remove a frame listener.
listener | the listener. |
void eq::Frame::setAlphaUsage | ( | const bool | useAlpha | ) |
Set alpha usage for newly allocated images.
Referenced by eqPly::Channel::frameReadback().
void eq::Frame::setData | ( | FrameData * | data | ) | [inline] |
Set the data for this frame.
Definition at line 158 of file frame.h.
Referenced by eqPixelBench::Channel::Channel(), and eVolve::Channel::Channel().
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.
Definition at line 96 of file frame.h.
Referenced by eVolve::Channel::frameAssemble().
void eq::Frame::setQuality | ( | const Frame::Buffer | buffer, |
const float | quality | ||
) |
Set the minimum quality after compression.
Referenced by eVolve::Channel::frameReadback(), and eqPly::Channel::frameReadback().
void eq::Frame::setReady | ( | ) |
Set the frame ready.
Equalizer sets the frame automatically ready after readback and after network transmission.
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.
Definition at line 136 of file frame.h.
Referenced by eVolve::Channel::frameAssemble().
void eq::Frame::setZoomFilter | ( | const ZoomFilter | zoomFilter | ) | [inline] |
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().
void eq::Frame::waitReady | ( | const uint32_t | timeout = EQ_TIMEOUT_INDEFINITE | ) | const |
Wait for the frame to become available.
Referenced by eVolve::Channel::frameAssemble().
friend class eq::server::Frame [friend] |