Equalizer  2.0.0
Parallel Rendering Framework
eq::Observer Class Reference

An Observer looks at one or more views from a certain position (head matrix) with a given eye separation. More...

#include <observer.h>

+ Inheritance diagram for eq::Observer:
+ Collaboration diagram for eq::Observer:

Public Member Functions

EQ_API Observer (Config *parent)
 Construct a new observer. More...
 
virtual EQ_API ~Observer ()
 Destruct this observer. More...
 
void addView (View *)
 
void removeView (View *)
 
Operations
virtual EQ_API bool handleEvent (EventICommand &command)
 Handle an event. More...
 
Data Access
EQ_API ServerPtr getServer ()
 
- Public Member Functions inherited from eq::fabric::Observer< Config, Observer >
EQFABRIC_INL bool setHeadMatrix (const Matrix4f &matrix)
 Set the head matrix. More...
 
const Matrix4f & getHeadMatrix () const
 
EQFABRIC_INL void setEyePosition (const Eye eye, const Vector3f &pos)
 Set the position of the given eye relative to the observer. More...
 
EQFABRIC_INL const Vector3f & getEyePosition (const Eye eye) const
 
EQFABRIC_INL void setFocusDistance (const float focusDistance)
 Set the focal distance. More...
 
float getFocusDistance () const
 
EQFABRIC_INL void setFocusMode (const FocusMode focusMode)
 Set the focal mode. More...
 
FocusMode getFocusMode () const
 
EQFABRIC_INL void setOpenCVCamera (const int32_t index)
 Set the index of the OpenCV camera for tracking. More...
 
int32_t getOpenCVCamera () const
 
EQFABRIC_INL void setVRPNTracker (const std::string &index)
 Set the VRPN tracker device. More...
 
const std::string & getVRPNTracker () const
 
const ConfiggetConfig () const
 
ConfiggetConfig ()
 
ObserverPath getPath () const
 
EQFABRIC_INL VisitorResult accept (Visitor &visitor)
 Traverse this observer using a observer visitor. More...
 
EQFABRIC_INL VisitorResult accept (Visitor &visitor) const
 Const-version of accept(). More...
 
virtual void backup ()
 
virtual 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 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
 

Callbacks

Callbacks are called by Equalizer during rendering to execute various actions from the application main thread before sending the corresponding command to the server.

class detail::InitVisitor
 
class detail::ExitVisitor
 
class detail::FrameVisitor
 
virtual EQ_API bool configInit ()
 Initialize this observer. More...
 
virtual EQ_API bool configExit ()
 Exit this observer. More...
 
virtual EQ_API void frameStart (const uint32_t frameNumber)
 Start rendering a frame. More...
 

Additional Inherited Members

- Public Types inherited from eq::fabric::Observer< Config, Observer >
typedef LeafVisitor< ObserverVisitor
 The observer visitor type. 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...
 
- Protected Types inherited from eq::fabric::Observer< Config, Observer >
enum  DirtyBits
 
- Protected Member Functions inherited from eq::fabric::Observer< Config, Observer >
EQFABRIC_INL Observer (Config *config)
 
virtual void serialize (co::DataOStream &os, const uint64_t dirtyBits)
 
virtual void deserialize (co::DataIStream &is, const uint64_t dirtyBits)
 
virtual void setDirty (const uint64_t bits)
 
virtual uint64_t getRedistributableBits () const
 
- 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)
 

Detailed Description

An Observer looks at one or more views from a certain position (head matrix) with a given eye separation.

Multiple observers in a configuration can be used to update independent viewers from one configuration, e.g., a control host, a HMD and a Cave.

See also
fabric::Observer

Definition at line 37 of file observer.h.

Constructor & Destructor Documentation

EQ_API eq::Observer::Observer ( Config parent)
explicit

Construct a new observer.

Version
1.0
virtual EQ_API eq::Observer::~Observer ( )
virtual

Destruct this observer.

Version
1.0

Reimplemented from eq::fabric::Observer< Config, Observer >.

Member Function Documentation

virtual EQ_API bool eq::Observer::configExit ( )
protectedvirtual

Exit this observer.

Version
1.5.2
virtual EQ_API bool eq::Observer::configInit ( )
protectedvirtual

Initialize this observer.

Version
1.5.2
virtual EQ_API void eq::Observer::frameStart ( const uint32_t  frameNumber)
protectedvirtual

Start rendering a frame.

Called once at the beginning of each frame before the Config::frame is send to the server, to do per-frame updates of observer-specific data.

Parameters
frameNumberthe frame to start.
Version
1.5.2
EQ_API ServerPtr eq::Observer::getServer ( )
Returns
the Server of this observer.
Version
1.0
virtual EQ_API bool eq::Observer::handleEvent ( EventICommand command)
virtual

Handle an event.

The event type and originator identifier (of this object) have already been consumed from the given command.

Parameters
commandThe event input command.
Returns
true if the event requires a redraw, false otherwise.

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