package shape;

import javafx.geometry.Point2D;
import javafx.scene.canvas.GraphicsContext;
import java.util.ArrayList;
import java.util.List;

public abstract class AbstractShape implements Shape {
    protected List<Point2D> points = new ArrayList<>();

    public void addPoints(Point2D... points) {
        for (Point2D point : points) {
            this.points.add(point);
        }
    }

    @Override
    public int pointsCount() {
        return points.size();
    }

    @Override
    public Point2D point(int index) {
        return points.get(index);
    }

    @Override
    public abstract void draw(GraphicsContext graphicsContext);
}