source: GTP/trunk/Lib/Vis/Preprocessing/src/SceneGraph.h @ 2176

Revision 2176, 1.1 KB checked in by mattausch, 18 years ago (diff)

removed using namespace std from .h

RevLine 
[372]1#ifndef _SceneGraph_H__
2#define _SceneGraph_H__
3
4#include <string>
[2176]5//
[372]6
7#include "Containers.h"
8#include "AxisAlignedBox3.h"
9
[860]10namespace GtpVisibilityPreprocessor {
[372]11 
12/** Basic scene graph node, we are interested only in bounding boxes and topology
[1002]13    of the scene graph
14        */
[372]15class SceneGraphNode {
16public:
17  ObjectContainer mGeometry;
18  SceneGraphNodeContainer mChildren;
19  AxisAlignedBox3 mBox;
[1002]20  ~SceneGraphNode();
[492]21  void UpdateBox();
[372]22};
23
24
25/** Scene graph class */
26class SceneGraph {
27
28public:
[1002]29
[1328]30        SceneGraph();
[1002]31        ~SceneGraph();
[1328]32       
[2176]33        bool Export(const std::string filename);
[372]34 
[1328]35        int CollectObjects(ObjectContainer *instances);
[492]36 
[1328]37        int AssignObjectIds();
[492]38 
[1328]39        void GetStatistics(int &intersectables, int &faces) const;
[372]40
[1328]41        AxisAlignedBox3 GetBox() const { return mRoot->mBox; }
[492]42 
[1328]43        /** Exports binary version of the scene.
44        */
[2176]45        void ExportScene(const std::string filename);
[1166]46
[1328]47        /** Loads binary version of the scene.
48        */
[2176]49        void LoadScene(const std::string filename);
[1166]50
[1328]51        SceneGraphNode *GetRoot();
52
53        void SetRoot(SceneGraphNode *sgNnode);
54
[1958]55
[372]56protected:
[1328]57
58         SceneGraphNode *mRoot;
[372]59};
60
61
[860]62}
[372]63
64#endif
Note: See TracBrowser for help on using the repository browser.