@@ -13,7 +13,6 @@ var map1dArray = require('../carpet/map_1d_array');
13
13
var makepath = require ( '../carpet/makepath' ) ;
14
14
var Drawing = require ( '../../components/drawing' ) ;
15
15
var Lib = require ( '../../lib' ) ;
16
- var getUidsFromCalcData = require ( '../../plots/get_data' ) . getUidsFromCalcData ;
17
16
18
17
var makeCrossings = require ( '../contour/make_crossings' ) ;
19
18
var findAllPaths = require ( '../contour/find_all_paths' ) ;
@@ -27,35 +26,23 @@ var lookupCarpet = require('../carpet/lookup_carpetid');
27
26
var closeBoundaries = require ( '../contour/close_boundaries' ) ;
28
27
29
28
module . 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 ) ;
41
30
} ;
42
31
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 ;
45
34
46
35
var carpet = trace . _carpetTrace = lookupCarpet ( gd , trace ) ;
47
36
var carpetcd = gd . calcdata [ carpet . index ] [ 0 ] ;
48
37
49
38
if ( ! carpet . visible || carpet . visible === 'legendonly' ) return ;
50
39
51
- var a = cd [ 0 ] . a ;
52
- var b = cd [ 0 ] . b ;
40
+ var a = cd . a ;
41
+ var b = cd . b ;
53
42
var contours = trace . contours ;
54
- var uid = trace . uid ;
55
43
var xa = plotinfo . xaxis ;
56
44
var ya = plotinfo . yaxis ;
57
- var id = 'contour' + uid ;
58
- var pathinfo = emptyPathinfo ( contours , plotinfo , cd [ 0 ] ) ;
45
+ var pathinfo = emptyPathinfo ( contours , plotinfo , cd ) ;
59
46
var isConstraint = contours . type === 'constraint' ;
60
47
var operation = contours . _operation ;
61
48
var coloring = isConstraint ? ( operation === '=' ? 'lines' : 'fill' ) : contours . coloring ;
@@ -98,7 +85,6 @@ function plotOne(gd, plotinfo, cd, contourcarpetLayer) {
98
85
mapPathinfo ( pathinfo , ab2p ) ;
99
86
100
87
// draw everything
101
- var plotGroup = contourPlot . makeContourGroup ( contourcarpetLayer , cd , id ) ;
102
88
103
89
// Compute the boundary path
104
90
var seg , xp , yp , i ;
@@ -124,7 +110,7 @@ function plotOne(gd, plotinfo, cd, contourcarpetLayer) {
124
110
makeFills ( trace , plotGroup , xa , ya , fillPathinfo , perimeter , ab2p , carpet , carpetcd , coloring , boundaryPath ) ;
125
111
126
112
// Draw contour lines:
127
- makeLinesAndLabels ( plotGroup , pathinfo , gd , cd [ 0 ] , contours , plotinfo , carpet ) ;
113
+ makeLinesAndLabels ( plotGroup , pathinfo , gd , cd , contours , plotinfo , carpet ) ;
128
114
129
115
// Clip the boundary of the plot
130
116
Drawing . setClipUrl ( plotGroup , carpet . _clipPathId ) ;
0 commit comments