/*************************************************************** * * * Файл : hole.h * * * * Описание : заголовочный файл с описанием классов * * HOLE (Отверстие) и PLATE (Пластина) * * * ***************************************************************/ #ifndef holeH #define holeH #include <Graphics.hpp> class HOLE { private: int x, y; // координаты центра отверстия int R; // радиус отверстия int Color; // цвет отверстия public: HOLE(int x, int y, int R); // конструктор int IsPointInside(int x,int y); // проверка, лежит ли точка внутри void MoveBy(int dx,int dy); // сдвинуть отверстие void Draw(TCanvas * Canvas); // нарисовать отверстие void Erase(TCanvas * Canvas); // стереть отверстие }; class PLATE { private: int width, height; // размеры пластины int N; // количество отверстий HOLE* Hole[100]; // массив отверстий public: PLATE(int width, int height); // конструктор void AddHole(HOLE * Hole); // добавить отверстие на пластину HOLE* GetHoleFromPoint(int x,int y); // определить отверстие по координате void Draw(TCanvas * Canvas); // нарисовать набор отверстий void Erase(TCanvas * Canvas); // стереть набор отверстий }; #endif |