@@ -42,8 +42,8 @@ function calc(gd, trace) {
42
42
var xa = AxisIDs . getFromId ( gd , trace . xaxis ) ;
43
43
var ya = AxisIDs . getFromId ( gd , trace . yaxis ) ;
44
44
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 ;
47
47
var stash = { } ;
48
48
var i , xx , yy ;
49
49
@@ -52,21 +52,21 @@ function calc(gd, trace) {
52
52
53
53
// we need hi-precision for scatter2d,
54
54
// 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 ++ ) {
57
57
xx = x [ i ] ;
58
58
yy = y [ i ] ;
59
59
positions [ i * 2 ] = xx === BADNUM ? NaN : xx ;
60
60
positions [ i * 2 + 1 ] = yy === BADNUM ? NaN : yy ;
61
61
}
62
62
63
63
if ( xa . type === 'log' ) {
64
- for ( i = 0 ; i < count2 ; i += 2 ) {
64
+ for ( i = 0 ; i < len2 ; i += 2 ) {
65
65
positions [ i ] = xa . c2l ( positions [ i ] ) ;
66
66
}
67
67
}
68
68
if ( ya . type === 'log' ) {
69
- for ( i = 1 ; i < count2 ; i += 2 ) {
69
+ for ( i = 1 ; i < len2 ; i += 2 ) {
70
70
positions [ i ] = ya . c2l ( positions [ i ] ) ;
71
71
}
72
72
}
@@ -77,8 +77,8 @@ function calc(gd, trace) {
77
77
// FIXME: delegate this to webworker
78
78
stash . tree = cluster ( positions ) ;
79
79
} 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 ++ ) {
82
82
ids [ i ] = i ;
83
83
}
84
84
}
@@ -92,12 +92,9 @@ function calc(gd, trace) {
92
92
// For graphs with very large number of points and array marker.size,
93
93
// use average marker size instead to speed things up.
94
94
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 ) ) ;
101
98
calcAxisExpansion ( gd , trace , xa , ya , x , y , ppad ) ;
102
99
if ( opts . errorX ) expandForErrorBars ( trace , xa , opts . errorX ) ;
103
100
if ( opts . errorY ) expandForErrorBars ( trace , ya , opts . errorY ) ;
@@ -111,7 +108,7 @@ function calc(gd, trace) {
111
108
112
109
// FIXME: organize it in a more appropriate manner, probably in sceneOptions
113
110
// put point-cluster instance for optimized regl calc
114
- if ( opts . marker && count >= TOO_MANY_POINTS ) {
111
+ if ( opts . marker && len >= TOO_MANY_POINTS ) {
115
112
opts . marker . cluster = stash . tree ;
116
113
}
117
114
@@ -129,13 +126,10 @@ function calc(gd, trace) {
129
126
130
127
// stash scene ref
131
128
stash . _scene = scene ;
132
- stash . index = scene . count ;
129
+ stash . index = scene . count ++ ;
133
130
stash . x = x ;
134
131
stash . y = y ;
135
132
stash . positions = positions ;
136
- stash . count = count ;
137
-
138
- scene . count ++ ;
139
133
140
134
return [ { x : false , y : false , t : stash , trace : trace } ] ;
141
135
}
@@ -554,6 +548,7 @@ function plot(gd, subplot, cdata) {
554
548
var trace = cd0 . trace ;
555
549
var stash = cd0 . t ;
556
550
var index = stash . index ;
551
+ var len = trace . _length ;
557
552
var x = stash . x ;
558
553
var y = stash . y ;
559
554
@@ -574,7 +569,7 @@ function plot(gd, subplot, cdata) {
574
569
selDict [ selPts [ j ] ] = 1 ;
575
570
}
576
571
var unselPts = [ ] ;
577
- for ( j = 0 ; j < stash . count ; j ++ ) {
572
+ for ( j = 0 ; j < len ; j ++ ) {
578
573
if ( ! selDict [ j ] ) unselPts . push ( j ) ;
579
574
}
580
575
scene . unselectBatch [ index ] = unselPts ;
@@ -585,9 +580,9 @@ function plot(gd, subplot, cdata) {
585
580
// - spin that in a webworker
586
581
// - compute selection from polygons in data coordinates
587
582
// (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 ++ ) {
591
586
xpx [ j ] = xaxis . c2p ( x [ j ] ) ;
592
587
ypx [ j ] = yaxis . c2p ( y [ j ] ) ;
593
588
}
@@ -849,6 +844,7 @@ function selectPoints(searchInfo, selectionTester) {
849
844
var selection = [ ] ;
850
845
var trace = cd [ 0 ] . trace ;
851
846
var stash = cd [ 0 ] . t ;
847
+ var len = trace . _length ;
852
848
var x = stash . x ;
853
849
var y = stash . y ;
854
850
var scene = stash . _scene ;
@@ -868,7 +864,7 @@ function selectPoints(searchInfo, selectionTester) {
868
864
var i ;
869
865
if ( selectionTester !== false && ! selectionTester . degenerate ) {
870
866
els = [ ] , unels = [ ] ;
871
- for ( i = 0 ; i < stash . count ; i ++ ) {
867
+ for ( i = 0 ; i < len ; i ++ ) {
872
868
if ( selectionTester . contains ( [ stash . xpx [ i ] , stash . ypx [ i ] ] , false , i , searchInfo ) ) {
873
869
els . push ( i ) ;
874
870
selection . push ( {
@@ -882,7 +878,7 @@ function selectPoints(searchInfo, selectionTester) {
882
878
}
883
879
}
884
880
} else {
885
- unels = arrayRange ( stash . count ) ;
881
+ unels = arrayRange ( len ) ;
886
882
}
887
883
888
884
// make sure selectBatch is created
@@ -916,6 +912,7 @@ function selectPoints(searchInfo, selectionTester) {
916
912
917
913
function styleTextSelection ( cd ) {
918
914
var cd0 = cd [ 0 ] ;
915
+ var trace = cd0 . trace ;
919
916
var stash = cd0 . t ;
920
917
var scene = stash . _scene ;
921
918
var index = stash . index ;
@@ -932,8 +929,7 @@ function styleTextSelection(cd) {
932
929
var utc = unselOpts . color ;
933
930
var base = baseOpts . color ;
934
931
var hasArrayBase = Array . isArray ( base ) ;
935
- opts . color = new Array ( stash . count ) ;
936
-
932
+ opts . color = new Array ( trace . _length ) ;
937
933
938
934
for ( i = 0 ; i < els . length ; i ++ ) {
939
935
j = els [ i ] ;
0 commit comments