package shape;

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

public abstract class AbstractShape implements Shape {
    private List<Point2D>points;

    public AbstractShape(){
        points = new ArrayList<>();
    }
    public void addPoint(Point2D... points){
        for(Point2D point : points){
            this.points.add(point);
        }
    }

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

    public Point2D getPoint(int index){
        if(index < 0 || index >= points.size()){
            throw new IndexOutOfBoundsException("index out of bounds");
        }
        return points.get(index);
    }

    public abstract void draw(GraphicsContext graphicsContent);



}