Skip to content

Commit f79c64c

Browse files
committed
no need to set 'stash.count'
... just use trace._length instead (which is far less confusing).
1 parent e66b508 commit f79c64c

File tree

2 files changed

+28
-33
lines changed

2 files changed

+28
-33
lines changed

src/traces/scattergl/index.js

+23-27
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ function calc(gd, trace) {
4242
var xa = AxisIDs.getFromId(gd, trace.xaxis);
4343
var ya = AxisIDs.getFromId(gd, trace.yaxis);
4444
var subplot = fullLayout._plots[trace.xaxis + trace.yaxis];
45-
var count = trace._length;
46-
var count2 = count * 2;
45+
var len = trace._length;
46+
var len2 = len * 2;
4747
var stash = {};
4848
var i, xx, yy;
4949

@@ -52,21 +52,21 @@ function calc(gd, trace) {
5252

5353
// we need hi-precision for scatter2d,
5454
// regl-scatter2d uses NaNs for bad/missing values
55-
var positions = new Array(count2);
56-
for(i = 0; i < count; i++) {
55+
var positions = new Array(len2);
56+
for(i = 0; i < len; i++) {
5757
xx = x[i];
5858
yy = y[i];
5959
positions[i * 2] = xx === BADNUM ? NaN : xx;
6060
positions[i * 2 + 1] = yy === BADNUM ? NaN : yy;
6161
}
6262

6363
if(xa.type === 'log') {
64-
for(i = 0; i < count2; i += 2) {
64+
for(i = 0; i < len2; i += 2) {
6565
positions[i] = xa.c2l(positions[i]);
6666
}
6767
}
6868
if(ya.type === 'log') {
69-
for(i = 1; i < count2; i += 2) {
69+
for(i = 1; i < len2; i += 2) {
7070
positions[i] = ya.c2l(positions[i]);
7171
}
7272
}
@@ -77,8 +77,8 @@ function calc(gd, trace) {
7777
// FIXME: delegate this to webworker
7878
stash.tree = cluster(positions);
7979
} else {
80-
var ids = stash.ids = new Array(count);
81-
for(i = 0; i < count; i++) {
80+
var ids = stash.ids = new Array(len);
81+
for(i = 0; i < len; i++) {
8282
ids[i] = i;
8383
}
8484
}
@@ -92,12 +92,9 @@ function calc(gd, trace) {
9292
// For graphs with very large number of points and array marker.size,
9393
// use average marker size instead to speed things up.
9494
setFirstScatter(fullLayout, trace);
95-
var ppad;
96-
if(count < TOO_MANY_POINTS) {
97-
ppad = calcMarkerSize(trace, count);
98-
} else if(opts.marker) {
99-
ppad = 2 * (opts.marker.sizeAvg || Math.max(opts.marker.size, 3));
100-
}
95+
var ppad = len < TOO_MANY_POINTS ?
96+
calcMarkerSize(trace, len) :
97+
2 * (opts.marker.sizeAvg || Math.max(opts.marker.size, 3));
10198
calcAxisExpansion(gd, trace, xa, ya, x, y, ppad);
10299
if(opts.errorX) expandForErrorBars(trace, xa, opts.errorX);
103100
if(opts.errorY) expandForErrorBars(trace, ya, opts.errorY);
@@ -111,7 +108,7 @@ function calc(gd, trace) {
111108

112109
// FIXME: organize it in a more appropriate manner, probably in sceneOptions
113110
// put point-cluster instance for optimized regl calc
114-
if(opts.marker && count >= TOO_MANY_POINTS) {
111+
if(opts.marker && len >= TOO_MANY_POINTS) {
115112
opts.marker.cluster = stash.tree;
116113
}
117114

@@ -129,13 +126,10 @@ function calc(gd, trace) {
129126

130127
// stash scene ref
131128
stash._scene = scene;
132-
stash.index = scene.count;
129+
stash.index = scene.count++;
133130
stash.x = x;
134131
stash.y = y;
135132
stash.positions = positions;
136-
stash.count = count;
137-
138-
scene.count++;
139133

140134
return [{x: false, y: false, t: stash, trace: trace}];
141135
}
@@ -554,6 +548,7 @@ function plot(gd, subplot, cdata) {
554548
var trace = cd0.trace;
555549
var stash = cd0.t;
556550
var index = stash.index;
551+
var len = trace._length;
557552
var x = stash.x;
558553
var y = stash.y;
559554

@@ -574,7 +569,7 @@ function plot(gd, subplot, cdata) {
574569
selDict[selPts[j]] = 1;
575570
}
576571
var unselPts = [];
577-
for(j = 0; j < stash.count; j++) {
572+
for(j = 0; j < len; j++) {
578573
if(!selDict[j]) unselPts.push(j);
579574
}
580575
scene.unselectBatch[index] = unselPts;
@@ -585,9 +580,9 @@ function plot(gd, subplot, cdata) {
585580
// - spin that in a webworker
586581
// - compute selection from polygons in data coordinates
587582
// (maybe just for linear axes)
588-
var xpx = stash.xpx = new Array(stash.count);
589-
var ypx = stash.ypx = new Array(stash.count);
590-
for(j = 0; j < stash.count; j++) {
583+
var xpx = stash.xpx = new Array(len);
584+
var ypx = stash.ypx = new Array(len);
585+
for(j = 0; j < len; j++) {
591586
xpx[j] = xaxis.c2p(x[j]);
592587
ypx[j] = yaxis.c2p(y[j]);
593588
}
@@ -849,6 +844,7 @@ function selectPoints(searchInfo, selectionTester) {
849844
var selection = [];
850845
var trace = cd[0].trace;
851846
var stash = cd[0].t;
847+
var len = trace._length;
852848
var x = stash.x;
853849
var y = stash.y;
854850
var scene = stash._scene;
@@ -868,7 +864,7 @@ function selectPoints(searchInfo, selectionTester) {
868864
var i;
869865
if(selectionTester !== false && !selectionTester.degenerate) {
870866
els = [], unels = [];
871-
for(i = 0; i < stash.count; i++) {
867+
for(i = 0; i < len; i++) {
872868
if(selectionTester.contains([stash.xpx[i], stash.ypx[i]], false, i, searchInfo)) {
873869
els.push(i);
874870
selection.push({
@@ -882,7 +878,7 @@ function selectPoints(searchInfo, selectionTester) {
882878
}
883879
}
884880
} else {
885-
unels = arrayRange(stash.count);
881+
unels = arrayRange(len);
886882
}
887883

888884
// make sure selectBatch is created
@@ -916,6 +912,7 @@ function selectPoints(searchInfo, selectionTester) {
916912

917913
function styleTextSelection(cd) {
918914
var cd0 = cd[0];
915+
var trace = cd0.trace;
919916
var stash = cd0.t;
920917
var scene = stash._scene;
921918
var index = stash.index;
@@ -932,8 +929,7 @@ function styleTextSelection(cd) {
932929
var utc = unselOpts.color;
933930
var base = baseOpts.color;
934931
var hasArrayBase = Array.isArray(base);
935-
opts.color = new Array(stash.count);
936-
932+
opts.color = new Array(trace._length);
937933

938934
for(i = 0; i < els.length; i++) {
939935
j = els[i];

src/traces/scatterpolargl/index.js

+5-6
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ function plot(container, subplot, cdata) {
5959
var cd = cdscatter[0];
6060
var trace = cd.trace;
6161
var stash = cd.t;
62+
var len = trace._length;
6263
var rArray = stash.r;
6364
var thetaArray = stash.theta;
6465
var i;
@@ -74,12 +75,11 @@ function plot(container, subplot, cdata) {
7475
}
7576
}
7677

77-
var count = rArray.length;
78-
var positions = new Array(count * 2);
79-
var x = Array(count);
80-
var y = Array(count);
78+
var positions = new Array(len * 2);
79+
var x = Array(len);
80+
var y = Array(len);
8181

82-
for(i = 0; i < count; i++) {
82+
for(i = 0; i < len; i++) {
8383
var r = subRArray[i];
8484
var xx, yy;
8585

@@ -139,7 +139,6 @@ function plot(container, subplot, cdata) {
139139
stash.r = rArray;
140140
stash.theta = thetaArray;
141141
stash.positions = positions;
142-
stash.count = count;
143142
});
144143

145144
return ScatterGl.plot(container, subplot, cdata);

0 commit comments

Comments
 (0)