package br.com.etyllica.linear; import java.util.ArrayList; import java.util.List; import br.com.etyllica.core.Drawable; import br.com.etyllica.core.graphics.Graphics; import br.com.etyllica.core.linear.Point2D; public class PolygonalRegion implements Drawable { private boolean isClosed = true; private List<Point2D> list = new ArrayList<Point2D>(); public PolygonalRegion() { super(); } public void addPoint(Point2D point) { list.add(point); } @Override public void draw(Graphics g) { if(list.size() == 0) { return; } final int pointRadius = 3; Point2D firstPoint = list.get(0); g.fillCircle(firstPoint, pointRadius); Point2D lastPoint = firstPoint; for(int i = 1; i<list.size(); i++) { Point2D point = list.get(i); g.drawLine(lastPoint, point); g.fillCircle(point, pointRadius); lastPoint = point; } if(isClosed) { g.drawLine(lastPoint, firstPoint); } } }