From 44c1db954e8bee967b606870fbf126f181b92e7b Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Mon, 16 Oct 2017 13:44:30 -0400 Subject: [PATCH 1/3] fix #2088 - with tests! --- src/traces/contour/find_all_paths.js | 1 + test/jasmine/tests/contour_test.js | 77 ++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+) diff --git a/src/traces/contour/find_all_paths.js b/src/traces/contour/find_all_paths.js index a04a34daf8e..8faf1f20187 100644 --- a/src/traces/contour/find_all_paths.js +++ b/src/traces/contour/find_all_paths.js @@ -216,6 +216,7 @@ function makePath(pi, loc, edgeflag, xtol, ytol) { pi.paths.push(pts.concat(edgepath2)); } else { + if(edgei2 > edgei) edgei2--; pi.edgepaths[edgei2] = pi.edgepaths[edgei2].concat(pts, edgepath2); } diff --git a/test/jasmine/tests/contour_test.js b/test/jasmine/tests/contour_test.js index 989a164eeb4..fe4de40e6cd 100644 --- a/test/jasmine/tests/contour_test.js +++ b/test/jasmine/tests/contour_test.js @@ -345,6 +345,83 @@ describe('contour calc', function() { }); }); +describe('contour edge cases', function() { + var gd; + + beforeEach(function() { + gd = createGraphDiv(); + }); + afterEach(destroyGraphDiv); + + it('handles all sorts of merged edge paths', function() { + var z = [ + [2.38, 2.34, 2.36, 2.37, 2.36, 2.37, 2.36, 2.36, 2.34, 2.35, 2.34, 2.36, 2.38, 2.37, 2.35, 2.34, 2.35, 2.36, 2.36, 2.34, 2.33, 2.34, 2.33, 2.37], + [2.38, 2.35, 2.37, 2.38, 2.35, 2.35, 2.36, 2.38, 2.34, 2.35, 2.35, 2.35, 2.38, 2.36, 2.35, 2.35, 2.34, 2.35, 2.35, 2.33, 2.34, 2.34, 2.33, 2.36], + [2.36, 2.33, 2.32, 2.33, 2.34, 2.34, 2.35, 2.31, 2.31, 2.32, 2.30, 2.33, 2.35, 2.33, 2.32, 2.31, 2.35, 2.33, 2.33, 2.31, 2.32, 2.30, 2.31, 2.34], + [2.36, 2.34, 2.32, 2.31, 2.32, 2.34, 2.35, 2.33, 2.31, 2.34, 2.33, 2.33, 2.35, 2.33, 2.32, 2.32, 2.35, 2.33, 2.33, 2.33, 2.33, 2.30, 2.32, 2.34], + [2.35, 2.35, 2.32, 2.31, 2.30, 2.31, 2.32, 2.32, 2.31, 2.31, 2.32, 2.33, 2.32, 2.32, 2.32, 2.29, 2.32, 2.31, 2.31, 2.31, 2.30, 2.31, 2.30, 2.32], + [2.34, 2.33, 2.31, 2.35, 2.31, 2.33, 2.34, 2.34, 2.32, 2.31, 2.32, 2.33, 2.33, 2.32, 2.33, 2.33, 2.33, 2.33, 2.32, 2.32, 2.32, 2.33, 2.33, 2.32], + [2.33, 2.32, 2.32, 2.31, 2.31, 2.32, 2.33, 2.31, 2.32, 2.31, 2.30, 2.31, 2.34, 2.32, 2.32, 2.31, 2.32, 2.32, 2.32, 2.31, 2.31, 2.31, 2.30, 2.34], + [2.34, 2.32, 2.33, 2.33, 2.32, 2.32, 2.32, 2.31, 2.32, 2.30, 2.32, 2.33, 2.33, 2.32, 2.32, 2.32, 2.32, 2.32, 2.33, 2.32, 2.32, 2.31, 2.32, 2.32], + [2.32, 2.32, 2.31, 2.30, 2.31, 2.31, 2.31, 2.29, 2.31, 2.32, 2.30, 2.33, 2.33, 2.29, 2.31, 2.32, 2.31, 2.33, 2.32, 2.31, 2.31, 2.31, 2.30, 2.32], + [2.33, 2.33, 2.32, 2.33, 2.33, 2.33, 2.32, 2.32, 2.32, 2.32, 2.30, 2.32, 2.31, 2.33, 2.32, 2.33, 2.32, 2.33, 2.34, 2.31, 2.32, 2.31, 2.31, 2.32], + [2.33, 2.31, 2.31, 2.30, 2.30, 2.31, 2.32, 2.33, 2.29, 2.29, 2.30, 2.31, 2.32, 2.32, 2.32, 2.31, 2.32, 2.30, 2.32, 2.30, 2.31, 2.29, 2.29, 2.30], + [2.32, 2.31, 2.32, 2.32, 2.31, 2.32, 2.33, 2.33, 2.31, 2.31, 2.32, 2.33, 2.33, 2.32, 2.33, 2.33, 2.30, 2.32, 2.31, 2.30, 2.30, 2.31, 2.31, 2.31], + [2.33, 2.32, 2.32, 2.30, 2.30, 2.30, 2.30, 2.31, 2.30, 2.31, 2.31, 2.30, 2.32, 2.31, 2.29, 2.31, 2.31, 2.31, 2.31, 2.31, 2.31, 2.30, 2.30, 2.32], + [2.33, 2.33, 2.32, 2.32, 2.30, 2.33, 2.31, 2.31, 2.32, 2.32, 2.32, 2.32, 2.34, 2.31, 2.32, 2.32, 2.32, 2.33, 2.32, 2.31, 2.31, 2.31, 2.31, 2.32], + [2.33, 2.33, 2.30, 2.33, 2.31, 2.32, 2.31, 2.31, 2.30, 2.31, 2.30, 2.32, 2.33, 2.32, 2.31, 2.30, 2.31, 2.33, 2.31, 2.32, 2.30, 2.31, 2.31, 2.32], + [2.33, 2.33, 2.31, 2.32, 2.32, 2.33, 2.33, 2.32, 2.32, 2.34, 2.33, 2.33, 2.33, 2.34, 2.32, 2.31, 2.31, 2.32, 2.32, 2.32, 2.30, 2.32, 2.32, 2.32], + [2.32, 2.31, 2.32, 2.33, 2.31, 2.33, 2.32, 2.32, 2.32, 2.31, 2.31, 2.37, 2.32, 2.31, 2.31, 2.30, 2.31, 2.32, 2.31, 2.31, 2.30, 2.31, 2.31, 2.35], + [2.33, 2.32, 2.32, 2.31, 2.34, 2.35, 2.32, 2.33, 2.33, 2.32, 2.33, 2.34, 2.33, 2.33, 2.32, 2.32, 2.33, 2.34, 2.32, 2.32, 2.31, 2.31, 2.32, 2.33], + [2.32, 2.34, 2.30, 2.33, 2.30, 2.32, 2.33, 2.33, 2.32, 2.31, 2.30, 2.31, 2.32, 2.30, 2.31, 2.29, 2.31, 2.31, 2.31, 2.31, 2.30, 2.32, 2.30, 2.31], + [2.32, 2.32, 2.32, 2.32, 2.32, 2.33, 2.34, 2.34, 2.32, 2.32, 2.32, 2.32, 2.34, 2.30, 2.31, 2.34, 2.32, 2.33, 2.32, 2.30, 2.31, 2.34, 2.31, 2.32], + [2.31, 2.30, 2.33, 2.30, 2.29, 2.30, 2.31, 2.32, 2.30, 2.30, 2.32, 2.31, 2.32, 2.32, 2.31, 2.31, 2.30, 2.32, 2.31, 2.31, 2.31, 2.31, 2.30, 2.29], + [2.32, 2.32, 2.31, 2.31, 2.31, 2.34, 2.32, 2.32, 2.33, 2.30, 2.32, 2.33, 2.32, 2.32, 2.31, 2.31, 2.31, 2.32, 2.29, 2.32, 2.31, 2.31, 2.31, 2.32], + [2.32, 2.30, 2.31, 2.31, 2.29, 2.32, 2.32, 2.33, 2.30, 2.31, 2.30, 2.30, 2.31, 2.32, 2.30, 2.30, 2.31, 2.31, 2.32, 2.31, 2.30, 2.31, 2.32, 2.31], + [2.32, 2.31, 2.32, 2.34, 2.32, 2.32, 2.32, 2.32, 2.32, 2.32, 2.32, 2.34, 2.34, 2.32, 2.32, 2.34, 2.31, 2.30, 2.33, 2.31, 2.34, 2.31, 2.33, 2.31], + [2.33, 2.31, 2.29, 2.31, 2.32, 2.30, 2.34, 2.31, 2.31, 2.32, 2.32, 2.31, 2.31, 2.30, 2.31, 2.29, 2.31, 2.31, 2.31, 2.29, 2.31, 2.31, 2.33, 2.30], + [2.33, 2.30, 2.31, 2.31, 2.31, 2.32, 2.35, 2.33, 2.32, 2.31, 2.31, 2.31, 2.32, 2.32, 2.31, 2.32, 2.31, 2.33, 2.31, 2.33, 2.33, 2.33, 2.32, 2.33], + [2.30, 2.30, 2.31, 2.33, 2.30, 2.31, 2.31, 2.31, 2.29, 2.32, 2.29, 2.31, 2.31, 2.31, 2.31, 2.30, 2.29, 2.32, 2.31, 2.31, 2.31, 2.32, 2.32, 2.30], + [2.32, 2.31, 2.31, 2.31, 2.32, 2.33, 2.32, 2.34, 2.30, 2.32, 2.33, 2.31, 2.33, 2.32, 2.31, 2.32, 2.32, 2.32, 2.32, 2.30, 2.32, 2.32, 2.32, 2.32], + [2.34, 2.33, 2.30, 2.30, 2.33, 2.30, 2.31, 2.31, 2.31, 2.30, 2.31, 2.31, 2.35, 2.31, 2.32, 2.32, 2.30, 2.31, 2.32, 2.32, 2.31, 2.31, 2.31, 2.31], + [2.35, 2.32, 2.30, 2.32, 2.31, 2.32, 2.33, 2.34, 2.34, 2.31, 2.33, 2.32, 2.35, 2.36, 2.31, 2.34, 2.33, 2.33, 2.32, 2.33, 2.32, 2.32, 2.33, 2.34], + [2.34, 2.31, 2.30, 2.31, 2.32, 2.34, 2.34, 2.29, 2.29, 2.30, 2.30, 2.32, 2.31, 2.32, 2.32, 2.31, 2.30, 2.31, 2.33, 2.32, 2.33, 2.32, 2.29, 2.32], + [2.33, 2.34, 2.33, 2.33, 2.32, 2.34, 2.34, 2.33, 2.32, 2.33, 2.33, 2.33, 2.33, 2.32, 2.33, 2.33, 2.31, 2.33, 2.33, 2.32, 2.33, 2.34, 2.32, 2.31], + [2.33, 2.32, 2.31, 2.30, 2.32, 2.31, 2.31, 2.32, 2.31, 2.30, 2.29, 2.32, 2.33, 2.31, 2.33, 2.30, 2.30, 2.31, 2.31, 2.31, 2.32, 2.32, 2.34, 2.32], + [2.32, 2.32, 2.31, 2.32, 2.32, 2.32, 2.35, 2.33, 2.33, 2.31, 2.32, 2.34, 2.32, 2.32, 2.36, 2.33, 2.33, 2.33, 2.32, 2.34, 2.36, 2.32, 2.34, 2.32], + [2.32, 2.30, 2.30, 2.32, 2.32, 2.32, 2.31, 2.31, 2.31, 2.29, 2.30, 2.34, 2.32, 2.32, 2.30, 2.31, 2.34, 2.32, 2.32, 2.32, 2.32, 2.30, 2.30, 2.30], + [2.32, 2.30, 2.33, 2.33, 2.34, 2.32, 2.32, 2.31, 2.32, 2.31, 2.33, 2.32, 2.34, 2.33, 2.31, 2.33, 2.33, 2.32, 2.32, 2.31, 2.33, 2.31, 2.31, 2.32], + [2.30, 2.33, 2.30, 2.31, 2.32, 2.30, 2.31, 2.31, 2.31, 2.30, 2.31, 2.33, 2.32, 2.30, 2.30, 2.32, 2.30, 2.31, 2.31, 2.31, 2.30, 2.30, 2.30, 2.31], + [2.34, 2.32, 2.33, 2.34, 2.33, 2.33, 2.33, 2.32, 2.32, 2.32, 2.33, 2.34, 2.32, 2.32, 2.32, 2.31, 2.34, 2.32, 2.31, 2.31, 2.32, 2.31, 2.31, 2.33], + [2.32, 2.32, 2.31, 2.30, 2.31, 2.30, 2.31, 2.30, 2.31, 2.31, 2.30, 2.32, 2.33, 2.31, 2.31, 2.30, 2.31, 2.32, 2.31, 2.31, 2.31, 2.30, 2.31, 2.32], + [2.33, 2.32, 2.33, 2.32, 2.32, 2.33, 2.32, 2.32, 2.33, 2.31, 2.33, 2.32, 2.32, 2.32, 2.33, 2.31, 2.32, 2.34, 2.33, 2.31, 2.33, 2.31, 2.34, 2.34], + [2.34, 2.31, 2.31, 2.32, 2.30, 2.34, 2.32, 2.31, 2.30, 2.30, 2.31, 2.32, 2.33, 2.31, 2.30, 2.32, 2.30, 2.32, 2.32, 2.32, 2.29, 2.32, 2.31, 2.31], + [2.33, 2.33, 2.32, 2.34, 2.34, 2.33, 2.32, 2.31, 2.32, 2.33, 2.33, 2.31, 2.33, 2.32, 2.32, 2.36, 2.31, 2.33, 2.31, 2.32, 2.31, 2.32, 2.33, 2.31], + [2.33, 2.31, 2.30, 2.31, 2.31, 2.31, 2.31, 2.31, 2.31, 2.29, 2.30, 2.31, 2.31, 2.30, 2.29, 2.30, 2.31, 2.31, 2.31, 2.30, 2.31, 2.30, 2.30, 2.33], + [2.32, 2.31, 2.33, 2.29, 2.30, 2.32, 2.31, 2.32, 2.31, 2.30, 2.32, 2.33, 2.32, 2.32, 2.32, 2.33, 2.31, 2.32, 2.32, 2.32, 2.32, 2.32, 2.30, 2.32], + [2.33, 2.32, 2.32, 2.32, 2.30, 2.33, 2.31, 2.32, 2.31, 2.30, 2.31, 2.33, 2.33, 2.32, 2.32, 2.31, 2.31, 2.31, 2.31, 2.31, 2.29, 2.31, 2.31, 2.31], + [2.33, 2.33, 2.33, 2.32, 2.31, 2.33, 2.33, 2.32, 2.34, 2.33, 2.34, 2.34, 2.33, 2.33, 2.31, 2.32, 2.31, 2.33, 2.34, 2.31, 2.32, 2.32, 2.32, 2.33], + [2.35, 2.33, 2.31, 2.32, 2.32, 2.34, 2.35, 2.31, 2.32, 2.30, 2.31, 2.33, 2.33, 2.32, 2.32, 2.32, 2.32, 2.40, 2.33, 2.32, 2.34, 2.31, 2.31, 2.34], + [2.35, 2.33, 2.33, 2.32, 2.33, 2.34, 2.34, 2.32, 2.33, 2.32, 2.33, 2.34, 2.36, 2.33, 2.33, 2.34, 2.34, 2.34, 2.34, 2.34, 2.34, 2.32, 2.34, 2.35] + ]; + + var data = [{ + z: z, + type: 'contour', + showscale: true, + contours: { + start: 2.2, + end: 2.4, + size: 0.02 + } + }]; + Plotly.newPlot(gd, data); + + expect(document.querySelectorAll('.contour .openline').length).toBe(22); + expect(document.querySelectorAll('.contour .closedline').length).toBe(122); + }); +}); + describe('contour edits', function() { var gd; From c7312e673f9819d176466b8f30304506caf8b793 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Mon, 16 Oct 2017 17:06:57 -0400 Subject: [PATCH 2/3] update find_all_paths syntax --- src/traces/contour/find_all_paths.js | 65 ++++++++++++++-------------- 1 file changed, 33 insertions(+), 32 deletions(-) diff --git a/src/traces/contour/find_all_paths.js b/src/traces/contour/find_all_paths.js index 8faf1f20187..871e26fe232 100644 --- a/src/traces/contour/find_all_paths.js +++ b/src/traces/contour/find_all_paths.js @@ -102,18 +102,13 @@ function makePath(pi, loc, edgeflag, xtol, ytol) { if(cnt === 10000) { Lib.log('Infinite loop in contour?'); } - var closedpath = equalPts(pts[0], pts[pts.length - 1], xtol, ytol), - totaldist = 0, - distThresholdFactor = 0.2 * pi.smoothing, - alldists = [], - cropstart = 0, - distgroup, - cnt2, - cnt3, - newpt, - ptcnt, - ptavg, - thisdist; + var closedpath = equalPts(pts[0], pts[pts.length - 1], xtol, ytol); + var totaldist = 0; + var distThresholdFactor = 0.2 * pi.smoothing; + var alldists = []; + var cropstart = 0; + var distgroup, cnt2, cnt3, newpt, ptcnt, ptavg, thisdist, + i, j, edgepathi, edgepathj; /* * Check for points that are too close together (<1/5 the average dist @@ -198,42 +193,48 @@ function makePath(pi, loc, edgeflag, xtol, ytol) { // edge path - does it start where an existing edge path ends, or vice versa? var merged = false; - pi.edgepaths.forEach(function(edgepath, edgei) { - if(!merged && equalPts(edgepath[0], pts[pts.length - 1], xtol, ytol)) { + for(i = 0; i < pi.edgepaths.length; i++) { + edgepathi = pi.edgepaths[i]; + if(!merged && equalPts(edgepathi[0], pts[pts.length - 1], xtol, ytol)) { pts.pop(); merged = true; // now does it ALSO meet the end of another (or the same) path? var doublemerged = false; - pi.edgepaths.forEach(function(edgepath2, edgei2) { - if(!doublemerged && equalPts( - edgepath2[edgepath2.length - 1], pts[0], xtol, ytol)) { + for(j = 0; j < pi.edgepaths.length; j++) { + edgepathj = pi.edgepaths[j]; + if(equalPts(edgepathj[edgepathj.length - 1], pts[0], xtol, ytol)) { doublemerged = true; - pts.splice(0, 1); - pi.edgepaths.splice(edgei, 1); - if(edgei2 === edgei) { + pts.shift(); + pi.edgepaths.splice(i, 1); + if(j === i) { // the path is now closed - pi.paths.push(pts.concat(edgepath2)); + pi.paths.push(pts.concat(edgepathj)); } else { - if(edgei2 > edgei) edgei2--; - pi.edgepaths[edgei2] = - pi.edgepaths[edgei2].concat(pts, edgepath2); + if(j > i) { + j--; + } + pi.edgepaths[j] = + pi.edgepaths[j].concat(pts, edgepathj); } + break; } - }); + } if(!doublemerged) { - pi.edgepaths[edgei] = pts.concat(edgepath); + pi.edgepaths[i] = pts.concat(edgepathi); } } - }); - pi.edgepaths.forEach(function(edgepath, edgei) { - if(!merged && equalPts(edgepath[edgepath.length - 1], pts[0], xtol, ytol)) { - pts.splice(0, 1); - pi.edgepaths[edgei] = edgepath.concat(pts); + } + for(i = 0; i < pi.edgepaths.length; i++) { + if(merged) break; + edgepathi = pi.edgepaths[i]; + if(equalPts(edgepathi[edgepathi.length - 1], pts[0], xtol, ytol)) { + pts.shift(); + pi.edgepaths[i] = edgepathi.concat(pts); merged = true; } - }); + } if(!merged) pi.edgepaths.push(pts); } From c293cf7f68ebc7760f9560cf56b03b95a27631a7 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Mon, 16 Oct 2017 22:35:00 -0400 Subject: [PATCH 3/3] fix double-merge portion of contour algo - and move the test to an image, since it passed before and after this change --- src/traces/contour/find_all_paths.js | 7 +- test/image/baselines/contour_doublemerge.png | Bin 0 -> 98544 bytes test/image/mocks/contour_doublemerge.json | 60 +++++++++++++++ test/jasmine/tests/contour_test.js | 77 ------------------- 4 files changed, 62 insertions(+), 82 deletions(-) create mode 100644 test/image/baselines/contour_doublemerge.png create mode 100644 test/image/mocks/contour_doublemerge.json diff --git a/src/traces/contour/find_all_paths.js b/src/traces/contour/find_all_paths.js index 871e26fe232..6cb46251693 100644 --- a/src/traces/contour/find_all_paths.js +++ b/src/traces/contour/find_all_paths.js @@ -212,11 +212,8 @@ function makePath(pi, loc, edgeflag, xtol, ytol) { pi.paths.push(pts.concat(edgepathj)); } else { - if(j > i) { - j--; - } - pi.edgepaths[j] = - pi.edgepaths[j].concat(pts, edgepathj); + if(j > i) j--; + pi.edgepaths[j] = edgepathj.concat(pts, edgepathi); } break; } diff --git a/test/image/baselines/contour_doublemerge.png b/test/image/baselines/contour_doublemerge.png new file mode 100644 index 0000000000000000000000000000000000000000..c86bc77bde669bc44a791aa568ecbcc362d48bc1 GIT binary patch literal 98544 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

