20 #ifndef EQFABRIC_VIEW_H    21 #define EQFABRIC_VIEW_H    24 #include <eq/fabric/equalizer.h>          25 #include <eq/fabric/frustum.h>            26 #include <eq/fabric/object.h>             27 #include <eq/fabric/types.h>    28 #include <eq/fabric/viewport.h>           35 #define EQ_UNDEFINED_UNIT -1.f    42 template< 
class L, 
class V, 
class O >
    44 class View : 
public Object, 
public Frustum
    84     EQFABRIC_INL 
void setOverdraw( 
const Vector2i& pixels );
    90     EQFABRIC_INL 
void useEqualizer( uint32_t equalizerMask );
   102     EQFABRIC_INL 
void setViewport( 
const Viewport& viewport );
   121     virtual void activateMode( 
const Mode mode ){ _data.mode = mode; }
   136     EQFABRIC_INL 
bool setModelUnit( 
const float modelUnit );
   163     virtual EQFABRIC_INL 
void backup(); 
   164     virtual EQFABRIC_INL 
void restore(); 
   213     void setCapabilities( 
const uint64_t bitmask ); 
   214     virtual void updateCapabilities() {} 
   219         DIRTY_VIEWPORT       = Object::DIRTY_CUSTOM << 0,
   220         DIRTY_OBSERVER       = Object::DIRTY_CUSTOM << 1,
   221         DIRTY_OVERDRAW       = Object::DIRTY_CUSTOM << 2,
   222         DIRTY_FRUSTUM        = Object::DIRTY_CUSTOM << 3,
   223         DIRTY_MODE           = Object::DIRTY_CUSTOM << 4,
   224         DIRTY_MINCAPS        = Object::DIRTY_CUSTOM << 5,
   225         DIRTY_MAXCAPS        = Object::DIRTY_CUSTOM << 6,
   226         DIRTY_CAPABILITIES   = Object::DIRTY_CUSTOM << 7,
   227         DIRTY_EQUALIZER      = Object::DIRTY_CUSTOM << 8,
   228         DIRTY_EQUALIZERS     = Object::DIRTY_CUSTOM << 9,
   229         DIRTY_MODELUNIT      = Object::DIRTY_CUSTOM << 10,
   230         DIRTY_ATTRIBUTES     = Object::DIRTY_CUSTOM << 11,
   232         DIRTY_VIEWPORT | DIRTY_OBSERVER | DIRTY_OVERDRAW |
   233         DIRTY_FRUSTUM | DIRTY_MODE | DIRTY_MINCAPS | DIRTY_MAXCAPS |
   234         DIRTY_CAPABILITIES | DIRTY_OBJECT_BITS | DIRTY_EQUALIZER |
   235         DIRTY_EQUALIZERS | DIRTY_MODELUNIT | DIRTY_ATTRIBUTES
   244         SATTR_ALL = SATTR_LAST + 5
   257     EQFABRIC_INL 
explicit View( L* layout );
   260     EQFABRIC_INL 
virtual ~View();
   277     EQFABRIC_INL 
virtual void serialize( co::DataOStream& os,
   278                                          const uint64_t dirtyBits );
   281     EQFABRIC_INL 
virtual void deserialize( co::DataIStream& is,
   282                                            const uint64_t dirtyBits );
   285     EQFABRIC_INL 
virtual void setDirty( 
const uint64_t bits );
   288     void setSAttribute( 
const SAttribute attr, 
const std::string& value )
   289     { _sAttributes[attr] = value; setDirty( DIRTY_ATTRIBUTES ); }
   292     virtual uint64_t getRedistributableBits()
 const   293     { 
return DIRTY_VIEW_BITS; }
   296     virtual void notifyFrustumChanged() { setDirty( DIRTY_FRUSTUM ); }
   309     uint64_t _minimumCapabilities; 
   310     uint64_t _maximumCapabilities; 
   311     uint64_t _capabilities; 
   312     uint32_t _equalizers; 
   327     std::string _sAttributes[SATTR_ALL];
   333 template< 
class L, 
class V, 
class O >
   334 EQFABRIC_INL std::ostream& 
operator << ( std::ostream& os,
   338 #endif // EQFABRIC_VIEW_H 
EQFABRIC_INL void useEqualizer(uint32_t equalizerMask)
 
EQFABRIC_INL float getModelUnit() const 
Get the model unit of this view. 
 
EQFABRIC_INL VisitorResult accept(LeafVisitor< V > &visitor)
Traverse this view using a view visitor. 
 
Render in mono (cyclop eye) 
 
Defines export visibility macros for library EqualizerFabric. 
 
A fractional viewport with methods for manipulation. 
 
A visitor to traverse leaf nodes of a graph. 
 
SAttribute
String attributes. 
 
EQFABRIC_INL uint64_t getMinimumCapabilities() const 
 
const L * getLayout() const 
 
const O * getObserver() const 
const version of getObserver(). 
 
DirtyBits
The changed parts of the object since the last pack(). 
 
EQFABRIC_INL uint64_t getMaximumCapabilities() const 
 
Base data transport class for views. 
 
EQFABRIC_INL void setOverdraw(const Vector2i &pixels)
 
EQFABRIC_INL const std::string & getSAttribute(const SAttribute attr) const 
 
virtual EQFABRIC_INL void changeMode(const Mode mode)
Set the mode of this view. 
 
const Vector2i & getOverdraw() const 
 
Mode
The current rendering mode. 
 
Render in stereo (left & right eye) 
 
EQFABRIC_INL void setObserver(O *observer)
Set the entity tracking this view. 
 
EQFABRIC_INL uint64_t getCapabilities() const 
 
The Equalizer client library. 
 
uint32_t getEqualizers() const 
 
virtual bool hasMasterUserData()
The application view instance holds the user data master by default. 
 
std::ostream & operator<<(std::ostream &os, const AxisEvent &event)
Print the axis event to the given output stream. 
 
EQFABRIC_INL const Viewport & getViewport() const 
 
EQFABRIC_INL bool setModelUnit(const float modelUnit)
Set the model unit of this view. 
 
virtual EQFABRIC_INL uint32_t getUserDataLatency() const 
The view user data instance uses the config latency by default. 
 
static EQFABRIC_INL const std::string & getSAttributeString(const SAttribute attr)
 
EQFABRIC_INL void setMinimumCapabilities(const uint64_t bitmask)
Set the minimum required capabilities for this view. 
 
EQFABRIC_INL void setMaximumCapabilities(const uint64_t bitmask)
Set the maximum desired capabilities for this view. 
 
EQFABRIC_INL bool isActive() const 
 
Base data transport class for equalizers. 
 
EQFABRIC_INL const Equalizer & getEqualizer() const