Equalizer  1.2.1
Classes | Public Member Functions | Public Types | Protected Member Functions
eq::fabric::View< L, V, O > Class Template Reference

Base data transport class for views. More...

#include <view.h>

+ Inheritance diagram for eq::fabric::View< L, V, O >:
+ Collaboration diagram for eq::fabric::View< L, V, O >:

List of all members.

Classes

struct  BackupData

Public Member Functions

void setCapabilities (const uint64_t bitmask)
virtual void updateCapabilities ()
Data Access.
EQFABRIC_INL const ViewportgetViewport () const
L * getLayout ()
const L * getLayout () const
EQFABRIC_INL void setObserver (O *observer)
 Set the entity tracking this view.
O * getObserver ()
const O * getObserver () const
 const version of getObserver().
virtual EQFABRIC_INL void setWall (const Wall &wall)
virtual EQFABRIC_INL void setProjection (const Projection &)
virtual EQFABRIC_INL void unsetFrustum ()
EQFABRIC_INL void setOverdraw (const Vector2i &pixels)
const Vector2igetOverdraw () const
EQFABRIC_INL void useEqualizer (uint32_t equalizerMask)
uint32_t getEqualizers () const
EQFABRIC_INL void setTileSize (const Vector2i &size)
const Vector2igetTileSize () const
EQFABRIC_INL void setViewport (const Viewport &viewport)
Mode getMode () const
virtual EQFABRIC_INL void changeMode (const Mode mode)
 Set the mode of this view.
virtual void activateMode (const Mode mode)
EQFABRIC_INL bool isActive () const
Operations
EQFABRIC_INL VisitorResult accept (LeafVisitor< V > &visitor)
 Traverse this view using a view visitor.
EQFABRIC_INL VisitorResult accept (LeafVisitor< V > &visitor) const
 Const-version of accept().
virtual EQFABRIC_INL void backup ()
virtual EQFABRIC_INL void restore ()
EQFABRIC_INL void setMinimumCapabilities (const uint64_t bitmask)
 Set the minimum required capabilities for this view.
EQFABRIC_INL uint64_t getMinimumCapabilities () const
EQFABRIC_INL void setMaximumCapabilities (const uint64_t bitmask)
 Set the maximum desired capabilities for this view.
EQFABRIC_INL uint64_t getMaximumCapabilities () const
EQFABRIC_INL uint64_t getCapabilities () const

Public Types

enum  Mode { MODE_MONO = 1, MODE_STEREO }
 The current rendering mode. More...
enum  DirtyBits {
  DIRTY_VIEWPORT = Object::DIRTY_CUSTOM << 0, DIRTY_OBSERVER = Object::DIRTY_CUSTOM << 1, DIRTY_OVERDRAW = Object::DIRTY_CUSTOM << 2, DIRTY_FRUSTUM = Object::DIRTY_CUSTOM << 3,
  DIRTY_MODE = Object::DIRTY_CUSTOM << 4, DIRTY_MINCAPS = Object::DIRTY_CUSTOM << 5, DIRTY_MAXCAPS = Object::DIRTY_CUSTOM << 6, DIRTY_CAPABILITIES = Object::DIRTY_CUSTOM << 7,
  DIRTY_TILESIZE = Object::DIRTY_CUSTOM << 8, DIRTY_EQUALIZERS = Object::DIRTY_CUSTOM << 9, DIRTY_VIEW_BITS
}
 The changed parts of the object since the last pack(). More...

Protected Member Functions

EQFABRIC_INL View (L *layout)
virtual bool hasMasterUserData ()
 The application view instance holds the user data master by default.
virtual EQFABRIC_INL uint32_t getUserDataLatency () const
 The view user data instance uses the config latency by default.
virtual EQFABRIC_INL void serialize (co::DataOStream &os, const uint64_t dirtyBits)
 Worker for pack() and getInstanceData().
virtual EQFABRIC_INL void deserialize (co::DataIStream &is, const uint64_t dirtyBits)
 Worker for unpack() and applyInstanceData().
virtual EQFABRIC_INL void setDirty (const uint64_t bits)
 Add dirty flags to mark data for distribution.
virtual uint64_t getRedistributableBits () const

Detailed Description

template<class L, class V, class O>
class eq::fabric::View< L, V, O >

Base data transport class for views.

See also:
eq::View

Definition at line 35 of file include/eq/fabric/view.h.


Member Enumeration Documentation

template<class L, class V, class O>
enum eq::fabric::View::DirtyBits

The changed parts of the object since the last pack().

Subclasses should define their own bits, starting at DIRTY_CUSTOM.

