Equalizer  1.6.1
Classes | Public Types | Public Member Functions | Protected Member Functions | List of all members
eq::fabric::View< class, class, class > Class Template Reference

Base data transport class for views. More...

#include <view.h>

+ Inheritance diagram for eq::fabric::View< class, class, class >:
+ Collaboration diagram for eq::fabric::View< class, class, class >:

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_SAGECONFIG = Object::DIRTY_CUSTOM << 11,
  DIRTY_DISPLAYCLUSTER = Object::DIRTY_CUSTOM << 12, DIRTY_VIEW_BITS
}
 
- Public Types inherited from eq::fabric::Object
enum  DirtyBits {
  DIRTY_NAME = Serializable::DIRTY_CUSTOM << 0, DIRTY_USERDATA = Serializable::DIRTY_CUSTOM << 1, DIRTY_ERROR = Serializable::DIRTY_CUSTOM << 2, DIRTY_TASKS = Serializable::DIRTY_CUSTOM << 3,
  DIRTY_REMOVED = Serializable::DIRTY_CUSTOM << 4, DIRTY_SERIAL = Serializable::DIRTY_CUSTOM << 5, DIRTY_CUSTOM = Serializable::DIRTY_CUSTOM << 6, DIRTY_OBJECT_BITS = DIRTY_NAME | DIRTY_USERDATA | DIRTY_ERROR
}
 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 ()
 
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 Vector2igetOverdraw () 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...
 
void setSageConfig (const std::string &config)
 Set the SAGE configuration file for this view. More...
 
const std::string & getSageConfig () const
 
void setDisplayCluster (const std::string &hostname)
 Set the DisplayCluster hostname for this view. More...
 
const std::string & getDisplayCluster () const
 
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 bool isDirty () const
 
virtual uint128_t commit (const uint32_t incarnation=CO_COMMIT_NEXT)
 
void setName (const std::string &name)
 Set the name of the object. More...
 
const std::string & getName () const
 
void setUserData (co::Object *userData)
 Set user-specific data. More...
 
co::Object * getUserData ()
 
const co::Object * getUserData () const
 
void setError (const int32_t error)
 Set an error code why the last operation failed. More...
 
eq::fabric::Error getError () const
 
uint32_t getTasks () const
 Return the set of tasks this channel might execute in the worst case. More...
 
uint32_t getSerial () const
 
- Public Member Functions inherited from eq::fabric::Frustum
 Frustum ()
 Construct a new frustum. More...
 
virtual ~Frustum ()
 Destruct the frustum. More...
 
void setWall (const Wall &wall)
 Set the frustum using a wall description. More...
 
void setProjection (const Projection &projection)
 Set the frustum using a projection description. More...
 
const WallgetWall () const
 
const ProjectiongetProjection () const
 
Type getCurrentType () const
 
void unsetFrustum ()
 Set the last specified frustum to TYPE_NONE. More...
 
void serialize (co::DataOStream &os)
 
void deserialize (co::DataIStream &is)
 

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)
 
virtual uint64_t getRedistributableBits () const
 
virtual void notifyFrustumChanged ()
 
- Protected Member Functions inherited from eq::fabric::Object
 Object ()
 Construct a new Object. More...
 
virtual ~Object ()
 Destruct the object. More...
 
void setTasks (const uint32_t tasks)
 
virtual void notifyDetach ()
 
void postRemove (Object *child)
 
virtual void removeChild (const UUID &)
 
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)
 
bool _cmdSync (co::ICommand &command)
 
- Protected Member Functions inherited from eq::fabric::Frustum
virtual void updateFrustum ()
 

Detailed Description

template<class, class, class>
class eq::fabric::View< class, class, class >

Base data transport class for views.

See Also
eq::View

Definition at line 78 of file eq/fabric/types.h.

Member Enumeration Documentation

template<class , class , class >
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 47 of file include/eq/fabric/view.h.

Member Function Documentation

