eq::server::Frame Class Reference

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

#include <frame.h>

Inheritance diagram for eq::server::Frame:

Inheritance graph
[legend]
Collaboration diagram for eq::server::Frame:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 Frame ()
 Constructs a new Frame.
 Frame (const Frame &from)
Data Access
CompoundgetCompound () const
ChannelgetChannel () const
NodegetNode () const
void setName (const std::string &name)
const std::string & getName () const
FrameDatagetMasterData () const
bool hasData (const eq::Eye eye) const
void setViewport (const eq::Viewport &vp)
 Set the frame's viewport wrt the compound (output frames) or wrt the corresponding output frame (input frames).
const eq::ViewportgetViewport () const
void setZoom (const eq::Zoom &zoom)
 Set the frame's zoom factor.
const eq::ZoomgetZoom () const
void setBuffers (const uint32_t buffers)
 Set the frame buffers to be read or write by this frame.
eq::Frame::Type getType () const
 return the frame storage type.
void setType (const eq::Frame::Type type)
 Set the frame storage type.
uint32_t getBuffers () const
Operations
void commitData ()
 Commit the frame's data (used for output frames only).
virtual uint32_t commit ()
 Commit the frame.
void cycleData (const uint32_t frameNumber, const uint32_t eyes)
 Cycle the current FrameData.
void addInputFrame (Frame *frame, const uint32_t eyes)
 Add an input frame to this (output) frame.
const FrameVector & getInputFrames (const eq::Eye eye) const
void unsetData ()
 Unset the frame data.
void flush ()
 Reset the frame and delete all frame datas.
Inherit data access.
The inherit data are the actual derived (from parent compound) parameters, set each frame during compound update.

The inherit data is the data used by client-side frame class for readback and assembly.

void setInheritOffset (const Vector2i &offset)
 Set the offset of the frame.
const Vector2igetOffset () const
void setOffset (const Vector2i &offset)
 Set the offset of the frame.
void setInheritZoom (const eq::Zoom &zoom)
 Set the inherit frame zoom factor.
const eq::ZoomgetInheritZoom () const

Protected Member Functions

virtual ChangeType getChangeType () const
virtual void getInstanceData (net::DataOStream &os)
 Serialize the instance information about this managed object.
virtual void applyInstanceData (net::DataIStream &is)
 Deserialize the instance data.

Friends

class Compound


Detailed Description

A holder for frame data and parameters.

Definition at line 37 of file server/frame.h.


Member Function Documentation

void eq::server::Frame::setViewport ( const eq::Viewport vp  )  [inline]

Set the frame's viewport wrt the compound (output frames) or wrt the corresponding output frame (input frames).

Parameters:
vp the fractional viewport.

Definition at line 68 of file server/frame.h.

const eq::Viewport& eq::server::Frame::getViewport (  )  const [inline]

Returns:
the fractional viewport.

Definition at line 71 of file server/frame.h.

Referenced by eq::server::CompoundUpdateInputVisitor::visit().

Here is the caller graph for this function:

void eq::server::Frame::setZoom ( const eq::Zoom zoom  )  [inline]

Set the frame's zoom factor.

Output frames downscale pixel data during readback, and upscale it on the input frame by setting the input frame's inherit zoom. Input frames zoom pixel data during compositing.

Parameters:
zoom the zoom factor.

Definition at line 82 of file server/frame.h.

const eq::Zoom& eq::server::Frame::getZoom (  )  const [inline]

Returns:
the zoom factor.

Definition at line 85 of file server/frame.h.

void eq::server::Frame::setBuffers ( const uint32_t  buffers  )  [inline]

Set the frame buffers to be read or write by this frame.

Parameters:
buffers a bitwise combination of the buffers.

Definition at line 92 of file server/frame.h.

eq::Frame::Type eq::server::Frame::getType (  )  const [inline]

return the frame storage type.

Definition at line 95 of file server/frame.h.

void eq::server::Frame::setType ( const eq::Frame::Type  type  )  [inline]

