فهرست منبع

Receiving # 7ce73c44, optional `zflag` args has become unnecessary.

adrs2002 7 سال پیش
والد
کامیت
4b043cf600
2فایلهای تغییر یافته به همراه81 افزوده شده و 26 حذف شده
  1. 80 25
      examples/js/loaders/XLoader.js
  2. 1 1
      examples/webgl_loader_x.html

+ 80 - 25
examples/js/loaders/XLoader.js

@@ -237,14 +237,17 @@
 		}
 		}
 
 
 		createClass( XLoader, [ {
 		createClass( XLoader, [ {
-			key: 'load',
-			value: function load( _arg, onLoad, onProgress, onError ) {
+			key: '_setArgOption',
+			value: function _setArgOption( _arg ) {
 
 
-				var _this = this;
+				var _start = arguments.length > 1 && arguments[ 1 ] !== undefined ? arguments[ 1 ] : 0;
 
 
-				var loader = new THREE.FileLoader( this.manager );
-				loader.setResponseType( 'arraybuffer' );
-				for ( var i = 0; i < _arg.length; i ++ ) {
+				if ( ! _arg ) {
+
+					return;
+
+				}
+				for ( var i = _start; i < _arg.length; i ++ ) {
 
 
 					switch ( i ) {
 					switch ( i ) {
 
 
@@ -263,12 +266,78 @@
 					this.options = {};
 					this.options = {};
 
 
 				}
 				}
+
+			}
+		}, {
+			key: 'load',
+			value: function load( _arg, onLoad, onProgress, onError ) {
+
+				var _this = this;
+
+				this._setArgOption( _arg );
+				var loader = new THREE.FileLoader( this.manager );
+				loader.setResponseType( 'arraybuffer' );
 				loader.load( this.url, function ( response ) {
 				loader.load( this.url, function ( response ) {
 
 
 					_this._parse( response, onLoad );
 					_this._parse( response, onLoad );
 
 
 				}, onProgress, onError );
 				}, onProgress, onError );
 
 
+			}
+		}, {
+			key: 'fromResponsedData',
+			value: function fromResponsedData( _data, _arg, onLoad ) {
+
+				this._setArgOption( _arg );
+				this._parse( _data, onLoad );
+
+			}
+		}, {
+			key: '_readLine',
+			value: function _readLine( line ) {
+
+				var readed = 0;
+				while ( true ) {
+
+					var find = - 1;
+					find = line.indexOf( '//', readed );
+					if ( find === - 1 ) {
+
+						find = line.indexOf( '#', readed );
+
+					}
+					if ( find > - 1 && find < 2 ) {
+
+						var foundNewLine = - 1;
+						foundNewLine = line.indexOf( "\r\n", readed );
+						if ( foundNewLine > 0 ) {
+
+							readed = foundNewLine + 2;
+
+						} else {
+
+							foundNewLine = line.indexOf( "\r", readed );
+							if ( foundNewLine > 0 ) {
+
+								readed = foundNewLine + 1;
+
+							} else {
+
+								readed = line.indexOf( "\n", readed ) + 1;
+
+							}
+
+						}
+
+					} else {
+
+						break;
+
+					}
+
+				}
+				return line.substr( readed );
+
 			}
 			}
 		}, {
 		}, {
 			key: '_readLine',
 			key: '_readLine',
@@ -377,7 +446,10 @@
 						str += String.fromCharCode( array_buffer[ i ] );
 						str += String.fromCharCode( array_buffer[ i ] );
 
 
 					}
 					}
+
 					return str;
 					return str;
+					// fixme : if decodeText merged, this line enable.
+					// return THREE.Loader.decodeText( new Uint8Array( buf ) );
 
 
 				} else {
 				} else {
 
 
@@ -518,7 +590,6 @@
 
 
 				} else {
 				} else {
 
 
-					this._readFinalize();
 					setTimeout( function () {
 					setTimeout( function () {
 
 
 						_this2.onLoad( {
 						_this2.onLoad( {
@@ -877,15 +948,7 @@
 			value: function _readNormalVector1( line ) {
 			value: function _readNormalVector1( line ) {
 
 
 				var data = this._readLine( line.trim() ).substr( 0, line.length - 2 ).split( ";" );
 				var data = this._readLine( line.trim() ).substr( 0, line.length - 2 ).split( ";" );
-				if ( this.options.zflag ) {
-
-					this._currentGeo.normalVectors.push( new THREE.Vector3( parseFloat( data[ 0 ] ) * - 1, parseFloat( data[ 1 ] ) * - 1, parseFloat( data[ 2 ] ) * - 1 ) );
-
-				} else {
-
-					this._currentGeo.normalVectors.push( new THREE.Vector3( parseFloat( data[ 0 ] ), parseFloat( data[ 1 ] ), parseFloat( data[ 2 ] ) ) );
-
-				}
+				this._currentGeo.normalVectors.push( new THREE.Vector3( parseFloat( data[ 0 ] ), parseFloat( data[ 1 ] ), parseFloat( data[ 2 ] ) ) );
 
 
 			}
 			}
 		}, {
 		}, {
@@ -1066,15 +1129,7 @@
 				var _nowMat = new THREE.MeshPhongMaterial( {
 				var _nowMat = new THREE.MeshPhongMaterial( {
 					color: Math.random() * 0xffffff
 					color: Math.random() * 0xffffff
 				} );
 				} );
-				if ( this.options.zflag ) {
-
-					_nowMat.side = THREE.BackSide;
-
-				} else {
-
-					_nowMat.side = THREE.FrontSide;
-
-				}
+				_nowMat.side = THREE.FrontSide;
 				_nowMat.name = this._currentObject.name;
 				_nowMat.name = this._currentObject.name;
 				var endRead = 0;
 				var endRead = 0;
 				var find = this._currentObject.data.indexOf( ';;', endRead );
 				var find = this._currentObject.data.indexOf( ';;', endRead );

+ 1 - 1
examples/webgl_loader_x.html

@@ -163,7 +163,7 @@
 
 
             //download Model file
             //download Model file
 
 
-            loader.load( [ 'models/xfile/SSR06_model.x', { zflag: false } ], function ( object ) {
+            loader.load( [ 'models/xfile/SSR06_model.x' ], function ( object ) {
 
 
                 for ( var i = 0; i < object.models.length; i ++ ) {
                 for ( var i = 0; i < object.models.length; i ++ ) {