00001 00007 #ifndef FORME_H 00008 #define FORME_H 00009 00010 #include <ostream> 00011 #include <istream> 00012 #include "boundingBox.h" 00013 #include "defs.h" 00014 00015 class QPainter; 00016 class Image; 00017 00022 class Forme 00023 { 00024 public: 00027 Forme(); 00028 00029 virtual ~Forme(); 00030 00031 public: 00035 virtual TYPE_FORME GetType() const =0; 00036 00037 00042 void Init(int x, int y); 00043 00048 virtual std::string GetNom() const =0; 00049 00053 int GetHauteur() const; 00054 00058 int GetLargeur() const; 00059 00063 int GetCentreX() const; 00064 00068 int GetCentreY() const; 00069 00070 00074 virtual double GetSurface() const = 0; 00075 00079 virtual double Integre(Image* pImage) = 0; 00080 00086 virtual void Dessine(QPainter* p, int fact) =0; 00087 00092 virtual void MAJ(int x,int y); 00093 00097 virtual bool TermineMAJ(); 00098 00099 00102 const BoundingBox& GetBoundingBox(); 00103 00107 void SetBoundingBox(BoundingBox& bb); 00108 00114 virtual bool Contient(int x, int y) const =0; 00115 00116 protected: 00120 BoundingBox m_box; 00121 }; 00122 00123 #endif
1.5.6