/** * Gets the geometry for the triangles in a triangulated subdivision as a {@link GeometryCollection} * of triangular {@link Polygon}s. * * @param geomFact the GeometryFactory to use * @return a GeometryCollection of triangular Polygons */ public Geometry getTriangles(GeometryFactory geomFact) { List triPtsList = getTriangleCoordinates(false); Polygon[] tris = new Polygon[triPtsList.size()]; int i = 0; for (Iterator it = triPtsList.iterator(); it.hasNext();) { Coordinate[] triPt = (Coordinate[]) it.next(); tris[i++] = geomFact .createPolygon(geomFact.createLinearRing(triPt)); } return geomFact.createGeometryCollection(tris); }
private static GeometryCollection getTriangles(GeometryFactory geomFact, DelaunayTriangulationBuilder delaunayTriangulationBuilder) { QuadEdgeSubdivision subdiv = delaunayTriangulationBuilder.getSubdivision(); List triPtsList = subdiv.getTriangleCoordinates(false); Polygon[] tris = new Polygon[triPtsList.size()]; int i = 0; for (Object aTriPtsList : triPtsList) { Coordinate[] triPt = (Coordinate[]) aTriPtsList; tris[i++] = geomFact.createPolygon(geomFact.createLinearRing(triPt), null); } return geomFact.createMultiPolygon(tris); } }