source: trunk/VUT/GtpVisibilityPreprocessor/src/SceneGraph.h @ 492

Revision 492, 797 bytes checked in by bittner, 19 years ago (diff)

Large merge - viewcells seem not functional now

Line 
1#ifndef _SceneGraph_H__
2#define _SceneGraph_H__
3
4#include <string>
5using namespace std;
6
7#include "Containers.h"
8#include "AxisAlignedBox3.h"
9
10 
11/** Basic scene graph node, we are interested only in bounding boxes and topology
12    of the scene graph */
13class SceneGraphNode {
14public:
15  ObjectContainer mGeometry;
16  SceneGraphNodeContainer mChildren;
17  AxisAlignedBox3 mBox;
18  void UpdateBox();
19};
20
21
22/** Scene graph class */
23class SceneGraph {
24
25public:
26  SceneGraphNode *mRoot;
27  bool Export(const string filename);
28 
29  int
30  CollectObjects(ObjectContainer *instances);
31 
32  int
33  AssignObjectIds();
34 
35  void
36  GetStatistics(int &intersectables, int &faces) const;
37
38  AxisAlignedBox3 GetBox() const { return mRoot->mBox; }
39 
40protected:
41};
42
43
44
45#endif
Note: See TracBrowser for help on using the repository browser.