Фигура 7а
Во всех вариантах задания фигура описывается четырьмя размерами (A, A1, A2, A3), координатами
центра (m_centre) и углом поворота вокруг центра (m_dAngle). Координатами фигуры считаются
координаты центра квадрата, в который она вписана фигура, эта же точка является центром
вращения (см. рис. 1). За координаты фигуры должно отвечать поле m_center типа CMy2DPoint .
Все переменные класса должны быть закрытыми. Класс должен иметь конструктор с
параметрами, позволяющий инициализировать все закрытые поля. Разработанный класс должен
иметь следующие методы:
1. Методы доступа (Get и Set) ко всем закрытым полям, методы Set должны осуществлять
проверку корректности данных (граница фигуры не должна самопересекаться).
2. Метод void Move(double dX, double dY, double dAngle = 0) – Смещение объекта на вектор
dX, dY и поворот на dAngle;
3. Метод void Move(const CMy2dPoint &delta, double dAngle = 0) – Смещение объекта на
вектор дельта и поворот на dAngle;
4. Метод void Rotate(double dAngle) – поворот фигуры на угол dAngle;
5. Метод bool IsInside(const CMy2dPoint &point) – возвращает true если точка лежит внутри
фигуры и false в противном случае.
Методы не меняющие данные класса должны быть константными.