2023-02-05 17:39:02 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "Shape.h"
|
2024-01-07 16:17:20 +00:00
|
|
|
#include "Point.h"
|
2023-02-05 17:39:02 +00:00
|
|
|
|
2023-04-04 15:17:37 +00:00
|
|
|
class CircleArc : public Shape {
|
2023-02-05 17:39:02 +00:00
|
|
|
public:
|
2023-04-04 15:17:37 +00:00
|
|
|
CircleArc(double x, double y, double radiusX, double radiusY, double startAngle, double endAngle);
|
2023-02-05 17:39:02 +00:00
|
|
|
|
2024-01-07 16:17:20 +00:00
|
|
|
Point nextVector(double drawingProgress) override;
|
2024-01-07 19:48:02 +00:00
|
|
|
void scale(double x, double y, double z) override;
|
|
|
|
void translate(double x, double y, double z) override;
|
2023-02-05 17:39:02 +00:00
|
|
|
double length() override;
|
|
|
|
std::unique_ptr<Shape> clone() override;
|
|
|
|
std::string type() override;
|
|
|
|
|
|
|
|
double x, y, radiusX, radiusY, startAngle, endAngle;
|
|
|
|
|
|
|
|
};
|