Equalizer
2.1.0
Parallel Rendering Framework
|
An Observer looks at one or more views from a certain position (head matrix) with a given eye separation. More...
#include <observer.h>
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 Config * | getConfig () const |
Config * | getConfig () |
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< Observer > | Visitor |
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 Object & | operator= (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) |
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.
Definition at line 40 of file observer.h.
|
explicit |
Construct a new observer.
|
virtual |
|
protectedvirtual |
Exit this observer.
|
protectedvirtual |
Initialize this observer.
|
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.
frameNumber | the frame to start. |
|
virtual |
Handle an event.
The event type and originator identifier (of this object) have already been consumed from the given command.
command | The event input command. |