18 #ifndef EQFABRIC_FRAME_H
19 #define EQFABRIC_FRAME_H
21 #include <eq/fabric/api.h>
22 #include <eq/fabric/eye.h>
23 #include <eq/fabric/types.h>
24 #include <co/object.h>
30 namespace detail {
class Frame; }
42 BUFFER_NONE = LB_BIT_NONE,
46 BUFFER_ALL = LB_BIT_ALL_32
60 EQFABRIC_API
virtual ~Frame();
65 EQFABRIC_API
void setName(
const std::string& name );
68 EQFABRIC_API
const std::string&
getName()
const;
97 EQFABRIC_API
const co::ObjectVersion& getDataVersion(
const Eye )
const;
102 const std::vector< uint128_t >& getInputNodes(
const Eye eye )
const;
105 EQFABRIC_API
const co::NodeIDs& getInputNetNodes(
const Eye eye)
const;
108 virtual ChangeType getChangeType()
const {
return INSTANCE; }
109 EQFABRIC_API
virtual void getInstanceData( co::DataOStream& os );
110 EQFABRIC_API
virtual void applyInstanceData( co::DataIStream& is );
113 EQFABRIC_API
void _setDataVersion(
const unsigned i,
114 const co::ObjectVersion& ov );
117 EQFABRIC_API std::vector< uint128_t >& _getInputNodes(
const unsigned i );
120 EQFABRIC_API co::NodeIDs& _getInputNetNodes(
const unsigned i );
123 detail::Frame*
const _impl;
127 EQFABRIC_API std::ostream& operator << ( std::ostream&,
const Frame& );
129 EQFABRIC_API std::ostream& operator << ( std::ostream&,
const Frame::Type );
131 EQFABRIC_API std::ostream& operator << (std::ostream&,
const Frame::Buffer);
138 { byteswap( reinterpret_cast< uint32_t& >( value )); }
140 #endif // EQFABRIC_FRAME_H
EQFABRIC_API void setName(const std::string &name)
Set the name of the frame.
A zoom specification with methods for manipulation.
EQFABRIC_API Frame()
Construct a new frame.
Buffer
The buffer format defines which components of the frame are to be used during readback and assembly...
EQFABRIC_API void setOffset(const Vector2i &offset)
Set the position of the frame wrt the channel.
Type
The storage type for pixel data.
virtual EQFABRIC_API ~Frame()
Destruct the frame.
Eye
Eye pass bit mask for which is enabled.
use a GL texture to store pixel data
A holder for a frame data and related parameters.
Inherit, only if no others are set.
EQFABRIC_API const Zoom & getZoom() const
use main memory to store pixel data
EQFABRIC_API const std::string & getName() const
EQFABRIC_API void setZoom(const Zoom &zoom)
Set the zoom for this frame holder.
EQFABRIC_API const Vector2i & getOffset() const
vmml::vector< 2, int > Vector2i
A two-component integer vector.