/** * @author alteredq / http://alteredqualia.com/ */ THREE.SceneUtils = { showHierarchy : function ( root, visible ) { THREE.SceneUtils.traverseHierarchy( root, function( node ) { node.visible = visible; } ); }, traverseHierarchy : function ( root, callback ) { var n, i, l = root.children.length; for ( i = 0; i < l; i ++ ) { n = root.children[ i ]; callback( n ); THREE.SceneUtils.traverseHierarchy( n, callback ); } }, createMultiMaterialObject : function ( geometry, materials ) { var i, il = materials.length, group = new THREE.Object3D(); for ( i = 0; i < il; i ++ ) { var object = new THREE.Mesh( geometry, materials[ i ] ); group.add( object ); } return group; } };