@@ -16,7 +16,9 @@ var Registry = require('../../../registry');
16
16
var handleSubplotDefaults = require ( '../../subplot_defaults' ) ;
17
17
var supplyGl3dAxisLayoutDefaults = require ( './axis_defaults' ) ;
18
18
var layoutAttributes = require ( './layout_attributes' ) ;
19
+ var getSubplotData = require ( '../../get_data' ) . getSubplotData ;
19
20
21
+ var GL3D = 'gl3d' ;
20
22
21
23
module . exports = function supplyLayoutDefaults ( layoutIn , layoutOut , fullData ) {
22
24
var hasNon3D = layoutOut . _basePlotModules . length > 1 ;
@@ -31,7 +33,7 @@ module.exports = function supplyLayoutDefaults(layoutIn, layoutOut, fullData) {
31
33
}
32
34
33
35
handleSubplotDefaults ( layoutIn , layoutOut , fullData , {
34
- type : 'gl3d' ,
36
+ type : GL3D ,
35
37
attributes : layoutAttributes ,
36
38
handleDefaults : handleGl3dDefaults ,
37
39
fullLayout : layoutOut ,
@@ -97,19 +99,13 @@ function handleGl3dDefaults(sceneLayoutIn, sceneLayoutOut, coerce, opts) {
97
99
sceneLayoutIn . aspectmode = sceneLayoutOut . aspectmode ;
98
100
}
99
101
100
- var fullGl3dData = [ ] ;
101
- for ( var i = 0 ; i < opts . fullData . length ; i ++ ) {
102
- if ( opts . fullData [ i ] . scene ) {
103
- fullGl3dData . push (
104
- opts . fullData [ i ]
105
- ) ;
106
- }
107
- }
102
+ var sceneIds = opts . fullLayout . _subplots [ GL3D ] ;
103
+ var fullSceneData = getSubplotData ( opts . fullData , GL3D , sceneIds ) ;
108
104
109
105
supplyGl3dAxisLayoutDefaults ( sceneLayoutIn , sceneLayoutOut , {
110
106
font : opts . font ,
111
107
scene : opts . id ,
112
- data : fullGl3dData ,
108
+ data : fullSceneData ,
113
109
bgColor : bgColorCombined ,
114
110
calendar : opts . calendar ,
115
111
fullLayout : opts . fullLayout
0 commit comments