4PAnbVz$iX9sk}OwBP>C}zHO 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 literal 0 HcmV?d00001 diff --git a/test/image/mocks/contour_doublemerge.json b/test/image/mocks/contour_doublemerge.json new file mode 100644 index 00000000000..55c831751ca --- /dev/null +++ b/test/image/mocks/contour_doublemerge.json @@ -0,0 +1,60 @@ +{ + "data": [{ + "z": [ + [2.38,2.34,2.36,2.37,2.36,2.37,2.36,2.36,2.34,2.35,2.34,2.36,2.38,2.37,2.35,2.34,2.35,2.36,2.36,2.34,2.33,2.34,2.33,2.37], + [2.38,2.35,2.37,2.38,2.35,2.35,2.36,2.38,2.34,2.35,2.35,2.35,2.38,2.36,2.35,2.35,2.34,2.35,2.35,2.33,2.34,2.34,2.33,2.36], + [2.36,2.33,2.32,2.33,2.34,2.34,2.35,2.31,2.31,2.32,2.30,2.33,2.35,2.33,2.32,2.31,2.35,2.33,2.33,2.31,2.32,2.30,2.31,2.34], + [2.36,2.34,2.32,2.31,2.32,2.34,2.35,2.33,2.31,2.34,2.33,2.33,2.35,2.33,2.32,2.32,2.35,2.33,2.33,2.33,2.33,2.30,2.32,2.34], + [2.35,2.35,2.32,2.31,2.30,2.31,2.32,2.32,2.31,2.31,2.32,2.33,2.32,2.32,2.32,2.29,2.32,2.31,2.31,2.31,2.30,2.31,2.30,2.32], + [2.34,2.33,2.31,2.35,2.31,2.33,2.34,2.34,2.32,2.31,2.32,2.33,2.33,2.32,2.33,2.33,2.33,2.33,2.32,2.32,2.32,2.33,2.33,2.32], + [2.33,2.32,2.32,2.31,2.31,2.32,2.33,2.31,2.32,2.31,2.30,2.31,2.34,2.32,2.32,2.31,2.32,2.32,2.32,2.31,2.31,2.31,2.30,2.34], + [2.34,2.32,2.33,2.33,2.32,2.32,2.32,2.31,2.32,2.30,2.32,2.33,2.33,2.32,2.32,2.32,2.32,2.32,2.33,2.32,2.32,2.31,2.32,2.32], + [2.32,2.32,2.31,2.30,2.31,2.31,2.31,2.29,2.31,2.32,2.30,2.33,2.33,2.29,2.31,2.32,2.31,2.33,2.32,2.31,2.31,2.31,2.30,2.32], + [2.33,2.33,2.32,2.33,2.33,2.33,2.32,2.32,2.32,2.32,2.30,2.32,2.31,2.33,2.32,2.33,2.32,2.33,2.34,2.31,2.32,2.31,2.31,2.32], + [2.33,2.31,2.31,2.30,2.30,2.31,2.32,2.33,2.29,2.29,2.30,2.31,2.32,2.32,2.32,2.31,2.32,2.30,2.32,2.30,2.31,2.29,2.29,2.30], + [2.32,2.31,2.32,2.32,2.31,2.32,2.33,2.33,2.31,2.31,2.32,2.33,2.33,2.32,2.33,2.33,2.30,2.32,2.31,2.30,2.30,2.31,2.31,2.31], + [2.33,2.32,2.32,2.30,2.30,2.30,2.30,2.31,2.30,2.31,2.31,2.30,2.32,2.31,2.29,2.31,2.31,2.31,2.31,2.31,2.31,2.30,2.30,2.32], + [2.33,2.33,2.32,2.32,2.30,2.33,2.31,2.31,2.32,2.32,2.32,2.32,2.34,2.31,2.32,2.32,2.32,2.33,2.32,2.31,2.31,2.31,2.31,2.32], + [2.33,2.33,2.30,2.33,2.31,2.32,2.31,2.31,2.30,2.31,2.30,2.32,2.33,2.32,2.31,2.30,2.31,2.33,2.31,2.32,2.30,2.31,2.31,2.32], + [2.33,2.33,2.31,2.32,2.32,2.33,2.33,2.32,2.32,2.34,2.33,2.33,2.33,2.34,2.32,2.31,2.31,2.32,2.32,2.32,2.30,2.32,2.32,2.32], + [2.32,2.31,2.32,2.33,2.31,2.33,2.32,2.32,2.32,2.31,2.31,2.37,2.32,2.31,2.31,2.30,2.31,2.32,2.31,2.31,2.30,2.31,2.31,2.35], + [2.33,2.32,2.32,2.31,2.34,2.35,2.32,2.33,2.33,2.32,2.33,2.34,2.33,2.33,2.32,2.32,2.33,2.34,2.32,2.32,2.31,2.31,2.32,2.33], + [2.32,2.34,2.30,2.33,2.30,2.32,2.33,2.33,2.32,2.31,2.30,2.31,2.32,2.30,2.31,2.29,2.31,2.31,2.31,2.31,2.30,2.32,2.30,2.31], + [2.32,2.32,2.32,2.32,2.32,2.33,2.34,2.34,2.32,2.32,2.32,2.32,2.34,2.30,2.31,2.34,2.32,2.33,2.32,2.30,2.31,2.34,2.31,2.32], + [2.31,2.30,2.33,2.30,2.29,2.30,2.31,2.32,2.30,2.30,2.32,2.31,2.32,2.32,2.31,2.31,2.30,2.32,2.31,2.31,2.31,2.31,2.30,2.29], + [2.32,2.32,2.31,2.31,2.31,2.34,2.32,2.32,2.33,2.30,2.32,2.33,2.32,2.32,2.31,2.31,2.31,2.32,2.29,2.32,2.31,2.31,2.31,2.32], + [2.32,2.30,2.31,2.31,2.29,2.32,2.32,2.33,2.30,2.31,2.30,2.30,2.31,2.32,2.30,2.30,2.31,2.31,2.32,2.31,2.30,2.31,2.32,2.31], + [2.32,2.31,2.32,2.34,2.32,2.32,2.32,2.32,2.32,2.32,2.32,2.34,2.34,2.32,2.32,2.34,2.31,2.30,2.33,2.31,2.34,2.31,2.33,2.31], + [2.33,2.31,2.29,2.31,2.32,2.30,2.34,2.31,2.31,2.32,2.32,2.31,2.31,2.30,2.31,2.29,2.31,2.31,2.31,2.29,2.31,2.31,2.33,2.30], + [2.33,2.30,2.31,2.31,2.31,2.32,2.35,2.33,2.32,2.31,2.31,2.31,2.32,2.32,2.31,2.32,2.31,2.33,2.31,2.33,2.33,2.33,2.32,2.33], + [2.30,2.30,2.31,2.33,2.30,2.31,2.31,2.31,2.29,2.32,2.29,2.31,2.31,2.31,2.31,2.30,2.29,2.32,2.31,2.31,2.31,2.32,2.32,2.30], + [2.32,2.31,2.31,2.31,2.32,2.33,2.32,2.34,2.30,2.32,2.33,2.31,2.33,2.32,2.31,2.32,2.32,2.32,2.32,2.30,2.32,2.32,2.32,2.32], + [2.34,2.33,2.30,2.30,2.33,2.30,2.31,2.31,2.31,2.30,2.31,2.31,2.35,2.31,2.32,2.32,2.30,2.31,2.32,2.32,2.31,2.31,2.31,2.31], + [2.35,2.32,2.30,2.32,2.31,2.32,2.33,2.34,2.34,2.31,2.33,2.32,2.35,2.36,2.31,2.34,2.33,2.33,2.32,2.33,2.32,2.32,2.33,2.34], + [2.34,2.31,2.30,2.31,2.32,2.34,2.34,2.29,2.29,2.30,2.30,2.32,2.31,2.32,2.32,2.31,2.30,2.31,2.33,2.32,2.33,2.32,2.29,2.32], + [2.33,2.34,2.33,2.33,2.32,2.34,2.34,2.33,2.32,2.33,2.33,2.33,2.33,2.32,2.33,2.33,2.31,2.33,2.33,2.32,2.33,2.34,2.32,2.31], + [2.33,2.32,2.31,2.30,2.32,2.31,2.31,2.32,2.31,2.30,2.29,2.32,2.33,2.31,2.33,2.30,2.30,2.31,2.31,2.31,2.32,2.32,2.34,2.32], + [2.32,2.32,2.31,2.32,2.32,2.32,2.35,2.33,2.33,2.31,2.32,2.34,2.32,2.32,2.36,2.33,2.33,2.33,2.32,2.34,2.36,2.32,2.34,2.32], + [2.32,2.30,2.30,2.32,2.32,2.32,2.31,2.31,2.31,2.29,2.30,2.34,2.32,2.32,2.30,2.31,2.34,2.32,2.32,2.32,2.32,2.30,2.30,2.30], + [2.32,2.30,2.33,2.33,2.34,2.32,2.32,2.31,2.32,2.31,2.33,2.32,2.34,2.33,2.31,2.33,2.33,2.32,2.32,2.31,2.33,2.31,2.31,2.32], + [2.30,2.33,2.30,2.31,2.32,2.30,2.31,2.31,2.31,2.30,2.31,2.33,2.32,2.30,2.30,2.32,2.30,2.31,2.31,2.31,2.30,2.30,2.30,2.31], + [2.34,2.32,2.33,2.34,2.33,2.33,2.33,2.32,2.32,2.32,2.33,2.34,2.32,2.32,2.32,2.31,2.34,2.32,2.31,2.31,2.32,2.31,2.31,2.33], + [2.32,2.32,2.31,2.30,2.31,2.30,2.31,2.30,2.31,2.31,2.30,2.32,2.33,2.31,2.31,2.30,2.31,2.32,2.31,2.31,2.31,2.30,2.31,2.32], + [2.33,2.32,2.33,2.32,2.32,2.33,2.32,2.32,2.33,2.31,2.33,2.32,2.32,2.32,2.33,2.31,2.32,2.34,2.33,2.31,2.33,2.31,2.34,2.34], + [2.34,2.31,2.31,2.32,2.30,2.34,2.32,2.31,2.30,2.30,2.31,2.32,2.33,2.31,2.30,2.32,2.30,2.32,2.32,2.32,2.29,2.32,2.31,2.31], + [2.33,2.33,2.32,2.34,2.34,2.33,2.32,2.31,2.32,2.33,2.33,2.31,2.33,2.32,2.32,2.36,2.31,2.33,2.31,2.32,2.31,2.32,2.33,2.31], + [2.33,2.31,2.30,2.31,2.31,2.31,2.31,2.31,2.31,2.29,2.30,2.31,2.31,2.30,2.29,2.30,2.31,2.31,2.31,2.30,2.31,2.30,2.30,2.33], + [2.32,2.31,2.33,2.29,2.30,2.32,2.31,2.32,2.31,2.30,2.32,2.33,2.32,2.32,2.32,2.33,2.31,2.32,2.32,2.32,2.32,2.32,2.30,2.32], + [2.33,2.32,2.32,2.32,2.30,2.33,2.31,2.32,2.31,2.30,2.31,2.33,2.33,2.32,2.32,2.31,2.31,2.31,2.31,2.31,2.29,2.31,2.31,2.31], + [2.33,2.33,2.33,2.32,2.31,2.33,2.33,2.32,2.34,2.33,2.34,2.34,2.33,2.33,2.31,2.32,2.31,2.33,2.34,2.31,2.32,2.32,2.32,2.33], + [2.35,2.33,2.31,2.32,2.32,2.34,2.35,2.31,2.32,2.30,2.31,2.33,2.33,2.32,2.32,2.32,2.32,2.40,2.33,2.32,2.34,2.31,2.31,2.34], + [2.35,2.33,2.33,2.32,2.33,2.34,2.34,2.32,2.33,2.32,2.33,2.34,2.36,2.33,2.33,2.34,2.34,2.34,2.34,2.34,2.34,2.32,2.34,2.35]], + "type": "contour", + "contours": { + "start": 2.2, + "end": 2.4, + "size": 0.02 + } + }], + "layout": {"width": 400, "height": 600} +} diff --git a/test/jasmine/tests/contour_test.js b/test/jasmine/tests/contour_test.js index fe4de40e6cd..989a164eeb4 100644 --- a/test/jasmine/tests/contour_test.js +++ b/test/jasmine/tests/contour_test.js @@ -345,83 +345,6 @@ describe('contour calc', function() { }); }); -describe('contour edge cases', function() { - var gd; - - beforeEach(function() { - gd = createGraphDiv(); - }); - afterEach(destroyGraphDiv); - - it('handles all sorts of merged edge paths', function() { - var z = [ - [2.38, 2.34, 2.36, 2.37, 2.36, 2.37, 2.36, 2.36, 2.34, 2.35, 2.34, 2.36, 2.38, 2.37, 2.35, 2.34, 2.35, 2.36, 2.36, 2.34, 2.33, 2.34, 2.33, 2.37], - [2.38, 2.35, 2.37, 2.38, 2.35, 2.35, 2.36, 2.38, 2.34, 2.35, 2.35, 2.35, 2.38, 2.36, 2.35, 2.35, 2.34, 2.35, 2.35, 2.33, 2.34, 2.34, 2.33, 2.36], - [2.36, 2.33, 2.32, 2.33, 2.34, 2.34, 2.35, 2.31, 2.31, 2.32, 2.30, 2.33, 2.35, 2.33, 2.32, 2.31, 2.35, 2.33, 2.33, 2.31, 2.32, 2.30, 2.31, 2.34], - [2.36, 2.34, 2.32, 2.31, 2.32, 2.34, 2.35, 2.33, 2.31, 2.34, 2.33, 2.33, 2.35, 2.33, 2.32, 2.32, 2.35, 2.33, 2.33, 2.33, 2.33, 2.30, 2.32, 2.34], - [2.35, 2.35, 2.32, 2.31, 2.30, 2.31, 2.32, 2.32, 2.31, 2.31, 2.32, 2.33, 2.32, 2.32, 2.32, 2.29, 2.32, 2.31, 2.31, 2.31, 2.30, 2.31, 2.30, 2.32], - [2.34, 2.33, 2.31, 2.35, 2.31, 2.33, 2.34, 2.34, 2.32, 2.31, 2.32, 2.33, 2.33, 2.32, 2.33, 2.33, 2.33, 2.33, 2.32, 2.32, 2.32, 2.33, 2.33, 2.32], - [2.33, 2.32, 2.32, 2.31, 2.31, 2.32, 2.33, 2.31, 2.32, 2.31, 2.30, 2.31, 2.34, 2.32, 2.32, 2.31, 2.32, 2.32, 2.32, 2.31, 2.31, 2.31, 2.30, 2.34], - [2.34, 2.32, 2.33, 2.33, 2.32, 2.32, 2.32, 2.31, 2.32, 2.30, 2.32, 2.33, 2.33, 2.32, 2.32, 2.32, 2.32, 2.32, 2.33, 2.32, 2.32, 2.31, 2.32, 2.32], - [2.32, 2.32, 2.31, 2.30, 2.31, 2.31, 2.31, 2.29, 2.31, 2.32, 2.30, 2.33, 2.33, 2.29, 2.31, 2.32, 2.31, 2.33, 2.32, 2.31, 2.31, 2.31, 2.30, 2.32], - [2.33, 2.33, 2.32, 2.33, 2.33, 2.33, 2.32, 2.32, 2.32, 2.32, 2.30, 2.32, 2.31, 2.33, 2.32, 2.33, 2.32, 2.33, 2.34, 2.31, 2.32, 2.31, 2.31, 2.32], - [2.33, 2.31, 2.31, 2.30, 2.30, 2.31, 2.32, 2.33, 2.29, 2.29, 2.30, 2.31, 2.32, 2.32, 2.32, 2.31, 2.32, 2.30, 2.32, 2.30, 2.31, 2.29, 2.29, 2.30], - [2.32, 2.31, 2.32, 2.32, 2.31, 2.32, 2.33, 2.33, 2.31, 2.31, 2.32, 2.33, 2.33, 2.32, 2.33, 2.33, 2.30, 2.32, 2.31, 2.30, 2.30, 2.31, 2.31, 2.31], - [2.33, 2.32, 2.32, 2.30, 2.30, 2.30, 2.30, 2.31, 2.30, 2.31, 2.31, 2.30, 2.32, 2.31, 2.29, 2.31, 2.31, 2.31, 2.31, 2.31, 2.31, 2.30, 2.30, 2.32], - [2.33, 2.33, 2.32, 2.32, 2.30, 2.33, 2.31, 2.31, 2.32, 2.32, 2.32, 2.32, 2.34, 2.31, 2.32, 2.32, 2.32, 2.33, 2.32, 2.31, 2.31, 2.31, 2.31, 2.32], - [2.33, 2.33, 2.30, 2.33, 2.31, 2.32, 2.31, 2.31, 2.30, 2.31, 2.30, 2.32, 2.33, 2.32, 2.31, 2.30, 2.31, 2.33, 2.31, 2.32, 2.30, 2.31, 2.31, 2.32], - [2.33, 2.33, 2.31, 2.32, 2.32, 2.33, 2.33, 2.32, 2.32, 2.34, 2.33, 2.33, 2.33, 2.34, 2.32, 2.31, 2.31, 2.32, 2.32, 2.32, 2.30, 2.32, 2.32, 2.32], - [2.32, 2.31, 2.32, 2.33, 2.31, 2.33, 2.32, 2.32, 2.32, 2.31, 2.31, 2.37, 2.32, 2.31, 2.31, 2.30, 2.31, 2.32, 2.31, 2.31, 2.30, 2.31, 2.31, 2.35], - [2.33, 2.32, 2.32, 2.31, 2.34, 2.35, 2.32, 2.33, 2.33, 2.32, 2.33, 2.34, 2.33, 2.33, 2.32, 2.32, 2.33, 2.34, 2.32, 2.32, 2.31, 2.31, 2.32, 2.33], - [2.32, 2.34, 2.30, 2.33, 2.30, 2.32, 2.33, 2.33, 2.32, 2.31, 2.30, 2.31, 2.32, 2.30, 2.31, 2.29, 2.31, 2.31, 2.31, 2.31, 2.30, 2.32, 2.30, 2.31], - [2.32, 2.32, 2.32, 2.32, 2.32, 2.33, 2.34, 2.34, 2.32, 2.32, 2.32, 2.32, 2.34, 2.30, 2.31, 2.34, 2.32, 2.33, 2.32, 2.30, 2.31, 2.34, 2.31, 2.32], - [2.31, 2.30, 2.33, 2.30, 2.29, 2.30, 2.31, 2.32, 2.30, 2.30, 2.32, 2.31, 2.32, 2.32, 2.31, 2.31, 2.30, 2.32, 2.31, 2.31, 2.31, 2.31, 2.30, 2.29], - [2.32, 2.32, 2.31, 2.31, 2.31, 2.34, 2.32, 2.32, 2.33, 2.30, 2.32, 2.33, 2.32, 2.32, 2.31, 2.31, 2.31, 2.32, 2.29, 2.32, 2.31, 2.31, 2.31, 2.32], - [2.32, 2.30, 2.31, 2.31, 2.29, 2.32, 2.32, 2.33, 2.30, 2.31, 2.30, 2.30, 2.31, 2.32, 2.30, 2.30, 2.31, 2.31, 2.32, 2.31, 2.30, 2.31, 2.32, 2.31], - [2.32, 2.31, 2.32, 2.34, 2.32, 2.32, 2.32, 2.32, 2.32, 2.32, 2.32, 2.34, 2.34, 2.32, 2.32, 2.34, 2.31, 2.30, 2.33, 2.31, 2.34, 2.31, 2.33, 2.31], - [2.33, 2.31, 2.29, 2.31, 2.32, 2.30, 2.34, 2.31, 2.31, 2.32, 2.32, 2.31, 2.31, 2.30, 2.31, 2.29, 2.31, 2.31, 2.31, 2.29, 2.31, 2.31, 2.33, 2.30], - [2.33, 2.30, 2.31, 2.31, 2.31, 2.32, 2.35, 2.33, 2.32, 2.31, 2.31, 2.31, 2.32, 2.32, 2.31, 2.32, 2.31, 2.33, 2.31, 2.33, 2.33, 2.33, 2.32, 2.33], - [2.30, 2.30, 2.31, 2.33, 2.30, 2.31, 2.31, 2.31, 2.29, 2.32, 2.29, 2.31, 2.31, 2.31, 2.31, 2.30, 2.29, 2.32, 2.31, 2.31, 2.31, 2.32, 2.32, 2.30], - [2.32, 2.31, 2.31, 2.31, 2.32, 2.33, 2.32, 2.34, 2.30, 2.32, 2.33, 2.31, 2.33, 2.32, 2.31, 2.32, 2.32, 2.32, 2.32, 2.30, 2.32, 2.32, 2.32, 2.32], - [2.34, 2.33, 2.30, 2.30, 2.33, 2.30, 2.31, 2.31, 2.31, 2.30, 2.31, 2.31, 2.35, 2.31, 2.32, 2.32, 2.30, 2.31, 2.32, 2.32, 2.31, 2.31, 2.31, 2.31], - [2.35, 2.32, 2.30, 2.32, 2.31, 2.32, 2.33, 2.34, 2.34, 2.31, 2.33, 2.32, 2.35, 2.36, 2.31, 2.34, 2.33, 2.33, 2.32, 2.33, 2.32, 2.32, 2.33, 2.34], - [2.34, 2.31, 2.30, 2.31, 2.32, 2.34, 2.34, 2.29, 2.29, 2.30, 2.30, 2.32, 2.31, 2.32, 2.32, 2.31, 2.30, 2.31, 2.33, 2.32, 2.33, 2.32, 2.29, 2.32], - [2.33, 2.34, 2.33, 2.33, 2.32, 2.34, 2.34, 2.33, 2.32, 2.33, 2.33, 2.33, 2.33, 2.32, 2.33, 2.33, 2.31, 2.33, 2.33, 2.32, 2.33, 2.34, 2.32, 2.31], - [2.33, 2.32, 2.31, 2.30, 2.32, 2.31, 2.31, 2.32, 2.31, 2.30, 2.29, 2.32, 2.33, 2.31, 2.33, 2.30, 2.30, 2.31, 2.31, 2.31, 2.32, 2.32, 2.34, 2.32], - [2.32, 2.32, 2.31, 2.32, 2.32, 2.32, 2.35, 2.33, 2.33, 2.31, 2.32, 2.34, 2.32, 2.32, 2.36, 2.33, 2.33, 2.33, 2.32, 2.34, 2.36, 2.32, 2.34, 2.32], - [2.32, 2.30, 2.30, 2.32, 2.32, 2.32, 2.31, 2.31, 2.31, 2.29, 2.30, 2.34, 2.32, 2.32, 2.30, 2.31, 2.34, 2.32, 2.32, 2.32, 2.32, 2.30, 2.30, 2.30], - [2.32, 2.30, 2.33, 2.33, 2.34, 2.32, 2.32, 2.31, 2.32, 2.31, 2.33, 2.32, 2.34, 2.33, 2.31, 2.33, 2.33, 2.32, 2.32, 2.31, 2.33, 2.31, 2.31, 2.32], - [2.30, 2.33, 2.30, 2.31, 2.32, 2.30, 2.31, 2.31, 2.31, 2.30, 2.31, 2.33, 2.32, 2.30, 2.30, 2.32, 2.30, 2.31, 2.31, 2.31, 2.30, 2.30, 2.30, 2.31], - [2.34, 2.32, 2.33, 2.34, 2.33, 2.33, 2.33, 2.32, 2.32, 2.32, 2.33, 2.34, 2.32, 2.32, 2.32, 2.31, 2.34, 2.32, 2.31, 2.31, 2.32, 2.31, 2.31, 2.33], - [2.32, 2.32, 2.31, 2.30, 2.31, 2.30, 2.31, 2.30, 2.31, 2.31, 2.30, 2.32, 2.33, 2.31, 2.31, 2.30, 2.31, 2.32, 2.31, 2.31, 2.31, 2.30, 2.31, 2.32], - [2.33, 2.32, 2.33, 2.32, 2.32, 2.33, 2.32, 2.32, 2.33, 2.31, 2.33, 2.32, 2.32, 2.32, 2.33, 2.31, 2.32, 2.34, 2.33, 2.31, 2.33, 2.31, 2.34, 2.34], - [2.34, 2.31, 2.31, 2.32, 2.30, 2.34, 2.32, 2.31, 2.30, 2.30, 2.31, 2.32, 2.33, 2.31, 2.30, 2.32, 2.30, 2.32, 2.32, 2.32, 2.29, 2.32, 2.31, 2.31], - [2.33, 2.33, 2.32, 2.34, 2.34, 2.33, 2.32, 2.31, 2.32, 2.33, 2.33, 2.31, 2.33, 2.32, 2.32, 2.36, 2.31, 2.33, 2.31, 2.32, 2.31, 2.32, 2.33, 2.31], - [2.33, 2.31, 2.30, 2.31, 2.31, 2.31, 2.31, 2.31, 2.31, 2.29, 2.30, 2.31, 2.31, 2.30, 2.29, 2.30, 2.31, 2.31, 2.31, 2.30, 2.31, 2.30, 2.30, 2.33], - [2.32, 2.31, 2.33, 2.29, 2.30, 2.32, 2.31, 2.32, 2.31, 2.30, 2.32, 2.33, 2.32, 2.32, 2.32, 2.33, 2.31, 2.32, 2.32, 2.32, 2.32, 2.32, 2.30, 2.32], - [2.33, 2.32, 2.32, 2.32, 2.30, 2.33, 2.31, 2.32, 2.31, 2.30, 2.31, 2.33, 2.33, 2.32, 2.32, 2.31, 2.31, 2.31, 2.31, 2.31, 2.29, 2.31, 2.31, 2.31], - [2.33, 2.33, 2.33, 2.32, 2.31, 2.33, 2.33, 2.32, 2.34, 2.33, 2.34, 2.34, 2.33, 2.33, 2.31, 2.32, 2.31, 2.33, 2.34, 2.31, 2.32, 2.32, 2.32, 2.33], - [2.35, 2.33, 2.31, 2.32, 2.32, 2.34, 2.35, 2.31, 2.32, 2.30, 2.31, 2.33, 2.33, 2.32, 2.32, 2.32, 2.32, 2.40, 2.33, 2.32, 2.34, 2.31, 2.31, 2.34], - [2.35, 2.33, 2.33, 2.32, 2.33, 2.34, 2.34, 2.32, 2.33, 2.32, 2.33, 2.34, 2.36, 2.33, 2.33, 2.34, 2.34, 2.34, 2.34, 2.34, 2.34, 2.32, 2.34, 2.35] - ]; - - var data = [{ - z: z, - type: 'contour', - showscale: true, - contours: { - start: 2.2, - end: 2.4, - size: 0.02 - } - }]; - Plotly.newPlot(gd, data); - - expect(document.querySelectorAll('.contour .openline').length).toBe(22); - expect(document.querySelectorAll('.contour .closedline').length).toBe(122); - }); -}); - describe('contour edits', function() { var gd;