Set the frame storage type.

Parameters:
type frame storage type.

Definition at line 102 of file server/frame.h.

uint32_t eq::server::Frame::getBuffers (  )  const [inline]

Returns:
the frame buffers used by this frame.

Definition at line 105 of file server/frame.h.

void eq::server::Frame::cycleData ( const uint32_t  frameNumber,
const uint32_t  eyes 
)

Cycle the current FrameData.

Used for output frames to allocate/recycle frame data. Also clears the list of input frames.

Parameters:
frameNumber the current frame number.
eyes the eye passes used.

Definition at line 132 of file server/frame.cpp.

References eq::net::Object::getAutoObsoleteCount(), eq::server::FrameData::getFrameNumber(), eq::net::Object::getSession(), eq::net::Session::registerObject(), eq::net::Object::setAutoObsolete(), and eq::server::FrameData::setFrameNumber().

Here is the call graph for this function:

void eq::server::Frame::addInputFrame ( Frame frame,
const uint32_t  eyes 
)

Add an input frame to this (output) frame.

Parameters:
frame the input frame.
eyes the eye passes used.

Definition at line 173 of file server/frame.cpp.

References _frameData.

Referenced by eq::server::CompoundUpdateInputVisitor::visit().

Here is the caller graph for this function:

const FrameVector& eq::server::Frame::getInputFrames ( const eq::Eye  eye  )  const [inline]

Returns:
the vector of current input frames.

Definition at line 137 of file server/frame.h.

void eq::server::Frame::unsetData (  ) 

Unset the frame data.

Definition at line 90 of file server/frame.cpp.

Referenced by flush(), and eq::server::CompoundUpdateInputVisitor::visit().

Here is the caller graph for this function:

void eq::server::Frame::flush (  ) 

Reset the frame and delete all frame datas.

Definition at line 75 of file server/frame.cpp.

References eq::net::Session::deregisterObject(), eq::net::Object::getSession(), and unsetData().

Referenced by eq::server::CompoundExitVisitor::visit().

Here is the call graph for this function:

Here is the caller graph for this function:

void eq::server::Frame::setInheritOffset ( const Vector2i offset  )  [inline]

Set the offset of the frame.

The offset defines relative data position wrt to the current destination channel of the source.

Definition at line 162 of file server/frame.h.

Referenced by eq::server::CompoundUpdateInputVisitor::visit().

Here is the caller graph for this function:

const Vector2i& eq::server::Frame::getOffset (  )  const [inline]

Returns:
the frame offset.

Definition at line 166 of file server/frame.h.

Referenced by eq::server::CompoundUpdateInputVisitor::visit().

Here is the caller graph for this function:

void eq::server::Frame::setInheritZoom ( const eq::Zoom zoom  )  [inline]

Set the inherit frame zoom factor.

Definition at line 175 of file server/frame.h.

const eq::Zoom& eq::server::Frame::getInheritZoom (  )  const [inline]

Returns:
the inherit zoom factor.

Definition at line 179 of file server/frame.h.

Referenced by eq::server::CompoundUpdateInputVisitor::visit().

Here is the caller graph for this function:

virtual ChangeType eq::server::Frame::getChangeType (  )  const [inline, protected, virtual]

Returns:
how the changes are to be handled.

Reimplemented from eq::net::Object.

Definition at line 184 of file server/frame.h.

References eq::net::Object::INSTANCE.

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

Serialize the instance information about this managed object.

The default implementation uses the data provided by setInstanceData.

Parameters:
os The output stream.

Implements eq::net::Object.

Definition at line 64 of file server/frame.cpp.

void eq::server::Frame::applyInstanceData ( net::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. The default implementation writes the data into the memory declared by setInstanceData.

Parameters:
is the input stream.

Implements eq::net::Object.

Definition at line 69 of file server/frame.cpp.


The documentation for this class was generated from the following files:
Generated on Mon Aug 10 18:58:45 2009 for Equalizer 0.9 by  doxygen 1.5.8