Skip to content
Snippets Groups Projects
AbstractShape.java 661 B
Newer Older
  • Learn to ignore specific revisions
  • 1380's avatar
    1380 committed
    package shape;
    
    import javafx.geometry.Point2D;
    import javafx.scene.canvas.GraphicsContext;
    
    
    1380's avatar
    1380 committed
    import java.util.ArrayList;
    
    1380's avatar
    1380 committed
    import java.util.List;
    
    public abstract class AbstractShape implements Shape {
        private List<Point2D> points;
    
    1380's avatar
    1380 committed
    
        public AbstractShape(){
            this.points = new ArrayList<>();
        }
    
    1380's avatar
    1380 committed
        @Override
        public int pointsCount() {
    
    1380's avatar
    1380 committed
            return this.points.size();
    
    1380's avatar
    1380 committed
        }
    
        @Override
        public Point2D point(int index) {
    
    1380's avatar
    1380 committed
            return this.points.get(index);
    
    1380's avatar
    1380 committed
        }
    
        @Override
        abstract public void draw(GraphicsContext context) ;
        public void addPoints(List<Point2D> points) {
    
    1380's avatar
    1380 committed
             this.points.addAll(points);
    
    1380's avatar
    1380 committed
        }
    }