00001 00002 #ifndef __PAINTER_H 00003 #define __PAINTER_H 00004 00005 #include "Vector.h" 00006 00007 #include "Triangle.h" 00008 #include "Mesh.h" 00009 #include "Model.h" 00010 00023 class Painter { 00024 public: 00029 virtual ~Painter() { 00030 // nop 00031 } 00032 00034 virtual void paintModel(const Model& model, const Vector& eye, const Vector& light) const; 00040 virtual void paintMesh(const Mesh& mesh, const Vector& eye, const Vector& light) const; 00046 virtual void paintTriangle(const Triangle& triangle, const Vector& eye, const Vector& light) const; 00047 }; 00048 00049 #endif // __PAINTER_H