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 //                            SimpleX3DGLScene.h                              //
00004 
00005 #ifndef SIMPLEX3DGLSCENE_H
00006 #define SIMPLEX3DGLSCENE_H
00007 
00008 #include "X3DTypes.h"
00009 #include "BBox.h"
00010 
00011 namespace X3DTK {
00012 
00013 class X3DMemReleaser;
00014 
00015 namespace X3D {
00016 
00017 class Scene;
00018 class Loader;
00019 class X3DBBoxUpdater;
00020 class X3DGLBuilder;
00021 class X3DFileValidator;
00022 
00023 }
00024 
00025 namespace GL {
00026 
00027 class Scene;
00028 class X3DRenderer;
00029 
00030 }
00031 
00033 
00034 class SimpleX3DGLScene
00035 {
00036 public:
00038   SimpleX3DGLScene();
00040   virtual ~SimpleX3DGLScene();
00041   
00043   virtual void load(const char *file, bool fileValidation = true);
00045   virtual void draw();
00047   inline SFVec3f getBBoxMin() const {return min;};
00049   inline SFVec3f getBBoxMax() const {return max;};
00051   void release();
00052 
00054   void setLoader(X3D::Loader *loader);
00056   void setBBoxUpdater(X3D::X3DBBoxUpdater *bboxUpdater);  
00058   void setGLBuilder(X3D::X3DGLBuilder *builder);  
00060   void setGLRenderer(GL::X3DRenderer *renderer);  
00062   void setMemReleaser(X3DMemReleaser *memReleaser);  
00064   void setFileValidator(X3D::X3DFileValidator *fileValidator);  
00065   
00067   inline X3D::Loader *getLoader() const {return _loader;};
00069   inline X3D::X3DBBoxUpdater *getBBoxUpdater() const {return _bboxupdater;};  
00071   inline X3D::X3DGLBuilder *getGLBuilder() const {return _builder;};  
00073   inline GL::X3DRenderer *getGLRenderer() const {return _renderer;};  
00075   inline X3DMemReleaser *getMemReleaser() const {return _releaser;};  
00076 
00077 protected:
00078   X3D::Scene *scene;
00079   GL::Scene *glscene;
00080   
00081   SFVec3f min;
00082   SFVec3f max;
00083   
00084   void loadFile(const char *file, bool fileValidation);
00085   void computeBBox();
00086   void buildGLScene();
00087 
00088 private:
00089   X3D::Loader *_loader;
00090   X3D::X3DBBoxUpdater *_bboxupdater;
00091   X3D::X3DGLBuilder *_builder;
00092   GL::X3DRenderer *_renderer;
00093   X3DMemReleaser *_releaser;
00094 };
00095 
00096 }
00097 
00098 #endif

Generated on Thu Oct 9 13:50:54 2003 for X3DToolKit by doxygen1.2.18