Equalizer  1.12.0
Parallel Rendering Framework
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 >:

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_EQUALIZER = Object::DIRTY_CUSTOM << 8, DIRTY_EQUALIZERS = Object::DIRTY_CUSTOM << 9, DIRTY_MODELUNIT = Object::DIRTY_CUSTOM << 10, DIRTY_ATTRIBUTES = Object::DIRTY_CUSTOM << 11,
  DIRTY_VIEW_BITS
}
 
enum  SAttribute { SATTR_DEFLECT_HOST, SATTR_DEFLECT_ID, SATTR_LAST, SATTR_ALL = SATTR_LAST + 5 }
 String attributes. More...
 
- Public Types inherited from eq::fabric::Object
enum  DirtyBits {
  DIRTY_NAME = Serializable::DIRTY_CUSTOM << 0, DIRTY_USERDATA = Serializable::DIRTY_CUSTOM << 1, DIRTY_TASKS = Serializable::DIRTY_CUSTOM << 2, DIRTY_REMOVED = Serializable::DIRTY_CUSTOM << 3,
  DIRTY_SERIAL = Serializable::DIRTY_CUSTOM << 4, DIRTY_CUSTOM = Serializable::DIRTY_CUSTOM << 6, DIRTY_OBJECT_BITS = DIRTY_NAME | DIRTY_USERDATA
}
 The changed parts of the object since the last pack(). More...
 
- Public Types inherited from eq::fabric::Frustum
enum  Type { TYPE_NONE, TYPE_WALL, TYPE_PROJECTION }
 The type of the last specified frustum. More...
 

Public Member Functions

void setCapabilities (const uint64_t bitmask)
 
virtual void updateCapabilities ()
 
EQFABRIC_INL const std::string & getSAttribute (const SAttribute attr) const
 
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. More...
 
O * getObserver ()
 
const O * getObserver () const
 const version of getObserver(). More...
 
EQFABRIC_INL void setOverdraw (const Vector2i &pixels)
 
const Vector2i & getOverdraw () const
 
EQFABRIC_INL void useEqualizer (uint32_t equalizerMask)
 
uint32_t getEqualizers () const
 
EQFABRIC_INL const EqualizergetEqualizer () const
 
EQFABRIC_INL EqualizergetEqualizer ()
 
EQFABRIC_INL void setViewport (const Viewport &viewport)
 
Mode getMode () const
 
virtual EQFABRIC_INL void changeMode (const Mode mode)
 Set the mode of this view. More...
 
virtual void activateMode (const Mode mode)
 
EQFABRIC_INL bool isActive () const
 
EQFABRIC_INL bool setModelUnit (const float modelUnit)
 Set the model unit of this view. More...
 
EQFABRIC_INL float getModelUnit () const
 Get the model unit of this view. More...
 
Operations
EQFABRIC_INL VisitorResult accept (LeafVisitor< V > &visitor)
 Traverse this view using a view visitor. More...
 
EQFABRIC_INL VisitorResult accept (LeafVisitor< V > &visitor) const
 Const-version of accept(). More...
 
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. More...
 
EQFABRIC_INL uint64_t getMinimumCapabilities () const
 
EQFABRIC_INL void setMaximumCapabilities (const uint64_t bitmask)
 Set the maximum desired capabilities for this view. More...
 
EQFABRIC_INL uint64_t getMaximumCapabilities () const
 
EQFABRIC_INL uint64_t getCapabilities () const
 
- Public Member Functions inherited from eq::fabric::Object
virtual EQFABRIC_API bool isDirty () const
 
virtual EQFABRIC_API uint128_t commit (const uint32_t incarnation=CO_COMMIT_NEXT)
 
virtual EQFABRIC_API void setName (const std::string &name)
 Set the name of the object. More...
 
EQFABRIC_API const std::string & getName () const
 
EQFABRIC_API void setUserData (co::Object *userData)
 Set user-specific data. More...
 
EQFABRIC_API co::Object * getUserData ()
 
EQFABRIC_API const co::Object * getUserData () const
 
EQFABRIC_API uint32_t getTasks () const
 Return the set of tasks this channel might execute in the worst case. More...
 
EQFABRIC_API uint32_t getSerial () const
 
- Public Member Functions inherited from eq::fabric::Frustum
EQFABRIC_API Frustum ()
 Construct a new frustum. More...
 
virtual EQFABRIC_API ~Frustum ()
 Destruct the frustum. More...
 
EQFABRIC_API void setWall (const Wall &wall)
 Set the frustum using a wall description. More...
 
EQFABRIC_API void setProjection (const Projection &projection)
 Set the frustum using a projection description. More...
 
const WallgetWall () const
 
