public static Polygon RandomCircleSweep2( double scale, int vertexCount ) { PolygonPoint point; PolygonPoint[] points; double radius = scale/4; points = new PolygonPoint[vertexCount]; for(int i=0; i<vertexCount; i++) { do { radius += scale/5*(0.5 - Math.random()); radius = radius > scale/2 ? scale/2 : radius; radius = radius < scale/10 ? scale/10 : radius; } while( radius < scale/10 || radius > scale/2 ); point = new PolygonPoint( radius*Math.cos( (PI_2*i)/vertexCount ), radius*Math.sin( (PI_2*i)/vertexCount ) ); points[i] = point; } return new Polygon( points ); } }
private org.poly2tri.geometry.polygon.Polygon makePolygon(Polygon polygon) { org.poly2tri.geometry.polygon.Polygon poly = makePolygon(polygon.getExteriorRing()); // Add holes for(int idHole = 0; idHole < polygon.getNumInteriorRing(); idHole++) { poly.addHole(makePolygon(polygon.getInteriorRingN(idHole))); } return poly; }
hint += p.pointCount();
private static List<Triangle2d> convert(Polygon p) { List<DelaunayTriangle> triangles = p.getTriangles(); if (triangles == null || triangles.size() == 0) { return null; } List<Triangle2d> out = new ArrayList<Triangle2d>(); for (DelaunayTriangle t : triangles) { Triangle2d triangle = new Triangle2d( new Point2d(t.points[0].getX(), t.points[0].getY()), new Point2d(t.points[1].getX(), t.points[1].getY()), new Point2d(t.points[2].getX(), t.points[2].getY())); out.add(triangle); } return out; }
private org.poly2tri.geometry.polygon.Polygon makePolygon(Polygon polygon) { org.poly2tri.geometry.polygon.Polygon poly = makePolygon(polygon.getExteriorRing()); // Add holes for(int idHole = 0; idHole < polygon.getNumInteriorRing(); idHole++) { poly.addHole(makePolygon(polygon.getInteriorRingN(idHole))); } return poly; }
private static Polygon convert(PolygonList2d polygon) { return new Polygon(polygon.getPoints().stream() .map(p -> new PolygonPoint(p.x, p.y)).collect(Collectors.toCollection(ArrayList<PolygonPoint>::new))); } }
private org.poly2tri.geometry.polygon.Polygon makePolygon(Polygon polygon) { org.poly2tri.geometry.polygon.Polygon poly = makePolygon(polygon.getExteriorRing()); // Add holes for(int idHole = 0; idHole < polygon.getNumInteriorRing(); idHole++) { poly.addHole(makePolygon(polygon.getInteriorRingN(idHole))); } return poly; }
points[i] = point; return new Polygon( points );
private static Polygon convert(PolygonWithHolesList2d polygonWithHoles) { Polygon outer = convert(polygonWithHoles.getOuter()); if (polygonWithHoles.getInner() != null) { for (PolygonList2d inner : polygonWithHoles.getInner()) { outer.addHole(convert(inner)); } } return outer; }
private org.poly2tri.geometry.polygon.Polygon makePolygon(LineString lineString) { PolygonPoint[] points = new PolygonPoint[lineString.getNumPoints() - 1]; for(int idPoint=0; idPoint < points.length; idPoint++) { Coordinate point = lineString.getCoordinateN(idPoint); points[idPoint] = new PolygonPoint(r(point.x), r(point.y), Double.isNaN(point.z) ? 0 : r(point.z)); } return new org.poly2tri.geometry.polygon.Polygon(points); }
private org.poly2tri.geometry.polygon.Polygon makePolygon(LineString lineString) { PolygonPoint[] points = new PolygonPoint[lineString.getNumPoints() - 1]; for(int idPoint=0; idPoint < points.length; idPoint++) { Coordinate point = lineString.getCoordinateN(idPoint); points[idPoint] = new PolygonPoint(r(point.x), r(point.y), Double.isNaN(point.z) ? 0 : r(point.z)); } return new org.poly2tri.geometry.polygon.Polygon(points); }
private org.poly2tri.geometry.polygon.Polygon makePolygon(LineString lineString) { PolygonPoint[] points = new PolygonPoint[lineString.getNumPoints() - 1]; for(int idPoint=0; idPoint < points.length; idPoint++) { Coordinate point = lineString.getCoordinateN(idPoint); points[idPoint] = new PolygonPoint(r(point.x), r(point.y), Double.isNaN(point.z) ? 0 : r(point.z)); } return new org.poly2tri.geometry.polygon.Polygon(points); }