Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

SimpleX3DGLScene.h

Go to the documentation of this file.
00001 
00002 
00003 
00005 
00006 
00011 
00016 
00021 //                            SimpleX3DGLScene.h                              //
00023 
00024 #ifndef SIMPLEX3DGLSCENE_H
00025 #define SIMPLEX3DGLSCENE_H
00026 
00027 #include "X3DTypes.h"
00028 #include "Bbox.h"
00029 
00030 namespace X3DTK {
00031 
00032 class X3DLoader;
00033 class X3DMemReleaser;
00034 
00035 namespace X3D {
00036 
00037 class Scene;
00038 class X3DBboxUpdater;
00039 class X3DGLBuilder;
00040 class X3DFileValidator;
00041 
00042 }
00043 
00044 namespace GL {
00045 
00046 class Scene;
00047 class X3DRenderer;
00048 
00049 }
00050 
00052 
00053 class SimpleX3DGLScene
00054 {
00055 public:
00057   SimpleX3DGLScene();
00059   virtual ~SimpleX3DGLScene();
00060   
00062   virtual void load(const char *file, bool fileValidation = true);
00064   virtual void draw();
00066   inline SFVec3f getBboxMin() const {return min;};
00068   inline SFVec3f getBboxMax() const {return max;};
00070   void release();
00071 
00073   void setLoader(X3DLoader *loader);
00075   void setBboxUpdater(X3D::X3DBboxUpdater *bboxUpdater);  
00077   void setGLBuilder(X3D::X3DGLBuilder *builder);  
00079   void setGLRenderer(GL::X3DRenderer *renderer);  
00081   void setMemReleaser(X3DMemReleaser *memReleaser);  
00083   void setFileValidator(X3D::X3DFileValidator *fileValidator);  
00084   
00086   inline X3DLoader *getLoader() const {return _loader;};
00088   inline X3D::X3DBboxUpdater *getBboxUpdater() const {return _bboxupdater;};  
00090   inline X3D::X3DGLBuilder *getGLBuilder() const {return _builder;};  
00092   inline GL::X3DRenderer *getGLRenderer() const {return _renderer;};  
00094   inline X3DMemReleaser *getMemReleaser() const {return _releaser;};  
00095 
00096 protected:
00097   X3D::Scene *scene;
00098   GL::Scene *glscene;
00099   
00100   SFVec3f min;
00101   SFVec3f max;
00102   
00103   void loadFile(const char *file, bool fileValidation);
00104   void computeBbox();
00105   void buildGLScene();
00106 
00107 private:
00108   X3DLoader *_loader;
00109   X3D::X3DBboxUpdater *_bboxupdater;
00110   X3D::X3DGLBuilder *_builder;
00111   GL::X3DRenderer *_renderer;
00112   X3DMemReleaser *_releaser;
00113 };
00114 
00115 }
00116 
00117 #endif

Generated on Wed Sep 10 11:25:14 2003 for X3DToolKit by doxygen1.3