Sha256: 2da6648717795c0647b36beb621031e75e7c9eed118ff2a28c8adb455ff7a62a
Contents?: true
Size: 1.49 KB
Versions: 1
Compression:
Stored size: 1.49 KB
Contents
import "../../math/trigonometry"; var d3_geom_voronoiEdges, d3_geom_voronoiCells, d3_geom_voronoiBeaches, d3_geom_voronoiBeachPool = [], d3_geom_voronoiFirstCircle, d3_geom_voronoiCircles, d3_geom_voronoiCirclePool = []; import "beach"; import "cell"; import "circle"; import "clip"; import "edge"; import "red-black"; function d3_geom_voronoi(sites, bbox) { var site = sites.sort(d3_geom_voronoiVertexOrder).pop(), x0, y0, circle; d3_geom_voronoiEdges = []; d3_geom_voronoiCells = new Array(sites.length); d3_geom_voronoiBeaches = new d3_geom_voronoiRedBlackTree; d3_geom_voronoiCircles = new d3_geom_voronoiRedBlackTree; while (true) { circle = d3_geom_voronoiFirstCircle; if (site && (!circle || site.y < circle.y || (site.y === circle.y && site.x < circle.x))) { if (site.x !== x0 || site.y !== y0) { d3_geom_voronoiCells[site.i] = new d3_geom_voronoiCell(site); d3_geom_voronoiAddBeach(site); x0 = site.x, y0 = site.y; } site = sites.pop(); } else if (circle) { d3_geom_voronoiRemoveBeach(circle.arc); } else { break; } } if (bbox) d3_geom_voronoiClipEdges(bbox), d3_geom_voronoiCloseCells(bbox); var diagram = {cells: d3_geom_voronoiCells, edges: d3_geom_voronoiEdges}; d3_geom_voronoiBeaches = d3_geom_voronoiCircles = d3_geom_voronoiEdges = d3_geom_voronoiCells = null; return diagram; }; function d3_geom_voronoiVertexOrder(a, b) { return b.y - a.y || b.x - a.x; }
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mdarray-sol-0.1.0-java | node_modules/dc/node_modules/d3/src/geom/voronoi/index.js |