00001 00002 #ifndef __APPLICATION_H 00003 #define __APPLICATION_H 00004 00005 #include "Color.h" 00006 #include "Vector.h" 00007 #include "Matrix.h" 00008 00009 #include "Model.h" 00010 00020 class Application { 00021 private: 00023 Color m_lightAmbientColor; 00025 Color m_lightDiffuseColor; 00027 Vector m_lightPosition; 00029 Vector m_eyePosition; 00030 00032 Matrix m_sceneMatrix; 00034 Matrix m_lightMatrix; 00035 00037 Model m_model; 00038 00039 private: 00041 void drawScene() const; 00042 00043 public: 00045 Application(); 00046 00050 void init(const char* modelFileName); 00051 00053 const Vector& getEyePosition() const; 00054 00056 const Matrix& getSceneMatrix() const; 00058 void setSceneMatrix(const Matrix& sceneMatrix); 00059 00061 const Matrix& getModelMatrix() const; 00063 void setModelMatrix(const Matrix& modelMatrix); 00064 00066 const Matrix& getLightMatrix() const; 00068 void setLightMatrix(const Matrix& lightMatrix); 00069 00071 Model& getModel(); 00072 00074 void draw() const; 00075 }; 00076 00077 #endif // __APPLICATION_H