const ProjectiongetProjection () const
 
Type getCurrentType () const
 
EQFABRIC_API void unsetFrustum ()
 Set the last specified frustum to TYPE_NONE. More...
 
EQFABRIC_API void serialize (co::DataOStream &os)
 
EQFABRIC_API void deserialize (co::DataIStream &is)
 

Static Public Member Functions

static EQFABRIC_INL const std::string & getSAttributeString (const SAttribute attr)
 

Protected Member Functions

EQFABRIC_INL View (L *layout)
 
virtual bool hasMasterUserData ()
 The application view instance holds the user data master by default. More...
 
virtual EQFABRIC_INL uint32_t getUserDataLatency () const
 The view user data instance uses the config latency by default. More...
 
virtual EQFABRIC_INL void serialize (co::DataOStream &os, const uint64_t dirtyBits)
 
virtual EQFABRIC_INL void deserialize (co::DataIStream &is, const uint64_t dirtyBits)
 
virtual EQFABRIC_INL void setDirty (const uint64_t bits)
 
void setSAttribute (const SAttribute attr, const std::string &value)
 
virtual uint64_t getRedistributableBits () const
 
virtual void notifyFrustumChanged ()
 
- Protected Member Functions inherited from eq::fabric::Object
EQFABRIC_API Object ()
 Construct a new Object. More...
 
EQFABRIC_API Object (const Object &)
 Construct an unmapped, unregistered copy of an object. More...
 
virtual EQFABRIC_API ~Object ()
 Destruct the object. More...
 
EQFABRIC_API Objectoperator= (const Object &from)
 NOP assignment operator. More...
 
EQFABRIC_API void setTasks (const uint32_t tasks)
 
virtual EQFABRIC_API void notifyDetach ()
 
EQFABRIC_API void postRemove (Object *child)
 
virtual void removeChild (const uint128_t &)
 
template<class C , class S >
void commitChild (C *child, S *sender, uint32_t cmd, const uint32_t incarnation)
 
template<class C >
void commitChild (C *child, const uint32_t incarnation)
 
template<class C , class S >
void commitChildren (const std::vector< C * > &children, S *sender, uint32_t cmd, const uint32_t incarnation)
 
template<class C >
void commitChildren (const std::vector< C * > &children, uint32_t cmd, const uint32_t incarnation)
 
template<class C >
void commitChildren (const std::vector< C * > &children, const uint32_t incarnation)
 
template<class C >
void syncChildren (const std::vector< C * > &children)
 
template<class P , class C >
void releaseChildren (const std::vector< C * > &children)
 
EQFABRIC_API bool _cmdSync (co::ICommand &command)
 
- Protected Member Functions inherited from eq::fabric::Frustum
virtual void updateFrustum ()
 

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 85 of file eq/fabric/types.h.

Member Enumeration Documentation

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 48 of file fabric/view.h.

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

String attributes.

Definition at line 239 of file 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>
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>
EQFABRIC_INL const Equalizer& eq::fabric::View< L, V, O >::getEqualizer ( ) const
Returns
read-access to Equalizer properties.
Version
1.5.1
template<class L, class V, class O>
EQFABRIC_INL Equalizer& eq::fabric::View< L, V, O >::getEqualizer ( )
Returns
write-access to Equalizer properties.
Version
1.5.1
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 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 63 of file fabric/view.h.

Referenced by 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 69 of file 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 fabric/view.h.

template<class L, class V, class O>
EQFABRIC_INL float eq::fabric::View< L, V, O >::getModelUnit ( ) const

Get the model unit of this view.

The default model unit is 1 (1 meter or EQ_M).

Returns
the model unit of this view.
Version
1.3.1
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 78 of file 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 81 of file 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 fabric/view.h.

template<class L, class V, class O>
EQFABRIC_INL const std::string& eq::fabric::View< L, V, O >::getSAttribute ( const SAttribute  attr) const
Returns
the value of a string attribute.
Version
1.9
template<class L, class V, class O>
static EQFABRIC_INL const std::string& eq::fabric::View< L, V, O >::getSAttributeString ( const SAttribute  attr)
static
Returns
the name of a string attribute.
Version
1.9
template<class L, class V, class O>
virtual EQFABRIC_INL uint32_t eq::fabric::View< L, V, O >::getUserDataLatency ( ) const
protectedvirtual

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

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 267 of file 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>
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 bool eq::fabric::View< L, V, O >::setModelUnit ( const float  modelUnit)

Set the model unit of this view.

The model unit defines the size of the model wrt the virtual room unit which is always in meter.

Parameters
modelUnitthe new model unit value
Returns
true if the model unit has changed.
Version
1.3.1
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>
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 files: