@@ -16,7 +16,9 @@ var Registry = require('../../../registry');
1616var handleSubplotDefaults = require ( '../../subplot_defaults' ) ;
1717var supplyGl3dAxisLayoutDefaults = require ( './axis_defaults' ) ;
1818var layoutAttributes = require ( './layout_attributes' ) ;
19+ var getSubplotData = require ( '../../get_data' ) . getSubplotData ;
1920
21+ var GL3D = 'gl3d' ;
2022
2123module . exports = function supplyLayoutDefaults ( layoutIn , layoutOut , fullData ) {
2224 var hasNon3D = layoutOut . _basePlotModules . length > 1 ;
@@ -31,7 +33,7 @@ module.exports = function supplyLayoutDefaults(layoutIn, layoutOut, fullData) {
3133 }
3234
3335 handleSubplotDefaults ( layoutIn , layoutOut , fullData , {
34- type : 'gl3d' ,
36+ type : GL3D ,
3537 attributes : layoutAttributes ,
3638 handleDefaults : handleGl3dDefaults ,
3739 fullLayout : layoutOut ,
@@ -97,19 +99,13 @@ function handleGl3dDefaults(sceneLayoutIn, sceneLayoutOut, coerce, opts) {
9799 sceneLayoutIn . aspectmode = sceneLayoutOut . aspectmode ;
98100 }
99101
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 ) ;
108104
109105 supplyGl3dAxisLayoutDefaults ( sceneLayoutIn , sceneLayoutOut , {
110106 font : opts . font ,
111107 scene : opts . id ,
112- data : fullGl3dData ,
108+ data : fullSceneData ,
113109 bgColor : bgColorCombined ,
114110 calendar : opts . calendar ,
115111 fullLayout : opts . fullLayout
0 commit comments