#include <object.h>


Public Member Functions | |
| Object () | |
| Construct a new Object. | |
| virtual | ~Object () |
| Destruct the object. | |
| void | setName (const std::string &name) |
| Set the name of the object. | |
| const std::string & | getName () const |
| uint64_t | getDirty () const |
Protected Types | |
| enum | DirtyBits { DIRTY_NONE = 0, DIRTY_NAME = 1 << 0, DIRTY_FILL1 = 1 << 1, DIRTY_FILL2 = 1 << 2, DIRTY_CUSTOM = 1 << 3, DIRTY_ALL = 0xffffffffffffffffull } |
| The changed parts of the object since the last pack(). More... | |
Protected Member Functions | |
| virtual bool | isDirty () const |
| virtual void | serialize (net::DataOStream &os, const uint64_t dirtyBits) |
| Worker for pack() and getInstanceData(). | |
| virtual void | deserialize (net::DataIStream &is, const uint64_t dirtyBits) |
| Worker for unpack() and applyInstanceData(). | |
| virtual ChangeType | getChangeType () const |
| void | setDirty (const uint64_t bits) |
| Set dirty flags to mark data for distribution. | |
| virtual void | attachToSession (const uint32_t id, const uint32_t instanceID, net::Session *session) |
This class implements one usage pattern of net::Object, which allows subclassing and serialization of distributed Objects used by Equalizer. The inheritance Object -> Frustum -> View illustrates the usage of eq::Object.
Definition at line 33 of file client/object.h.
enum eq::Object::DirtyBits [protected] |
The changed parts of the object since the last pack().
Subclasses should define their own bits, starting at DIRTY_CUSTOM.
Reimplemented in eq::Canvas, eq::Frustum, eq::Layout, eq::Observer, eq::Segment, eq::View, and eqPly::FrameData.
Definition at line 88 of file client/object.h.
| eq::Object::Object | ( | ) |
Construct a new Object.
Reimplemented from eq::net::Object.
Definition at line 26 of file client/object.cpp.
| eq::Object::~Object | ( | ) | [virtual] |
Destruct the object.
Reimplemented from eq::net::Object.
Definition at line 30 of file client/object.cpp.
| void eq::Object::setName | ( | const std::string & | name | ) |
Set the name of the object.
Definition at line 83 of file client/object.cpp.
References setDirty().

| const std::string & eq::Object::getName | ( | ) | const |
Definition at line 89 of file client/object.cpp.
Referenced by eq::server::Config::addCanvas(), and eq::server::Canvas::addSegment().

| uint64_t eq::Object::getDirty | ( | ) | const [inline] |
Definition at line 49 of file client/object.h.
Referenced by eq::ConfigCommitVisitor::visitPre().

| virtual bool eq::Object::isDirty | ( | ) | const [inline, protected, virtual] |
Reimplemented from eq::net::Object.
Definition at line 53 of file client/object.h.
| void eq::Object::serialize | ( | net::DataOStream & | os, | |
| const uint64_t | dirtyBits | |||
| ) | [protected, virtual] |
Worker for pack() and getInstanceData().
Override this and deserialize() if you want to distribute subclassed data.
This method is called with DIRTY_ALL from getInstanceData() and with the actual dirty bits from pack(), which also resets the dirty state afterwards. The dirty bits are transmitted beforehand, and do not need to be transmitted by the overriding method.
Reimplemented in eq::Canvas, eq::Frustum, eq::Observer, eq::Segment, eq::View, eqPly::FrameData, eq::server::Canvas, and eq::server::Layout.
Definition at line 59 of file client/object.cpp.
Referenced by eqPly::FrameData::serialize().

| void eq::Object::deserialize | ( | net::DataIStream & | is, | |
| const uint64_t | dirtyBits | |||
| ) | [protected, virtual] |
Worker for unpack() and applyInstanceData().
This function is called with the dirty bits send by the master instance. The dirty bits are received beforehand, and do not need to be transmitted by the overriding method.
Reimplemented in eq::Canvas, eq::Frustum, eq::Layout, eq::Observer, eq::Segment, eq::View, eqPly::FrameData, eq::server::Canvas, eq::server::Observer, and eq::server::View.
Definition at line 65 of file client/object.cpp.
Referenced by eqPly::FrameData::deserialize().

| virtual ChangeType eq::Object::getChangeType | ( | ) | const [inline, protected, virtual] |
Reimplemented from eq::net::Object.
Reimplemented in eq::View, and eqPly::FrameData.
Definition at line 81 of file client/object.h.
References eq::net::Object::UNBUFFERED.
| void eq::Object::setDirty | ( | const uint64_t | bits | ) | [protected] |
Set dirty flags to mark data for distribution.
Definition at line 71 of file client/object.cpp.
Referenced by eq::Observer::setEyeBase(), eq::Observer::setHeadMatrix(), setName(), eq::server::View::setObserver(), eq::View::setOverdraw(), eq::Frustum::setProjection(), eq::server::View::setViewport(), eq::server::Segment::setViewport(), eq::Frustum::setWall(), eq::Frustum::unsetFrustum(), and eq::Canvas::useLayout().

| void eq::Object::attachToSession | ( | const uint32_t | id, | |
| const uint32_t | instanceID, | |||
| net::Session * | session | |||
| ) | [protected, virtual] |
Reimplemented from eq::net::Object.
Definition at line 76 of file client/object.cpp.
0.9 by
1.5.8