@@ -13,7 +13,6 @@ var map1dArray = require('../carpet/map_1d_array');
1313var makepath = require ( '../carpet/makepath' ) ;
1414var Drawing = require ( '../../components/drawing' ) ;
1515var Lib = require ( '../../lib' ) ;
16- var getUidsFromCalcData = require ( '../../plots/get_data' ) . getUidsFromCalcData ;
1716
1817var makeCrossings = require ( '../contour/make_crossings' ) ;
1918var findAllPaths = require ( '../contour/find_all_paths' ) ;
@@ -27,35 +26,23 @@ var lookupCarpet = require('../carpet/lookup_carpetid');
2726var closeBoundaries = require ( '../contour/close_boundaries' ) ;
2827
2928module . exports = function plot ( gd , plotinfo , cdcontours , contourcarpetLayer ) {
30- var uidLookup = getUidsFromCalcData ( cdcontours ) ;
31-
32- contourcarpetLayer . selectAll ( 'g.contour' ) . each ( function ( d ) {
33- if ( ! uidLookup [ d . trace . uid ] ) {
34- d3 . select ( this ) . remove ( ) ;
35- }
36- } ) ;
37-
38- for ( var i = 0 ; i < cdcontours . length ; i ++ ) {
39- plotOne ( gd , plotinfo , cdcontours [ i ] , contourcarpetLayer ) ;
40- }
29+ contourPlot . plotWrapper ( gd , plotinfo , cdcontours , contourcarpetLayer , plotOne ) ;
4130} ;
4231
43- function plotOne ( gd , plotinfo , cd , contourcarpetLayer ) {
44- var trace = cd [ 0 ] . trace ;
32+ function plotOne ( gd , plotinfo , cd , plotGroup ) {
33+ var trace = cd . trace ;
4534
4635 var carpet = trace . _carpetTrace = lookupCarpet ( gd , trace ) ;
4736 var carpetcd = gd . calcdata [ carpet . index ] [ 0 ] ;
4837
4938 if ( ! carpet . visible || carpet . visible === 'legendonly' ) return ;
5039
51- var a = cd [ 0 ] . a ;
52- var b = cd [ 0 ] . b ;
40+ var a = cd . a ;
41+ var b = cd . b ;
5342 var contours = trace . contours ;
54- var uid = trace . uid ;
5543 var xa = plotinfo . xaxis ;
5644 var ya = plotinfo . yaxis ;
57- var id = 'contour' + uid ;
58- var pathinfo = emptyPathinfo ( contours , plotinfo , cd [ 0 ] ) ;
45+ var pathinfo = emptyPathinfo ( contours , plotinfo , cd ) ;
5946 var isConstraint = contours . type === 'constraint' ;
6047 var operation = contours . _operation ;
6148 var coloring = isConstraint ? ( operation === '=' ? 'lines' : 'fill' ) : contours . coloring ;
@@ -98,7 +85,6 @@ function plotOne(gd, plotinfo, cd, contourcarpetLayer) {
9885 mapPathinfo ( pathinfo , ab2p ) ;
9986
10087 // draw everything
101- var plotGroup = contourPlot . makeContourGroup ( contourcarpetLayer , cd , id ) ;
10288
10389 // Compute the boundary path
10490 var seg , xp , yp , i ;
@@ -124,7 +110,7 @@ function plotOne(gd, plotinfo, cd, contourcarpetLayer) {
124110 makeFills ( trace , plotGroup , xa , ya , fillPathinfo , perimeter , ab2p , carpet , carpetcd , coloring , boundaryPath ) ;
125111
126112 // Draw contour lines:
127- makeLinesAndLabels ( plotGroup , pathinfo , gd , cd [ 0 ] , contours , plotinfo , carpet ) ;
113+ makeLinesAndLabels ( plotGroup , pathinfo , gd , cd , contours , plotinfo , carpet ) ;
128114
129115 // Clip the boundary of the plot
130116 Drawing . setClipUrl ( plotGroup , carpet . _clipPathId ) ;
0 commit comments