@@ -271,6 +271,9 @@ module.exports = function(canvasGL, lines, canvasWidth, canvasHeight, data, unit
271
271
272
272
var previousAxisOrder = [ ] ;
273
273
274
+ var dims = d3 . range ( 2 ) . map ( function ( ) { return d3 . range ( 4 ) . map ( function ( ) { return d3 . range ( 16 ) } ) ; } ) ;
275
+ var lims = d3 . range ( 2 ) . map ( function ( ) { return d3 . range ( 4 ) . map ( function ( ) { return d3 . range ( 16 ) } ) ; } ) ;
276
+
274
277
function renderGLParcoords ( dimensionViews , setChanged , clearOnly ) {
275
278
276
279
var I ;
@@ -296,18 +299,16 @@ module.exports = function(canvasGL, lines, canvasWidth, canvasHeight, data, unit
296
299
}
297
300
}
298
301
299
- var dims = d3 . range ( 2 ) . map ( function ( ) { return d3 . range ( 4 ) . map ( function ( ) { return d3 . range ( 16 ) } ) ; } ) ;
300
-
301
- // todo turn it into something DRYer and using efficient loops
302
302
function makeItem ( i , ii , x , panelSizeX , originalXIndex , scatter ) {
303
- var lr , mat , d , index ;
303
+ var loHi , abcd , d , index ;
304
304
var leftRight = [ i , ii ] ;
305
305
306
- for ( lr = 0 ; lr < 2 ; lr ++ ) {
307
- index = leftRight [ lr ]
308
- for ( mat = 0 ; mat < 4 ; mat ++ ) {
306
+ for ( loHi = 0 ; loHi < 2 ; loHi ++ ) {
307
+ index = leftRight [ loHi ]
308
+ for ( abcd = 0 ; abcd < 4 ; abcd ++ ) {
309
309
for ( d = 0 ; d < 16 ; d ++ ) {
310
- dims [ lr ] [ mat ] [ d ] = d + mat * 16 === index ? 1 : 0 ;
310
+ dims [ loHi ] [ abcd ] [ d ] = d + 16 * abcd === index ? 1 : 0 ;
311
+ lims [ loHi ] [ abcd ] [ d ] = paddedUnit ( ( ! context && valid ( d , 16 * abcd ) ? orig ( d + 16 * abcd ) . filter [ loHi ] : loHi ) ) + ( 2 * loHi - 1 ) * filterEpsilon ;
311
312
}
312
313
}
313
314
}
@@ -317,6 +318,7 @@ module.exports = function(canvasGL, lines, canvasWidth, canvasHeight, data, unit
317
318
resolution : [ canvasWidth , canvasHeight ] ,
318
319
viewBoxPosition : [ x + overdrag , 0 ] ,
319
320
viewBoxSize : [ panelSizeX , canvasPanelSizeY ] ,
321
+
320
322
dim1A : dims [ 0 ] [ 0 ] ,
321
323
dim1B : dims [ 0 ] [ 1 ] ,
322
324
dim1C : dims [ 0 ] [ 2 ] ,
@@ -326,14 +328,15 @@ module.exports = function(canvasGL, lines, canvasWidth, canvasHeight, data, unit
326
328
dim2C : dims [ 1 ] [ 2 ] ,
327
329
dim2D : dims [ 1 ] [ 3 ] ,
328
330
329
- loA : d3 . range ( 16 ) . map ( function ( i ) { return paddedUnit ( ( ! context && valid ( i , 0 ) ? orig ( i ) . filter [ 0 ] : 0 ) ) - filterEpsilon ; } ) ,
330
- hiA : d3 . range ( 16 ) . map ( function ( i ) { return paddedUnit ( ( ! context && valid ( i , 0 ) ? orig ( i ) . filter [ 1 ] : 1 ) ) + filterEpsilon ; } ) ,
331
- loB : d3 . range ( 16 ) . map ( function ( i ) { return paddedUnit ( ( ! context && valid ( i , 16 ) ? orig ( i + 16 ) . filter [ 0 ] : 0 ) ) - filterEpsilon ; } ) ,
332
- hiB : d3 . range ( 16 ) . map ( function ( i ) { return paddedUnit ( ( ! context && valid ( i , 16 ) ? orig ( i + 16 ) . filter [ 1 ] : 1 ) ) + filterEpsilon ; } ) ,
333
- loC : d3 . range ( 16 ) . map ( function ( i ) { return paddedUnit ( ( ! context && valid ( i , 32 ) ? orig ( i + 32 ) . filter [ 0 ] : 0 ) ) - filterEpsilon ; } ) ,
334
- hiC : d3 . range ( 16 ) . map ( function ( i ) { return paddedUnit ( ( ! context && valid ( i , 32 ) ? orig ( i + 32 ) . filter [ 1 ] : 1 ) ) + filterEpsilon ; } ) ,
335
- loD : d3 . range ( 16 ) . map ( function ( i ) { return paddedUnit ( ( ! context && valid ( i , 48 ) ? orig ( i + 48 ) . filter [ 0 ] : 0 ) ) - filterEpsilon ; } ) ,
336
- hiD : d3 . range ( 16 ) . map ( function ( i ) { return paddedUnit ( ( ! context && valid ( i , 48 ) ? orig ( i + 48 ) . filter [ 1 ] : 1 ) ) + filterEpsilon ; } ) ,
331
+ loA : lims [ 0 ] [ 0 ] ,
332
+ loB : lims [ 0 ] [ 1 ] ,
333
+ loC : lims [ 0 ] [ 2 ] ,
334
+ loD : lims [ 0 ] [ 3 ] ,
335
+ hiA : lims [ 1 ] [ 0 ] ,
336
+ hiB : lims [ 1 ] [ 1 ] ,
337
+ hiC : lims [ 1 ] [ 2 ] ,
338
+ hiD : lims [ 1 ] [ 3 ] ,
339
+
337
340
colorClamp : colorClamp ,
338
341
scatter : scatter || 0 ,
339
342
scissorX : I === leftmostIndex ? 0 : x + overdrag ,
0 commit comments