コンストラクタに頂点を与えて図形を作るPolygon2D
コンストラクタに頂点を与えて図形を作るPolygon2D
package com.tatesuke.physicsdraw.base;import java.awt.Rectangle;import java.awt.Shape;import java.awt.geom.AffineTransform;import java.awt.geom.GeneralPath;import java.awt.geom.PathIterator;import java.awt.geom.Point2D;import java.awt.geom.Rectangle2D;public class Polygon2D implements Shape {private GeneralPath path = new GeneralPath();public Polygon2D(Point2D... point) {path.moveTo(point[0].getX(), point[0].getY());for (int i=1; i<point.length; i++) {path.lineTo(point[i].getX(), point[i].getY());}path.lineTo(point[0].getX(), point[0].getY());}@Overridepublic boolean contains(Point2D p) {return path.contains(p);}@Overridepublic boolean contains(Rectangle2D r) {return path.contains(r);}@Overridepublic boolean contains(double x, double y) {return path.contains(x, y);}@Overridepublic boolean contains(double arg0, double arg1, double arg2, double arg3) {return contains(arg0, arg1, arg2, arg3);}@Overridepublic Rectangle getBounds() {return path.getBounds();}@Overridepublic Rectangle2D getBounds2D() {return path.getBounds2D();}@Overridepublic PathIterator getPathIterator(AffineTransform arg0) {return path.getPathIterator(arg0);}@Overridepublic PathIterator getPathIterator(AffineTransform at, double flatness) {return path.getPathIterator(at, flatness);}@Overridepublic boolean intersects(Rectangle2D r) {return path.intersects(r);}@Overridepublic boolean intersects(double x, double y, double w, double h) {return path.intersects(x, y, w, h);}}