#ifndef _TestCullingIVApplication_H__ #define _TestCullingIVApplication_H__ #include "CEGUIForwardRefs.h" #include #include "ExampleApplication.h" #include "ivreader.h" #include "IVFrameListener.h" // z order index of visualizaion viewport #define VIZ_VIEWPORT_Z_ORDER 10 /** Rendertarget listener which shows a visualization. */ class VisualizationRenderTargetListener: public RenderTargetListener { public: VisualizationRenderTargetListener(SceneManager *sceneMgr); protected: void preViewportUpdate (const RenderTargetViewportEvent &evt); void postRenderTargetUpdate (const RenderTargetEvent &evt); SceneManager *mSceneMgr; ShadowTechnique mSavedShadowTechnique; ColourValue mSavedAmbientLight; }; class TestCullingIVApplication: public ExampleApplication { public: TestCullingIVApplication(); ~TestCullingIVApplication(); /** Generates a scene using num entities of a type. @param num the number of objects @parma objectType the type of objects */ void generateScene(int num, int objectType); protected: //-- inherited from ExampleApplication bool setup(); void createScene(); void createFrameListener(); void createCamera(); //void createViewports(); virtual void createRenderTargetListener(); /** cegui setup */ void setupGui(); CEGUI::OgreCEGUIRenderer *mGUIRenderer; CEGUI::System *mGUISystem; Camera *mVizCamera; SceneNode *mCamNode; Light *mSunLight; ColourValue mAmbientLight; IVReader *mIVReader; IVFrameListener *mIVFrameListener; private: void chooseSceneManager(void); }; #endif // TestCullingIVApplication