Skip to content

Commit ee43055

Browse files
committed
resolve #1311 - replace join(',') calls
1 parent 9b29d7a commit ee43055

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

src/traces/contour/find_all_paths.js

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -53,15 +53,15 @@ function ptDist(pt1, pt2) {
5353
}
5454

5555
function makePath(pi, loc, edgeflag, xtol, ytol) {
56-
var startLocStr = loc.join(',');
57-
var locStr = startLocStr;
56+
var locStr = loc.join(',');
5857
var mi = pi.crossings[locStr];
59-
var marchStep = startStep(mi, edgeflag, loc);
58+
var marchStep = getStartStep(mi, edgeflag, loc);
6059
// start by going backward a half step and finding the crossing point
6160
var pts = [getInterpPx(pi, loc, [-marchStep[0], -marchStep[1]])];
62-
var startStepStr = marchStep.join(',');
6361
var m = pi.z.length;
6462
var n = pi.z[0].length;
63+
var startLoc = loc.slice();
64+
var startStep = marchStep.slice();
6565
var cnt;
6666

6767
// now follow the path
@@ -83,14 +83,16 @@ function makePath(pi, loc, edgeflag, xtol, ytol) {
8383
pts.push(getInterpPx(pi, loc, marchStep));
8484
loc[0] += marchStep[0];
8585
loc[1] += marchStep[1];
86+
locStr = loc.join(',');
8687

8788
// don't include the same point multiple times
8889
if(equalPts(pts[pts.length - 1], pts[pts.length - 2], xtol, ytol)) pts.pop();
89-
locStr = loc.join(',');
9090

9191
var atEdge = (marchStep[0] && (loc[0] < 0 || loc[0] > n - 2)) ||
9292
(marchStep[1] && (loc[1] < 0 || loc[1] > m - 2));
93-
var closedLoop = (locStr === startLocStr) && (marchStep.join(',') === startStepStr);
93+
94+
var closedLoop = loc[0] === startLoc[0] && loc[1] === startLoc[1] &&
95+
marchStep[0] === startStep[0] && marchStep[1] === startStep[1];
9496

9597
// have we completed a loop, or reached an edge?
9698
if((closedLoop) || (edgeflag && atEdge)) break;
@@ -184,7 +186,7 @@ function makePath(pi, loc, edgeflag, xtol, ytol) {
184186
} else {
185187
if(!edgeflag) {
186188
Lib.log('Unclosed interior contour?',
187-
pi.level, startLocStr, pts.join('L'));
189+
pi.level, startLoc.join(','), pts.join('L'));
188190
}
189191

190192
// edge path - does it start where an existing edge path ends, or vice versa?
@@ -234,7 +236,7 @@ function makePath(pi, loc, edgeflag, xtol, ytol) {
234236

235237
// special function to get the marching step of the
236238
// first point in the path (leading to loc)
237-
function startStep(mi, edgeflag, loc) {
239+
function getStartStep(mi, edgeflag, loc) {
238240
var dx = 0;
239241
var dy = 0;
240242
if(mi > 20 && edgeflag) {

0 commit comments

Comments
 (0)