Skip to content

Commit d2ad9f7

Browse files
committed
Merge branch '3.0.1'
2 parents 74582d8 + 8b0c10f commit d2ad9f7

11 files changed

Lines changed: 104 additions & 41 deletions

File tree

component.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"name": "d3",
3-
"version": "3.0.0",
3+
"version": "3.0.1",
44
"main": "./d3.js"
55
}

d3.js

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
};
1313
}
1414
d3 = {
15-
version: "3.0.0"
15+
version: "3.0.1"
1616
};
1717
var π = Math.PI, ε = 1e-6, d3_radians = π / 180, d3_degrees = 180 / π;
1818
function d3_target(d) {
@@ -5092,7 +5092,7 @@
50925092
function squarify(node) {
50935093
var children = node.children;
50945094
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;
50965096
scale(remaining, rect.dx * rect.dy / node.value);
50975097
row.area = 0;
50985098
while ((n = remaining.length) > 0) {
@@ -5348,10 +5348,6 @@
53485348
FeatureCollection: function(object, listener) {
53495349
var features = object.features, i = -1, n = features.length;
53505350
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);
53555351
}
53565352
};
53575353
var d3_geo_streamGeometryType = {
@@ -5379,6 +5375,10 @@
53795375
MultiPolygon: function(object, listener) {
53805376
var coordinates = object.coordinates, i = -1, n = coordinates.length;
53815377
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);
53825382
}
53835383
};
53845384
function d3_geo_streamLine(coordinates, listener, closed) {
@@ -5597,12 +5597,20 @@
55975597
};
55985598
var d3_geo_centroidDimension, d3_geo_centroidW, d3_geo_centroidX, d3_geo_centroidY, d3_geo_centroidZ;
55995599
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+
},
56015606
point: d3_geo_centroidPoint,
56025607
lineStart: d3_geo_centroidLineStart,
56035608
lineEnd: d3_geo_centroidLineEnd,
56045609
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+
}
56065614
d3_geo_centroid.lineStart = d3_geo_centroidRingStart;
56075615
},
56085616
polygonEnd: function() {
@@ -5620,10 +5628,6 @@
56205628
}
56215629
function d3_geo_centroidRingStart() {
56225630
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-
}
56275631
d3_geo_centroidDimension = 1;
56285632
d3_geo_centroidLineStart();
56295633
d3_geo_centroidDimension = 2;
@@ -5639,11 +5643,10 @@
56395643
}
56405644
function d3_geo_centroidLineStart() {
56415645
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;
56475650
}
56485651
d3_geo_centroid.point = function(λ, φ) {
56495652
λ *= d3_radians;

d3.min.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "d3",
3-
"version": "3.0.0",
3+
"version": "3.0.1",
44
"description": "A small, free JavaScript library for manipulating documents based on data.",
55
"keywords": [
66
"dom",

src/core/core.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
d3 = {version: "3.0.0"}; // semver
1+
d3 = {version: "3.0.1"}; // semver
22

33
var π = Math.PI,
44
ε = 1e-6,

src/geo/centroid.js

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,20 @@ var d3_geo_centroidDimension,
1818
d3_geo_centroidZ;
1919

2020
var d3_geo_centroid = {
21-
sphere: d3_noop,
21+
sphere: function() {
22+
if (d3_geo_centroidDimension < 2) {
23+
d3_geo_centroidDimension = 2;
24+
d3_geo_centroidW = d3_geo_centroidX = d3_geo_centroidY = d3_geo_centroidZ = 0;
25+
}
26+
},
2227
point: d3_geo_centroidPoint,
2328
lineStart: d3_geo_centroidLineStart,
2429
lineEnd: d3_geo_centroidLineEnd,
2530
polygonStart: function() {
26-
d3_geo_centroidDimension = 2;
31+
if (d3_geo_centroidDimension < 2) {
32+
d3_geo_centroidDimension = 2;
33+
d3_geo_centroidW = d3_geo_centroidX = d3_geo_centroidY = d3_geo_centroidZ = 0;
34+
}
2735
d3_geo_centroid.lineStart = d3_geo_centroidRingStart;
2836
},
2937
polygonEnd: function() {
@@ -45,10 +53,6 @@ function d3_geo_centroidPoint(λ, φ) {
4553
function d3_geo_centroidRingStart() {
4654
var λ00, φ00; // first point
4755

48-
if (d3_geo_centroidDimension < 2) {
49-
d3_geo_centroidDimension = 2;
50-
d3_geo_centroidW = d3_geo_centroidX = d3_geo_centroidY = d3_geo_centroidZ = 0;
51-
}
5256
d3_geo_centroidDimension = 1;
5357
d3_geo_centroidLineStart();
5458
d3_geo_centroidDimension = 2;
@@ -67,11 +71,10 @@ function d3_geo_centroidRingStart() {
6771
function d3_geo_centroidLineStart() {
6872
var x0, y0, z0; // previous point
6973

70-
if (d3_geo_centroidDimension !== 1) {
71-
if (d3_geo_centroidDimension < 1) {
72-
d3_geo_centroidDimension = 1;
73-
d3_geo_centroidW = d3_geo_centroidX = d3_geo_centroidY = d3_geo_centroidZ = 0;
74-
} else return;
74+
if (d3_geo_centroidDimension > 1) return;
75+
if (d3_geo_centroidDimension < 1) {
76+
d3_geo_centroidDimension = 1;
77+
d3_geo_centroidW = d3_geo_centroidX = d3_geo_centroidY = d3_geo_centroidZ = 0;
7578
}
7679

7780
d3_geo_centroid.point = function(λ, φ) {

src/geo/stream.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,6 @@ var d3_geo_streamObjectType = {
1919
FeatureCollection: function(object, listener) {
2020
var features = object.features, i = -1, n = features.length;
2121
while (++i < n) d3_geo_streamGeometry(features[i].geometry, listener);
22-
},
23-
GeometryCollection: function(object, listener) {
24-
var geometries = object.geometries, i = -1, n = geometries.length;
25-
while (++i < n) d3_geo_streamGeometry(geometries[i], listener);
2622
}
2723
};
2824

@@ -51,6 +47,10 @@ var d3_geo_streamGeometryType = {
5147
MultiPolygon: function(object, listener) {
5248
var coordinates = object.coordinates, i = -1, n = coordinates.length;
5349
while (++i < n) d3_geo_streamPolygon(coordinates[i], listener);
50+
},
51+
GeometryCollection: function(object, listener) {
52+
var geometries = object.geometries, i = -1, n = geometries.length;
53+
while (++i < n) d3_geo_streamGeometry(geometries[i], listener);
5454
}
5555
};
5656

src/layout/treemap.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ d3.layout.treemap = function() {
3434
best = Infinity, // the best row score so far
3535
score, // the current row score
3636
u = mode === "slice" ? rect.dx
37-
: mode === "dice" || mode === "slice-dice" && node.depth & 1 ? rect.dy
37+
: mode === "dice" ? rect.dy
38+
: mode === "slice-dice" ? node.depth & 1 ? rect.dy : rect.dx
3839
: Math.min(rect.dx, rect.dy), // initial orientation
3940
n;
4041
scale(remaining, rect.dx * rect.dy / node.value);

test/geo/bounds-test.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,29 @@ suite.addBatch({
9090
type: "Polygon",
9191
coordinates: [[[-123, 39], [-122, 39], [-122, 38], [-123, 39]], [[10, 20], [20, 20], [20, 10], [10, 10], [10, 20]]]
9292
}), [[-123, 38], [-122, 39]])
93+
},
94+
"NestedCollection": function (bounds) {
95+
assert.deepEqual(bounds({
96+
type: "FeatureCollection",
97+
features: [
98+
{
99+
type: "Feature",
100+
geometry: {
101+
type: "GeometryCollection",
102+
geometries: [
103+
{
104+
type: "Point",
105+
coordinates: [-120,47]
106+
},
107+
{
108+
type: "Point",
109+
coordinates: [-119,46]
110+
}
111+
]
112+
}
113+
}
114+
]
115+
}), [[-120,46], [-119,47]])
93116
}
94117
}
95118
});

test/geo/centroid-test.js

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,18 +65,37 @@ suite.addBatch({
6565
]}), [179.5, 0], 1e-6);
6666
},
6767
"GeometryCollection": {
68-
"Point and LineString": function(centroid) {
68+
"LineString, Point": function(centroid) {
6969
assert.inDelta(centroid({type: "GeometryCollection", geometries: [
7070
{type: "LineString", coordinates: [[179, 0], [180, 0]]},
7171
{type: "Point", coordinates: [0, 0]}
7272
]}), [179.5, 0], 1e-6);
7373
},
74-
"Point, LineString and Polygon": function(centroid) {
74+
"Polygon, LineString, Point": function(centroid) {
7575
assert.inDelta(centroid({type: "GeometryCollection", geometries: [
7676
{type: "Polygon", coordinates: [[[-180, 0], [-180, 1], [-179, 1], [-179, 0], [-180, 0]]]},
7777
{type: "LineString", coordinates: [[179, 0], [180, 0]]},
7878
{type: "Point", coordinates: [0, 0]}
7979
]}), [-179.5, 0.5], 1e-6);
80+
},
81+
"Point, LineString, Polygon": function(centroid) {
82+
assert.inDelta(centroid({type: "GeometryCollection", geometries: [
83+
{type: "Point", coordinates: [0, 0]},
84+
{type: "LineString", coordinates: [[179, 0], [180, 0]]},
85+
{type: "Polygon", coordinates: [[[-180, 0], [-180, 1], [-179, 1], [-179, 0], [-180, 0]]]}
86+
]}), [-179.5, 0.5], 1e-6);
87+
},
88+
"Sphere, Point": function(centroid) {
89+
assert.isUndefined(centroid({type: "GeometryCollection", geometries: [
90+
{type: "Sphere"},
91+
{type: "Point", coordinates: [0, 0]}
92+
]}));
93+
},
94+
"Point, Sphere": function(centroid) {
95+
assert.isUndefined(centroid({type: "GeometryCollection", geometries: [
96+
{type: "Point", coordinates: [0, 0]},
97+
{type: "Sphere"}
98+
]}));
8099
}
81100
}
82101
}

0 commit comments

Comments
 (0)