template<class , class , class >
EQFABRIC_INL VisitorResult eq::fabric::View< class, class, class >::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 , class , class >
EQFABRIC_INL VisitorResult eq::fabric::View< class, class, class >::accept ( LeafVisitor< V > &  visitor) const

Const-version of accept().

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

Set the mode of this view.

Parameters
modethe new rendering mode
Version
1.0
template<class , class , class >
EQFABRIC_INL uint64_t eq::fabric::View< class, class, class >::getCapabilities ( ) const
Returns
the bitmask usable for rendering.
See Also
setMaximumCapabilities()
Version
1.0
template<class , class , class >
const std::string& eq::fabric::View< class, class, class >::getDisplayCluster ( ) const
Returns
the DisplayCluster host name.
Version
1.5.2
template<class , class , class >
EQFABRIC_INL const Equalizer& eq::fabric::View< class, class, class >::getEqualizer ( ) const
Returns
read-access to Equalizer properties.
Version
1.5.1
template<class , class , class >
EQFABRIC_INL Equalizer& eq::fabric::View< class, class, class >::getEqualizer ( )
Returns
write-access to Equalizer properties.
Version
1.5.1
template<class , class , class >
uint32_t eq::fabric::View< class, class, class >::getEqualizers ( ) const
inline
Warning
Undocumented - may not be supported in the future

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

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

Definition at line 62 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 , class , class >
const L* eq::fabric::View< class, class, class >::getLayout ( ) const
inline
Returns
the parent layout of this view, 0 for render client views.
Version
1.0

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

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

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

template<class , class , class >
EQFABRIC_INL float eq::fabric::View< class, class, class >::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 , class , class >
O* eq::fabric::View< class, class, class >::getObserver ( )
inline
Returns
the observer tracking this view, or 0 for untracked views.
Version
1.0

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

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

const version of getObserver().

Version
1.0

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

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

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

template<class , class , class >
const std::string& eq::fabric::View< class, class, class >::getSageConfig ( ) const
Returns
the SAGE configuration file of this view.
Version
1.5.2
template<class , class , class >
virtual EQFABRIC_INL uint32_t eq::fabric::View< class, class, class >::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 , class , class >
EQFABRIC_INL const Viewport& eq::fabric::View< class, class, class >::getViewport ( ) const
Returns
the viewport of the view wrt its layout.
Version
1.0
template<class , class , class >
virtual bool eq::fabric::View< class, class, class >::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 272 of file include/eq/fabric/view.h.

template<class , class , class >
EQFABRIC_INL bool eq::fabric::View< class, class, class >::isActive ( ) const
Returns
true if the view's layout is active.
Version
1.1.5
template<class , class , class >
void eq::fabric::View< class, class, class >::setDisplayCluster ( const std::string &  hostname)

Set the DisplayCluster hostname for this view.

Version
1.5.2
template<class , class , class >
EQFABRIC_INL void eq::fabric::View< class, class, class >::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 , class , class >
EQFABRIC_INL void eq::fabric::View< class, class, class >::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 , class , class >
EQFABRIC_INL bool eq::fabric::View< class, class, class >::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 , class , class >
EQFABRIC_INL void eq::fabric::View< class, class, class >::setObserver ( O *  observer)

Set the entity tracking this view.

Version
1.0
template<class , class , class >
EQFABRIC_INL void eq::fabric::View< class, class, class >::setOverdraw ( const Vector2i pixels)
Warning
Undocumented - may not be supported in the future
template<class , class , class >
void eq::fabric::View< class, class, class >::setSageConfig ( const std::string &  config)

Set the SAGE configuration file for this view.

The configuration file is used to setup a SAGE sail instance to create a SAGE application for this view including pixel data streaming and event handling on a SAGE-driven display.

Parameters
configthe filepath of the SAGE configuration file
Version
1.5.2
template<class , class , class >
EQFABRIC_INL void eq::fabric::View< class, class, class >::useEqualizer ( uint32_t  equalizerMask)
Warning
Undocumented - may not be supported in the future

The documentation for this class was generated from the following files: