source: GTP/trunk/Lib/Vis/Preprocessing/include/SceneGraph.h @ 2600

Revision 2600, 1015 bytes checked in by mattausch, 17 years ago (diff)

preparing for moving objects (contains compile errors!)

  • Property svn:executable set to *
Line 
1#ifndef _SceneGraph_H__
2#define _SceneGraph_H__
3
4#include "Containers.h"
5#include "AxisAlignedBox3.h"
6
7namespace GtpVisibilityPreprocessor {
8 
9/** Basic scene graph node, we are interested only in bounding boxes and topology
10    of the scene graph
11*/
12class SceneGraphNode
13{
14public:
15        virtual bool IsLeaf() const = NULL;
16
17protected:
18
19        AxisAlignedBox3 mBox;
20};
21 
22
23
24/** Basic scene graph node, we are interested only in bounding boxes and topology
25  of the scene graph */
26class SceneGraphInterior: public SceneGraphNode
27{
28public:
29        ~SceneGraphInterior();
30
31        virtual bool IsLeaf() const { return false; }
32
33protected:
34
35        NodeContainer mChildren;
36};
37
38
39/** Basic scene graph node, we are interested only in bounding boxes and topology
40  of the scene graph */
41class SceneGraphLeaf: public SceneGraphNode
42{
43public:
44        ~SceneGraphLeaf();
45        virtual bool IsLeaf() const { return true; }
46
47protected:
48        MeshContainer mGeometry;
49};
50
51
52/** Scene graph class
53*/
54class SceneGraph
55{
56protected:
57        SceneGraphNode *mRoot;
58};
59 
60
61};
62
63
64#endif
Note: See TracBrowser for help on using the repository browser.