18 #ifndef EQFABRIC_OBSERVER_H
19 #define EQFABRIC_OBSERVER_H
22 #include <eq/fabric/eye.h>
23 #include <eq/fabric/focusMode.h>
24 #include <eq/fabric/object.h>
25 #include <eq/fabric/vmmlib.h>
106 ObserverPath getPath()
const;
118 EQFABRIC_INL VisitorResult
accept( Visitor& visitor );
121 EQFABRIC_INL VisitorResult
accept( Visitor& visitor )
const;
123 virtual void backup();
124 virtual void restore();
129 EQFABRIC_INL
explicit Observer( C* config );
135 virtual void serialize( co::DataOStream& os,
136 const uint64_t dirtyBits );
138 virtual void deserialize( co::DataIStream& is,
139 const uint64_t dirtyBits );
140 virtual void setDirty(
const uint64_t bits );
145 DIRTY_EYE_POSITION = Object::DIRTY_CUSTOM << 0,
146 DIRTY_HEAD = Object::DIRTY_CUSTOM << 1,
147 DIRTY_FOCUS = Object::DIRTY_CUSTOM << 2,
148 DIRTY_TRACKER = Object::DIRTY_CUSTOM << 3,
149 DIRTY_OBSERVER_BITS =
150 DIRTY_EYE_POSITION | DIRTY_HEAD | DIRTY_FOCUS | DIRTY_TRACKER |
155 virtual uint64_t getRedistributableBits()
const
156 {
return DIRTY_OBSERVER_BITS; }
167 Vector3f eyePosition[ NUM_EYES ];
171 std::string vrpnTracker;
179 template<
class C,
class O >
180 EQFABRIC_INL std::ostream& operator << ( std::ostream&,
181 const Observer< C, O >& );
184 #endif // EQFABRIC_OBSERVER_H
const C * getConfig() const
EQFABRIC_INL bool setHeadMatrix(const Matrix4f &matrix)
Set the head matrix.
EQFABRIC_INL void setFocusDistance(const float focusDistance)
Set the focal distance.
EQFABRIC_INL void setVRPNTracker(const std::string &index)
Set the VRPN tracker device.
Defines export visibility macros for library EqualizerFabric.
Base data transport class for observers.
FocusMode getFocusMode() const
A visitor to traverse leaf nodes of a graph.
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.
int32_t getOpenCVCamera() const
EQFABRIC_INL const Vector3f & getEyePosition(const Eye eye) const
const std::string & getVRPNTracker() const
Eye
Eye pass bit mask for which is enabled.
LeafVisitor< O > Visitor
The observer visitor type.
float getFocusDistance() const
FocusMode
The algorithm to use for observer focal distance calculation.
The Equalizer client library.
EQFABRIC_INL VisitorResult accept(Visitor &visitor)
Traverse this observer using a observer visitor.
Internal base class for all distributed, inheritable Equalizer objects.
EQFABRIC_INL void setFocusMode(const FocusMode focusMode)
Set the focal mode.
EQFABRIC_INL void setOpenCVCamera(const int32_t index)
Set the index of the OpenCV camera for tracking.