1 /**
  2  * @author mrdoob / http://mrdoob.com/
  3  */
  4 
  5 /**@constructor*/
  6 THREE.Scene = function () {
  7 
  8 	THREE.Object3D.call( this );
  9 
 10 	this.fog = null;
 11 	this.overrideMaterial = null;
 12 
 13 	this.matrixAutoUpdate = false;
 14 
 15 	this.__objects = [];
 16 	this.__lights = [];
 17 
 18 	this.__objectsAdded = [];
 19 	this.__objectsRemoved = [];
 20 
 21 };
 22 
 23 THREE.Scene.prototype = Object.create( THREE.Object3D.prototype );
 24 
 25 THREE.Scene.prototype.__addObject = function ( object ) {
 26 
 27 	if ( object instanceof THREE.Light ) {
 28 
 29 		if ( this.__lights.indexOf( object ) === - 1 ) {
 30 
 31 			this.__lights.push( object );
 32 
 33 		}
 34 
 35 		if ( object.target && object.target.parent === undefined ) {
 36 
 37 			this.add( object.target );
 38 
 39 		}
 40 
 41 	} else if ( !( object instanceof THREE.Camera || object instanceof THREE.Bone ) ) {
 42 
 43 		if ( this.__objects.indexOf( object ) === - 1 ) {
 44 
 45 			this.__objects.push( object );
 46 			this.__objectsAdded.push( object );
 47 
 48 			// check if previously removed
 49 
 50 			var i = this.__objectsRemoved.indexOf( object );
 51 
 52 			if ( i !== -1 ) {
 53 
 54 				this.__objectsRemoved.splice( i, 1 );
 55 
 56 			}
 57 
 58 		}
 59 
 60 	}
 61 
 62 	for ( var c = 0; c < object.children.length; c ++ ) {
 63 
 64 		this.__addObject( object.children[ c ] );
 65 
 66 	}
 67 
 68 };
 69 
 70 THREE.Scene.prototype.__removeObject = function ( object ) {
 71 
 72 	if ( object instanceof THREE.Light ) {
 73 
 74 		var i = this.__lights.indexOf( object );
 75 
 76 		if ( i !== -1 ) {
 77 
 78 			this.__lights.splice( i, 1 );
 79 
 80 		}
 81 
 82 	} else if ( !( object instanceof THREE.Camera ) ) {
 83 
 84 		var i = this.__objects.indexOf( object );
 85 
 86 		if( i !== -1 ) {
 87 
 88 			this.__objects.splice( i, 1 );
 89 			this.__objectsRemoved.push( object );
 90 
 91 			// check if previously added
 92 
 93 			var ai = this.__objectsAdded.indexOf( object );
 94 
 95 			if ( ai !== -1 ) {
 96 
 97 				this.__objectsAdded.splice( ai, 1 );
 98 
 99 			}
100 
101 		}
102 
103 	}
104 
105 	for ( var c = 0; c < object.children.length; c ++ ) {
106 
107 		this.__removeObject( object.children[ c ] );
108 
109 	}
110 
111 };
112 

nike free rn new balance hombre baratas cinturones gucci ugg rebajas cinturon gucci ray ban baratas nike cortez peuterey mujer christian louboutin madrid mbt zapatos gafas ray ban baratas mbt ofertas air max blancas mbt barcelona nike air max 90 woolrich barcelona nike mujer botas ugg gafas de sol carrera aratas air max 2016 baratas oakley baratas nike air max 2016