vertexBufferDist.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef EQ_PLY_VERTEXBUFFERDIST_H
00020 #define EQ_PLY_VERTEXBUFFERDIST_H
00021
00022 #include "vertexBufferRoot.h"
00023
00024 #include <eq/eq.h>
00025
00026 namespace eqPly
00027 {
00029 class VertexBufferDist : public eq::net::Object
00030 {
00031 public:
00032 VertexBufferDist();
00033 VertexBufferDist( const mesh::VertexBufferRoot* root );
00034 virtual ~VertexBufferDist();
00035
00036 void registerTree( eq::net::Session* session );
00037 void deregisterTree();
00038
00039 mesh::VertexBufferRoot* mapModel( eq::net::Session* session,
00040 const uint32_t modelID );
00041 void unmapTree();
00042
00043 protected:
00044 VertexBufferDist( const mesh::VertexBufferRoot* root,
00045 const mesh::VertexBufferBase* node );
00046
00047 virtual void getInstanceData( eq::net::DataOStream& os );
00048 virtual void applyInstanceData( eq::net::DataIStream& is );
00049
00050 private:
00051 const mesh::VertexBufferRoot* _root;
00052 const mesh::VertexBufferBase* _node;
00053 bool _isRoot;
00054
00055 VertexBufferDist* _left;
00056 VertexBufferDist* _right;
00057 };
00058 }
00059
00060
00061 #endif // EQ_PLY_VERTEXBUFFERDIST_H