Reimplemented from eq::fabric::Object.

Definition at line 195 of file include/eq/fabric/view.h.

template<class L, class V, class O>
enum eq::fabric::View::Mode

The current rendering mode.

Enumerator:
MODE_MONO 

Render in mono (cyclop eye)

MODE_STEREO 

Render in stereo (left & right eye)

Definition at line 39 of file include/eq/fabric/view.h.


Member Function Documentation

template<class L, class V, class O>
EQFABRIC_INL VisitorResult eq::fabric::View< L, V, O >::accept ( LeafVisitor< V > &  visitor)

Traverse this view using a view visitor.

Parameters:
visitorthe visitor.
Returns:
the result of the visitor traversal.
Version:
1.0
template<class L, class V, class O>
EQFABRIC_INL VisitorResult eq::fabric::View< L, V, O >::accept ( LeafVisitor< V > &  visitor) const

Const-version of accept().

Version:
1.0
template<class L, class V, class O>
virtual EQFABRIC_INL void eq::fabric::View< L, V, O >::changeMode ( const Mode  mode) [virtual]

Set the mode of this view.

Parameters:
modethe new rendering mode
Version:
1.0
template<class L, class V, class O>
virtual EQFABRIC_INL void eq::fabric::View< L, V, O >::deserialize ( co::DataIStream ,
const uint64_t   
) [protected, virtual]

Worker for unpack() and applyInstanceData().

This function is called with the dirty bits send by the master instance. The dirty bits are received beforehand, and do not need to be deserialized by the overriding method.

See also:
serialize()
Version:
1.0

Reimplemented from eq::fabric::Object.

Reimplemented in eq::View.

template<class L, class V, class O>
EQFABRIC_INL uint64_t eq::fabric::View< L, V, O >::getCapabilities ( ) const
Returns:
the bitmask usable for rendering.
See also:
setMaximumCapabilities()
Version:
1.0
template<class L, class V, class O>
uint32_t eq::fabric::View< L, V, O >::getEqualizers ( ) const [inline]
Warning:
Undocumented - may not be supported in the future

Definition at line 93 of file include/eq/fabric/view.h.

template<class L, class V, class O>
L* eq::fabric::View< L, V, O >::getLayout ( ) [inline]
Returns:
the parent layout of this view, 0 for render client views.
Version:
1.0

Definition at line 54 of file include/eq/fabric/view.h.

Referenced by eVolve::Config::handleEvent(), eqPly::Config::handleEvent(), and eq::fabric::View< Layout, View, Observer >::hasMasterUserData().

+ Here is the caller graph for this function:

template<class L, class V, class O>
const L* eq::fabric::View< L, V, O >::getLayout ( ) const [inline]
Returns:
the parent layout of this view, 0 for render client views.
Version:
1.0

Definition at line 60 of file include/eq/fabric/view.h.

template<class L, class V, class O>
EQFABRIC_INL uint64_t eq::fabric::View< L, V, O >::getMaximumCapabilities ( ) const
Returns:
the bitmask that represents the maximum capabilities.
Version:
1.0
template<class L, class V, class O>
EQFABRIC_INL uint64_t eq::fabric::View< L, V, O >::getMinimumCapabilities ( ) const
Returns:
the bitmask of the minimum capabilities.
Version:
1.0
template<class L, class V, class O>
Mode eq::fabric::View< L, V, O >::getMode ( ) const [inline]
Returns:
the stereo mode of this view.
Version:
1.0

Definition at line 105 of file include/eq/fabric/view.h.

template<class L, class V, class O>
O* eq::fabric::View< L, V, O >::getObserver ( ) [inline]
Returns:
the observer tracking this view, or 0 for untracked views.
Version:
1.0

Definition at line 69 of file include/eq/fabric/view.h.

template<class L, class V, class O>
const O* eq::fabric::View< L, V, O >::getObserver ( ) const [inline]

const version of getObserver().

Version:
1.0

Definition at line 72 of file include/eq/fabric/view.h.

template<class L, class V, class O>
const Vector2i& eq::fabric::View< L, V, O >::getOverdraw ( ) const [inline]
Warning:
Undocumented - may not be supported in the future

Definition at line 87 of file include/eq/fabric/view.h.

template<class L, class V, class O>
const Vector2i& eq::fabric::View< L, V, O >::getTileSize ( ) const [inline]
Warning:
Undocumented - may not be supported in the future

Definition at line 99 of file include/eq/fabric/view.h.

template<class L, class V, class O>
virtual EQFABRIC_INL uint32_t eq::fabric::View< L, V, O >::getUserDataLatency ( ) const [protected, virtual]

