Open iandreyshev opened 4 years ago
override fun getPerimeter() = LineSegment(outlineColor, vertex1, vertex2).getLength() +
LineSegment(outlineColor, vertex1, vertex3).getLength() +
LineSegment(outlineColor, vertex2, vertex3).getLength()
Можно сделать расширение для Point, или функцию верхнего уровня и т.д.
Из задания:
Коэффициент по основной части - 0.5
Коэффициент по визуализации - 0.9
- [ ] Выделять интерфейс
SolidShape
не самый хороший вариант, хотя бы потому что он нигде не используется. Стоит придумать, как можно получать оба цвета используя только интерфейс Shape, при этом не у всех фигур есть цвет заливки. Например, у линии нет цвета заливки
согласен, но это было частью задания
- [ ] Код фигур не должен иметь возможность очистить холст
возможно я неправильно понял комментарий.. посмотрел реализацию, canvas чистит сам себя.
- Непонятно зачем осталвена возможность вводить параметры руками, если можно все делать мышкой. Стоит убрать эти контролы
Оставлена так как во многих графических редакторах она есть, тем более без этого не нарисовать треугольник любой формы, только прямоугольной. Возможность рисовать треугольник по трем точкам выходила далеко за рамки лабораторной, по этому не стал тратить время, переключился на другую.
- [ ] Код фигур не должен иметь возможность очистить холст
возможно я неправильно понял комментарий.. посмотрел реализацию, canvas чистит сам себя.
Интерфейс ICanvas
содержит метод clearAll()
, который можно вызвать из фигуры и очистить его.
Сейчас код получения фигуры с нименьшим периметром не выполняет свою задачу.
Коэффициент по основной части - 0.7
SolidShape
не самый хороший вариант, хотя бы потому что он нигде не используется. Стоит придумать, как можно получать оба цвета используя только интерфейс Shape, при этом не у всех фигур есть цвет заливки. Например, у линии нет цвета заливки