|
12 | 12 | }; |
13 | 13 | } |
14 | 14 | d3 = { |
15 | | - version: "3.0.0" |
| 15 | + version: "3.0.1" |
16 | 16 | }; |
17 | 17 | var π = Math.PI, ε = 1e-6, d3_radians = π / 180, d3_degrees = 180 / π; |
18 | 18 | function d3_target(d) { |
|
5092 | 5092 | function squarify(node) { |
5093 | 5093 | var children = node.children; |
5094 | 5094 | if (children && children.length) { |
5095 | | - var rect = pad(node), row = [], remaining = children.slice(), child, best = Infinity, score, u = mode === "slice" ? rect.dx : mode === "dice" || mode === "slice-dice" && node.depth & 1 ? rect.dy : Math.min(rect.dx, rect.dy), n; |
| 5095 | + var rect = pad(node), row = [], remaining = children.slice(), child, best = Infinity, score, u = mode === "slice" ? rect.dx : mode === "dice" ? rect.dy : mode === "slice-dice" ? node.depth & 1 ? rect.dy : rect.dx : Math.min(rect.dx, rect.dy), n; |
5096 | 5096 | scale(remaining, rect.dx * rect.dy / node.value); |
5097 | 5097 | row.area = 0; |
5098 | 5098 | while ((n = remaining.length) > 0) { |
|
5348 | 5348 | FeatureCollection: function(object, listener) { |
5349 | 5349 | var features = object.features, i = -1, n = features.length; |
5350 | 5350 | while (++i < n) d3_geo_streamGeometry(features[i].geometry, listener); |
5351 | | - }, |
5352 | | - GeometryCollection: function(object, listener) { |
5353 | | - var geometries = object.geometries, i = -1, n = geometries.length; |
5354 | | - while (++i < n) d3_geo_streamGeometry(geometries[i], listener); |
5355 | 5351 | } |
5356 | 5352 | }; |
5357 | 5353 | var d3_geo_streamGeometryType = { |
|
5379 | 5375 | MultiPolygon: function(object, listener) { |
5380 | 5376 | var coordinates = object.coordinates, i = -1, n = coordinates.length; |
5381 | 5377 | while (++i < n) d3_geo_streamPolygon(coordinates[i], listener); |
| 5378 | + }, |
| 5379 | + GeometryCollection: function(object, listener) { |
| 5380 | + var geometries = object.geometries, i = -1, n = geometries.length; |
| 5381 | + while (++i < n) d3_geo_streamGeometry(geometries[i], listener); |
5382 | 5382 | } |
5383 | 5383 | }; |
5384 | 5384 | function d3_geo_streamLine(coordinates, listener, closed) { |
|
5597 | 5597 | }; |
5598 | 5598 | var d3_geo_centroidDimension, d3_geo_centroidW, d3_geo_centroidX, d3_geo_centroidY, d3_geo_centroidZ; |
5599 | 5599 | var d3_geo_centroid = { |
5600 | | - sphere: d3_noop, |
| 5600 | + sphere: function() { |
| 5601 | + if (d3_geo_centroidDimension < 2) { |
| 5602 | + d3_geo_centroidDimension = 2; |
| 5603 | + d3_geo_centroidW = d3_geo_centroidX = d3_geo_centroidY = d3_geo_centroidZ = 0; |
| 5604 | + } |
| 5605 | + }, |
5601 | 5606 | point: d3_geo_centroidPoint, |
5602 | 5607 | lineStart: d3_geo_centroidLineStart, |
5603 | 5608 | lineEnd: d3_geo_centroidLineEnd, |
5604 | 5609 | polygonStart: function() { |
5605 | | - d3_geo_centroidDimension = 2; |
| 5610 | + if (d3_geo_centroidDimension < 2) { |
| 5611 | + d3_geo_centroidDimension = 2; |
| 5612 | + d3_geo_centroidW = d3_geo_centroidX = d3_geo_centroidY = d3_geo_centroidZ = 0; |
| 5613 | + } |
5606 | 5614 | d3_geo_centroid.lineStart = d3_geo_centroidRingStart; |
5607 | 5615 | }, |
5608 | 5616 | polygonEnd: function() { |
|
5620 | 5628 | } |
5621 | 5629 | function d3_geo_centroidRingStart() { |
5622 | 5630 | var λ00, φ00; |
5623 | | - if (d3_geo_centroidDimension < 2) { |
5624 | | - d3_geo_centroidDimension = 2; |
5625 | | - d3_geo_centroidW = d3_geo_centroidX = d3_geo_centroidY = d3_geo_centroidZ = 0; |
5626 | | - } |
5627 | 5631 | d3_geo_centroidDimension = 1; |
5628 | 5632 | d3_geo_centroidLineStart(); |
5629 | 5633 | d3_geo_centroidDimension = 2; |
|
5639 | 5643 | } |
5640 | 5644 | function d3_geo_centroidLineStart() { |
5641 | 5645 | var x0, y0, z0; |
5642 | | - if (d3_geo_centroidDimension !== 1) { |
5643 | | - if (d3_geo_centroidDimension < 1) { |
5644 | | - d3_geo_centroidDimension = 1; |
5645 | | - d3_geo_centroidW = d3_geo_centroidX = d3_geo_centroidY = d3_geo_centroidZ = 0; |
5646 | | - } else return; |
| 5646 | + if (d3_geo_centroidDimension > 1) return; |
| 5647 | + if (d3_geo_centroidDimension < 1) { |
| 5648 | + d3_geo_centroidDimension = 1; |
| 5649 | + d3_geo_centroidW = d3_geo_centroidX = d3_geo_centroidY = d3_geo_centroidZ = 0; |
5647 | 5650 | } |
5648 | 5651 | d3_geo_centroid.point = function(λ, φ) { |
5649 | 5652 | λ *= d3_radians; |
|
0 commit comments