The view user data instance uses the config latency by default.

See also:
Object::getUserDataLatency().
Version:
1.0

Reimplemented from eq::fabric::Object.

template<class L, class V, class O>
EQFABRIC_INL const Viewport& eq::fabric::View< L, V, O >::getViewport ( ) const
Returns:
the viewport of the view wrt its layout.
Version:
1.0
template<class L, class V, class O>
virtual bool eq::fabric::View< L, V, O >::hasMasterUserData ( ) [inline, protected, virtual]

The application view instance holds the user data master by default.

See also:
Object::hasMasterUserData().
Version:
1.0

Reimplemented from eq::fabric::Object.

Definition at line 226 of file include/eq/fabric/view.h.

template<class L, class V, class O>
EQFABRIC_INL bool eq::fabric::View< L, V, O >::isActive ( ) const
Returns:
true if the view's layout is active.
Version:
1.1.5
template<class L, class V, class O>
virtual EQFABRIC_INL void eq::fabric::View< L, V, O >::serialize ( co::DataOStream ,
const uint64_t   
) [protected, virtual]

Worker for pack() and getInstanceData().

Override this and deserialize() if you want to distribute subclassed data.

This method is called with DIRTY_ALL from getInstanceData() and with the actual dirty bits from pack(), which also resets the dirty state afterwards. The dirty bits are transmitted beforehand, and do not need to be transmitted by the overriding method.

Version:
1.0

Reimplemented from eq::fabric::Object.

template<class L, class V, class O>
virtual EQFABRIC_INL void eq::fabric::View< L, V, O >::setDirty ( const uint64_t  bits) [protected, virtual]

Add dirty flags to mark data for distribution.

Version:
1.0

Reimplemented from co::Serializable.

template<class L, class V, class O>
EQFABRIC_INL void eq::fabric::View< L, V, O >::setMaximumCapabilities ( const uint64_t  bitmask)

Set the maximum desired capabilities for this view.

The capabilities returned by getCapabilities() during rendering match the lowest common denominator of all channel capabilities and this bitmask. Logically it has to be a superset of the minimum capabilities. By default all bits are set.

The capabilities are used to selectively disable source channels in conjunction with a load equalizer. Each channel typically sets its capabilities during configInit. The application sets the minimum and maximum capabilities needed or desired to render this view. The channel queries the capabilities to be used using getCapabilities().

Parameters:
bitmaskthe capabilities as bitmask
Version:
1.0
template<class L, class V, class O>
EQFABRIC_INL void eq::fabric::View< L, V, O >::setMinimumCapabilities ( const uint64_t  bitmask)

Set the minimum required capabilities for this view.

Any channel which does not support all of the bits in this mask does not execute any tasks. By default no bit is set.

Parameters:
bitmaskthe capabilities as bitmask
Version:
1.0
template<class L, class V, class O>
EQFABRIC_INL void eq::fabric::View< L, V, O >::setObserver ( O *  observer)

Set the entity tracking this view.

Version:
1.0
template<class L, class V, class O>
EQFABRIC_INL void eq::fabric::View< L, V, O >::setOverdraw ( const Vector2i pixels)
Warning:
Undocumented - may not be supported in the future
template<class L, class V, class O>
virtual EQFABRIC_INL void eq::fabric::View< L, V, O >::setProjection ( const Projection ) [virtual]
See also:
Frustum::setProjection()
Version:
1.0

Reimplemented from eq::fabric::Frustum.

template<class L, class V, class O>
EQFABRIC_INL void eq::fabric::View< L, V, O >::setTileSize ( const Vector2i size)
Warning:
Undocumented - may not be supported in the future
template<class L, class V, class O>
virtual EQFABRIC_INL void eq::fabric::View< L, V, O >::setWall ( const Wall wall) [virtual]
See also:
Frustum::setWall()
Version:
1.0

Reimplemented from eq::fabric::Frustum.

template<class L, class V, class O>
virtual EQFABRIC_INL void eq::fabric::View< L, V, O >::unsetFrustum ( ) [virtual]
See also:
Frustum::unsetFrustum()
Version:
1.0

Reimplemented from eq::fabric::Frustum.

template<class L, class V, class O>
EQFABRIC_INL void eq::fabric::View< L, V, O >::useEqualizer ( uint32_t  equalizerMask)
Warning:
Undocumented - may not be supported in the future

The documentation for this class was generated from the following file:
Generated on Fri Jun 8 2012 15:44:36 for Equalizer 1.2.1 by  doxygen 1.8.0