Equalizer  2.1.0
Parallel Rendering Framework
eq::fabric::Config< S, C, O, L, CV, N, V > Class Template Reference

Base data class for a configuration. More...

#include <config.h>

+ Inheritance diagram for eq::fabric::Config< S, C, O, L, CV, N, V >:
+ Collaboration diagram for eq::fabric::Config< S, C, O, L, CV, N, V >:

Public Types

typedef std::vector< O * > Observers
 A vector of observers.
 
typedef std::vector< L * > Layouts
 A vector of layouts.
 
typedef std::vector< CV * > Canvases
 A vector of canvases.
 
typedef std::vector< N * > Nodes
 A vector of nodes.
 
- 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 Member Functions

virtual void output (std::ostream &) const
 
void create (O **observer)
 
void release (O *observer)
 
void create (L **layout)
 
void release (L *layout)
 
void create (CV **canvas)
 
void release (CV *canvas)
 
void create (N **node)
 
void release (N *node)
 
Data Access
EQFABRIC_INL lunchbox::RefPtr< S > getServer ()
 
EQFABRIC_INL lunchbox::RefPtr< const S > getServer () const
 
const ObserversgetObservers () const
 
const LayoutsgetLayouts () const
 
const CanvasesgetCanvases () const
 
EQFABRIC_INL uint32_t getTimeout () const
 
const NodesgetNodes () const
 
EQFABRIC_INL N * findAppNode ()
 
EQFABRIC_INL const N * findAppNode () const
 
EQFABRIC_INL VisitorResult accept (V &visitor)
 Perform a depth-first traversal of this config. More...
 
EQFABRIC_INL VisitorResult accept (V &visitor) const
 Const-version of accept(). More...
 
template<typename T >
EQFABRIC_INL T * find (const uint128_t &id)
 
template<typename T >
EQFABRIC_INL const T * find (const uint128_t &id) const
 
template<typename T >
EQFABRIC_INL T * find (const std::string &name)
 
template<typename T >
EQFABRIC_INL const T * find (const std::string &name) const
 
O * getObserver (const ObserverPath &path)
 
L * getLayout (const LayoutPath &path)
 
CV * getCanvas (const CanvasPath &path)
 
template<typename T >
void find (const uint128_t &id, T **result)
 
template<typename T >
void find (const std::string &name, const T **result) const
 
virtual void updateCanvas (CV *)
 
virtual void exitCanvas (CV *)
 
Operations
virtual void setLatency (const uint32_t latency)
 Set the maximum accepted latency for this config. More...
 
uint32_t getLatency () const
 
virtual EQFABRIC_INL void restore ()
 
- Public Member Functions inherited from eq::fabric::Object
EQFABRIC_API bool isDirty () const override
 
EQFABRIC_API uint128_t commit (const uint32_t incarnation=CO_COMMIT_NEXT) override
 
virtual EQFABRIC_API void backup ()
 
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
 

Protected Member Functions

EQFABRIC_INL Config (lunchbox::RefPtr< S > parent)
 
virtual EQFABRIC_INL void attach (const uint128_t &id, const uint32_t instanceID)
 
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 notifyDetach ()
 
virtual void _removeChild (const uint128_t &)
 
void setAppNodeID (const co::NodeID &nodeID)
 
const co::NodeID & getAppNodeID () const
 
EQFABRIC_INL EventOCommand sendError (co::NodePtr node, const uint32_t event, const Error &error)
 
virtual void changeLatency (const uint32_t)
 
virtual bool mapViewObjects () const
 
virtual bool mapNodeObjects () const
 
virtual VisitorResult _acceptCompounds (V &)
 
virtual VisitorResult _acceptCompounds (V &) const
 
N * _findNode (const uint128_t &id)
 
virtual EQFABRIC_INL uint128_t commit (const uint32_t incarnation=CO_COMMIT_NEXT)
 
- 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...
 
virtual bool hasMasterUserData ()
 
virtual uint32_t getUserDataLatency () const
 
EQFABRIC_API void setTasks (const uint32_t tasks)
 
EQFABRIC_API void notifyDetach () override
 
EQFABRIC_API void serialize (co::DataOStream &os, const uint64_t dirtyBits) override
 
EQFABRIC_API void deserialize (co::DataIStream &is, const uint64_t dirtyBits) override
 
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)
 
EQFABRIC_API void updateEvent (Event &event, int64_t time)
 

Friends

template<class , class , class , class , class , class >
class Server
 
template<class , class >
class Observer
 
template<class , class , class >
class Layout
 
template<class , class , class , class >
class Canvas
 
template<class , class , class , class >
class Node
 
template<class C2 , class V2 >
VisitorResult _acceptImpl (C2 *, V2 &)
 

Attributes

enum  FAttribute { FATTR_EYE_BASE, FATTR_VERSION, FATTR_LAST, FATTR_ALL = FATTR_LAST + 5 }
 Floating-point attributes. More...
 
enum  IAttribute { IATTR_ROBUSTNESS, IATTR_LAST, IATTR_ALL = IATTR_LAST + 5 }
 Integer attributes. More...
 
void setFAttribute (const FAttribute attr, const float value)
 
void setIAttribute (const IAttribute attr, const int32_t value)
 
float getFAttribute (const FAttribute attr) const
 
int32_t getIAttribute (const IAttribute attr) const
 
static const std::string & getFAttributeString (const FAttribute attr)
 
static const std::string & getIAttributeString (const IAttribute attr)
 

Detailed Description

template<class S, class C, class O, class L, class CV, class N, class V>
class eq::fabric::Config< S, C, O, L, CV, N, V >

Base data class for a configuration.

See also
eq::Config

Definition at line 34 of file fabric/config.h.

Member Enumeration Documentation

