00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef __NEROOMPARTITIONNODE_H
00028 #define __NEROOMPARTITIONNODE_H
00029
00030
00037 #include "base.h"
00038 #include "polygonbuffer.h"
00039
00040
00041 namespace NeoEngine
00042 {
00043
00044
00045
00046 class SceneNode;
00047
00048
00049 #ifdef WIN32
00050
00051 # ifdef _MSC_VER
00052 # pragma warning( disable : 4231 )
00053 # endif
00054
00055 # ifndef __HAVE_VECTOR_NESCENENODE
00056 UDTVectorEXPIMP( class SceneNode* );
00057 # define __HAVE_VECTOR_NESCENENODE
00058 # endif
00059
00060 #endif
00061
00062
00068 class NEOENGINE_API RoomPartitionNode
00069 {
00070 public:
00071
00073 std::vector< SceneNode* > m_vpkSceneNodes;
00074
00076 std::vector< PolygonBufferPtr > m_vpkPolygons;
00077
00078
00081 virtual ~RoomPartitionNode();
00082
00088 virtual int AttachNode( SceneNode *pkNode ) = 0;
00089
00095 virtual int DetachNode( SceneNode *pkNode ) = 0;
00096
00102 virtual int UpdateNode( SceneNode *pkNode ) = 0;
00103 };
00104
00105
00106 };
00107
00108
00109 #endif