Equalizer 1.0

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.

Public Member Functions

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
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 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)
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 ()

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_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 177 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>
const L* eq::fabric::View< L, V, O >::getLayout ( ) const [inline]
Returns:
the parent layout of this view, can be 0.
Version:
1.0

Definition at line 54 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, can be 0.
Version:
1.0

Definition at line 51 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>
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>
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 63 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 66 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 81 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 205 of file include/eq/fabric/view.h.

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 eq::fabric::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>
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.


The documentation for this class was generated from the following file:
Generated on Sun May 8 2011 19:11:10 for Equalizer 1.0 by  doxygen 1.7.3