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:

Inheritance graph
[legend]
Collaboration diagram for eq::Observer:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 Observer ()
 Constructs a new Observer.
virtual ~Observer ()
 Destruct this observer.
Data Access
void setEyeBase (const float eyeBase)
 Set the eye separation of this observer.
float getEyeBase () const
void setHeadMatrix (const Matrix4f &matrix)
 Set the head matrix.
const Matrix4fgetHeadMatrix () const
Operations
VisitorResult accept (ObserverVisitor &visitor)
 Traverse this observer using a observer visitor.
virtual void deregister ()
 Deregister this observer from its net::Session.

Protected Types

enum  DirtyBits {
  DIRTY_EYE_BASE = Object::DIRTY_CUSTOM << 0, DIRTY_HEAD = Object::DIRTY_CUSTOM << 1, DIRTY_FILL1 = Object::DIRTY_CUSTOM << 2, DIRTY_FILL2 = Object::DIRTY_CUSTOM << 3,
  DIRTY_CUSTOM = Object::DIRTY_CUSTOM << 4
}
 The changed parts of the object since the last pack(). More...

Protected Member Functions

virtual void serialize (net::DataOStream &os, const uint64_t dirtyBits)
virtual void deserialize (net::DataIStream &is, const uint64_t dirtyBits)

Friends

class Config


Detailed Description

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

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

Definition at line 38 of file lib/client/observer.h.


Member Enumeration Documentation

enum eq::Observer::DirtyBits [protected]

The changed parts of the object since the last pack().

Subclasses should define their own bits, starting at DIRTY_CUSTOM.

Reimplemented from eq::Object.

Definition at line 100 of file lib/client/observer.h.


Constructor & Destructor Documentation

eq::Observer::~Observer (  )  [virtual]

Destruct this observer.

Reimplemented in eq::server::Observer.

Definition at line 38 of file lib/client/observer.cpp.


Member Function Documentation

void eq::Observer::setEyeBase ( const float  eyeBase  ) 

Set the eye separation of this observer.

Definition at line 76 of file lib/client/observer.cpp.

References eq::Object::setDirty().

Referenced by eq::server::Observer::Observer().

Here is the call graph for this function:

Here is the caller graph for this function:

float eq::Observer::getEyeBase (  )  const [inline]

Returns:
the current eye separation.

Definition at line 57 of file lib/client/observer.h.

void eq::Observer::setHeadMatrix ( const Matrix4f matrix  ) 

Set the head matrix.

The head matrix specifies the transformation origin->observer. Together with the eye separation, this determines the eye positions. The eye position and wall or projection description define the shape of the frustum and the channel's head transformation during rendering.

Parameters:
matrix the matrix

Definition at line 82 of file lib/client/observer.cpp.

References eq::Object::setDirty().

Here is the call graph for this function:

const Matrix4f& eq::Observer::getHeadMatrix (  )  const [inline]

Returns:
the current head matrix.

Definition at line 73 of file lib/client/observer.h.

Referenced by eq::server::Observer::deserialize(), and eq::server::Observer::init().

Here is the caller graph for this function:

VisitorResult eq::Observer::accept ( ObserverVisitor visitor  ) 

Traverse this observer using a observer visitor.

Parameters:
visitor the visitor.
Returns:
the result of the visitor traversal.

Definition at line 63 of file lib/client/observer.cpp.

References eq::ObserverVisitor::visit().

Here is the call graph for this function:

void eq::Observer::deregister (  )  [virtual]

Deregister this observer from its net::Session.

Definition at line 68 of file lib/client/observer.cpp.

References eq::net::Session::deregisterObject(), and eq::net::Object::isMaster().

Here is the call graph for this function:

void eq::Observer::serialize ( net::DataOStream os,
const uint64_t  dirtyBits 
) [protected, virtual]

See also:
Object::serialize

Reimplemented from eq::Object.

Definition at line 43 of file lib/client/observer.cpp.

void eq::Observer::deserialize ( net::DataIStream is,
const uint64_t  dirtyBits 
) [protected, virtual]

See also:
Object::deserialize

Reimplemented from eq::Object.

Reimplemented in eq::server::Observer.

Definition at line 53 of file lib/client/observer.cpp.


The documentation for this class was generated from the following files:
Generated on Mon Aug 10 18:58:43 2009 for Equalizer 0.9 by  doxygen 1.5.8