template<class S, class C, class O, class L, class CV, class N, class V>
enum eq::fabric::Config::FAttribute

Floating-point attributes.

Enumerator
FATTR_EYE_BASE 

The default interocular distance in meters.

FATTR_VERSION 

The version of the file loaded.

Definition at line 128 of file fabric/config.h.

template<class S, class C, class O, class L, class CV, class N, class V>
enum eq::fabric::Config::IAttribute

Integer attributes.

Enumerator
IATTR_ROBUSTNESS 

Tolerate resource failures.

Definition at line 137 of file fabric/config.h.

Member Function Documentation

template<class S, class C, class O, class L, class CV, class N, class V>
EQFABRIC_INL VisitorResult eq::fabric::Config< S, C, O, L, CV, N, V >::accept ( V &  visitor)

Perform a depth-first traversal of this config.

Parameters
visitorthe visitor.
Returns
the result of the visitor traversal.
Version
1.0

Referenced by eq::fabric::Config< Server, Config, Observer, Layout, Canvas, Node, ConfigVisitor >::getNodes().

+ Here is the caller graph for this function:

template<class S, class C, class O, class L, class CV, class N, class V>
EQFABRIC_INL VisitorResult eq::fabric::Config< S, C, O, L, CV, N, V >::accept ( V &  visitor) const

Const-version of accept().

Version
1.0
template<class S, class C, class O, class L, class CV, class N, class V>
template<typename T >
EQFABRIC_INL T* eq::fabric::Config< S, C, O, L, CV, N, V >::find ( const uint128_t &  id)
Returns
the entity of the given identifier, or 0.
Version
1.0

Referenced by eq::fabric::Config< Server, Config, Observer, Layout, Canvas, Node, ConfigVisitor >::getNodes().

+ Here is the caller graph for this function:

template<class S, class C, class O, class L, class CV, class N, class V>
template<typename T >
EQFABRIC_INL const T* eq::fabric::Config< S, C, O, L, CV, N, V >::find ( const uint128_t &  id) const
Returns
the entity of the given identifier, or 0.
Version
1.0
template<class S, class C, class O, class L, class CV, class N, class V>
template<typename T >
EQFABRIC_INL T* eq::fabric::Config< S, C, O, L, CV, N, V >::find ( const std::string &  name)
Returns
the first entity of the given name, or 0.
Version
1.0
template<class S, class C, class O, class L, class CV, class N, class V>
template<typename T >
EQFABRIC_INL const T* eq::fabric::Config< S, C, O, L, CV, N, V >::find ( const std::string &  name) const
Returns
the first entity of the given name, or 0.
Version
1.0
template<class S, class C, class O, class L, class CV, class N, class V>
const Canvases& eq::fabric::Config< S, C, O, L, CV, N, V >::getCanvases ( ) const
inline
Returns
the vector of canvases, app-node only.
Version
1.0

Definition at line 55 of file fabric/config.h.

template<class S, class C, class O, class L, class CV, class N, class V>
float eq::fabric::Config< S, C, O, L, CV, N, V >::getFAttribute ( const FAttribute  attr) const
inline
Returns
the given floating-point attribute.

Definition at line 156 of file fabric/config.h.

template<class S, class C, class O, class L, class CV, class N, class V>
int32_t eq::fabric::Config< S, C, O, L, CV, N, V >::getIAttribute ( const IAttribute  attr) const
inline
Returns
the given integer attribute.

Definition at line 162 of file fabric/config.h.

template<class S, class C, class O, class L, class CV, class N, class V>
uint32_t eq::fabric::Config< S, C, O, L, CV, N, V >::getLatency ( ) const
inline
Returns
the latency of this config.
Version
1.0

Definition at line 189 of file fabric/config.h.

template<class S, class C, class O, class L, class CV, class N, class V>
const Layouts& eq::fabric::Config< S, C, O, L, CV, N, V >::getLayouts ( ) const
inline
Returns
the vector of layouts, app-node only.
Version
1.0

Definition at line 53 of file fabric/config.h.

template<class S, class C, class O, class L, class CV, class N, class V>
const Nodes& eq::fabric::Config< S, C, O, L, CV, N, V >::getNodes ( ) const
inline
Returns
the vector of nodes instantiated in this process.
Version
1.0

Definition at line 67 of file fabric/config.h.

template<class S, class C, class O, class L, class CV, class N, class V>
const Observers& eq::fabric::Config< S, C, O, L, CV, N, V >::getObservers ( ) const
inline
Returns
the vector of observers, app-node only.
Version
1.0

Definition at line 51 of file fabric/config.h.

template<class S, class C, class O, class L, class CV, class N, class V>
EQFABRIC_INL lunchbox::RefPtr<S> eq::fabric::Config< S, C, O, L, CV, N, V >::getServer ( )
Returns
the local server proxy.
Version
1.0
template<class S, class C, class O, class L, class CV, class N, class V>
EQFABRIC_INL lunchbox::RefPtr<const S> eq::fabric::Config< S, C, O, L, CV, N, V >::getServer ( ) const
Returns
the local server proxy.
Version
1.0
template<class S, class C, class O, class L, class CV, class N, class V>
virtual void eq::fabric::Config< S, C, O, L, CV, N, V >::setLatency ( const uint32_t  latency)
virtual

Set the maximum accepted latency for this config.

The latency is defined as the maximum number of frames between the start of a frame and the finish of the last rendering task for that frame. Setting the latency of a running config finishes all pending frames.

Parameters
latencythe latency.
Version
1.0

Reimplemented in eq::Config.

Referenced by eq::fabric::Config< Server, Config, Observer, Layout, Canvas, Node, ConfigVisitor >::getIAttribute().

+ Here is the caller graph for this function:


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