00001 #ifndef __KX_KETSJI_ENGINE
00002 #define __KX_KETSJI_ENGINE
00003
00004 #include "KX_Matrix4x4.h"
00005 #include "StdString.h"
00006 #include "SCA_ISystem.h"
00007 #include "Python.h"
00008
00009
00010
00011 class KX_KetsjiEngine : public SCA_IMainLoop
00012 {
00013 class RAS_ICanvas* m_canvas;
00014 class RAS_IRasterizer* m_rasty;
00015 class SCA_ISystem* m_kxsystem;
00016 class RAS_IRenderTools* m_rendertools;
00017 class SM_Scene* m_sumoScene;
00018 class KX_Scene* m_scene;
00019 class SND_IScene* m_sndscene;
00020
00021 float m_viewdist;
00022 bool m_bInitialized;
00023
00024 int m_activecam;
00025
00026 bool m_bFixedTime;
00027
00028 CMatrix4x4 m_projectionmat;
00029
00030 bool m_bUseKetsjiRenderer;
00031
00032 double m_previoustime;
00033 double m_missedtime;
00034
00035 double m_lasttime;
00036 double m_dtime;
00037 double m_swapTime;
00038
00039 void UpdateParents(double curtime);
00040 void NextFrame (double curtime,double realdeltatime,class RAS_IRasterizer* rasty);
00041 void RenderNonMeshes();
00042 void RenderDebugProperties();
00043 public:
00044 KX_KetsjiEngine(class SCA_ISystem* system);
00045 virtual ~KX_KetsjiEngine();
00046 bool Init(struct Global* glob,struct ScrArea* curarea,class RAS_ICanvas* canvas,class RAS_IRenderTools* rendertools);
00047 virtual int MainLoopCallback();
00048 void Run();
00049 void Exit();
00050 void Export(const CCString& filename);
00051
00052 void SetScene(class KX_Scene* scene);
00053
00054 };
00055
00056
00057 #endif //__KX_KETSJI_ENGINE