Fix for re-entrant area calculation.
This commit is contained in:
Родитель
3b11c2ca5b
Коммит
4a9a9cad0b
|
@ -6301,9 +6301,9 @@
|
|||
}
|
||||
}
|
||||
path.area = function(object) {
|
||||
d3_geo_areaSum = 0;
|
||||
d3_geo_pathAreaSum = 0;
|
||||
d3.geo.stream(object, projection.stream(d3_geo_pathArea));
|
||||
return d3_geo_areaSum;
|
||||
return d3_geo_pathAreaSum;
|
||||
};
|
||||
path.centroid = function(object) {
|
||||
d3_geo_centroidX = d3_geo_centroidY = d3_geo_centroidZ = 0;
|
||||
|
@ -6401,7 +6401,7 @@
|
|||
}
|
||||
return stream;
|
||||
}
|
||||
var d3_geo_pathAreaPolygon, d3_geo_pathArea = {
|
||||
var d3_geo_pathAreaSum, d3_geo_pathAreaPolygon, d3_geo_pathArea = {
|
||||
point: d3_noop,
|
||||
lineStart: d3_noop,
|
||||
lineEnd: d3_noop,
|
||||
|
@ -6411,7 +6411,7 @@
|
|||
},
|
||||
polygonEnd: function() {
|
||||
d3_geo_pathArea.lineStart = d3_geo_pathArea.lineEnd = d3_geo_pathArea.point = d3_noop;
|
||||
d3_geo_areaSum += Math.abs(d3_geo_pathAreaPolygon / 2);
|
||||
d3_geo_pathAreaSum += Math.abs(d3_geo_pathAreaPolygon / 2);
|
||||
}
|
||||
};
|
||||
function d3_geo_pathAreaRingStart() {
|
||||
|
|
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
|
@ -1,6 +1,6 @@
|
|||
// TODO Unify this code with d3.geom.polygon area?
|
||||
|
||||
var d3_geo_pathAreaPolygon, d3_geo_pathArea = {
|
||||
var d3_geo_pathAreaSum, d3_geo_pathAreaPolygon, d3_geo_pathArea = {
|
||||
point: d3_noop,
|
||||
lineStart: d3_noop,
|
||||
lineEnd: d3_noop,
|
||||
|
@ -12,7 +12,7 @@ var d3_geo_pathAreaPolygon, d3_geo_pathArea = {
|
|||
},
|
||||
polygonEnd: function() {
|
||||
d3_geo_pathArea.lineStart = d3_geo_pathArea.lineEnd = d3_geo_pathArea.point = d3_noop;
|
||||
d3_geo_areaSum += Math.abs(d3_geo_pathAreaPolygon / 2);
|
||||
d3_geo_pathAreaSum += Math.abs(d3_geo_pathAreaPolygon / 2);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -21,9 +21,9 @@ d3.geo.path = function() {
|
|||
}
|
||||
|
||||
path.area = function(object) {
|
||||
d3_geo_areaSum = 0;
|
||||
d3_geo_pathAreaSum = 0;
|
||||
d3.geo.stream(object, projection.stream(d3_geo_pathArea));
|
||||
return d3_geo_areaSum;
|
||||
return d3_geo_pathAreaSum;
|
||||
};
|
||||
|
||||
path.centroid = function(object) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче