提交 d47b8fba 编写于 作者: M Mr.doob

Reverted console.* to THREE.* change. See #5791.

上级 cdcdde93
......@@ -42,7 +42,7 @@ THREE.AudioObject = function ( url, volume, playbackRate, loop ) {
} catch ( error ) {
THREE.warn( "THREE.AudioObject: webkitAudioContext not found" );
console.warn( "THREE.AudioObject: webkitAudioContext not found" );
return this;
}
......
......@@ -740,7 +740,7 @@ THREE.MarchingCubes = function ( resolution, material, enableUvs, enableColors )
this.render( geo_callback );
// THREE.log( "generated " + geo.faces.length + " triangles" );
// console.log( "generated " + geo.faces.length + " triangles" );
return geo;
......
......@@ -103,7 +103,7 @@ THREE.Mirror = function ( renderer, camera, options ) {
} else {
this.camera = new THREE.PerspectiveCamera();
THREE.log( this.name + ': camera is not a Perspective Camera!' );
console.log( this.name + ': camera is not a Perspective Camera!' );
}
......
......@@ -2029,9 +2029,9 @@
space = typeof space === 'string' ? space : spaceAddition;
THREE.log( ( this.parent ? space + ' octree NODE > ' : ' octree ROOT > ' ), this, ' // id: ', this.id, ' // indexOctant: ', this.indexOctant, ' // position: ', this.position.x, this.position.y, this.position.z, ' // radius: ', this.radius, ' // depth: ', this.depth );
THREE.log( ( this.parent ? space + ' ' : ' ' ), '+ objects ( ', this.objects.length, ' ) ', this.objects );
THREE.log( ( this.parent ? space + ' ' : ' ' ), '+ children ( ', this.nodesIndices.length, ' )', this.nodesIndices, this.nodesByIndex );
console.log( ( this.parent ? space + ' octree NODE > ' : ' octree ROOT > ' ), this, ' // id: ', this.id, ' // indexOctant: ', this.indexOctant, ' // position: ', this.position.x, this.position.y, this.position.z, ' // radius: ', this.radius, ' // depth: ', this.depth );
console.log( ( this.parent ? space + ' ' : ' ' ), '+ objects ( ', this.objects.length, ' ) ', this.objects );
console.log( ( this.parent ? space + ' ' : ' ' ), '+ children ( ', this.nodesIndices.length, ' )', this.nodesIndices, this.nodesByIndex );
for ( i = 0, l = this.nodesIndices.length; i < l; i ++ ) {
......
......@@ -36,7 +36,7 @@ THREE.UCSCharacter = function() {
// CHARACTER
var loader = new THREE.JSONLoader();
THREE.log( config.baseUrl + config.character );
console.log( config.baseUrl + config.character );
loader.load( config.baseUrl + config.character, function( geometry ) {
geometry.computeBoundingBox();
geometry.computeVertexNormals();
......
......@@ -142,7 +142,7 @@ THREE.Water = function ( renderer, camera, scene, options ) {
else
{
this.camera = new THREE.PerspectiveCamera();
THREE.log(this.name + ': camera is not a Perspective Camera!')
console.log(this.name + ': camera is not a Perspective Camera!')
}
this.textureMatrix = new THREE.Matrix4();
......
......@@ -210,7 +210,7 @@ THREE.FlyControls = function ( object, domElement ) {
this.moveVector.y = ( -this.moveState.down + this.moveState.up );
this.moveVector.z = ( -forward + this.moveState.back );
//THREE.log( 'move:', [ this.moveVector.x, this.moveVector.y, this.moveVector.z ] );
//console.log( 'move:', [ this.moveVector.x, this.moveVector.y, this.moveVector.z ] );
};
......@@ -220,7 +220,7 @@ THREE.FlyControls = function ( object, domElement ) {
this.rotationVector.y = ( -this.moveState.yawRight + this.moveState.yawLeft );
this.rotationVector.z = ( -this.moveState.rollRight + this.moveState.rollLeft );
//THREE.log( 'rotate:', [ this.rotationVector.x, this.rotationVector.y, this.rotationVector.z ] );
//console.log( 'rotate:', [ this.rotationVector.x, this.rotationVector.y, this.rotationVector.z ] );
};
......
......@@ -208,7 +208,7 @@ THREE.OrbitControls = function ( object, domElement ) {
} else {
// camera neither orthographic or perspective
THREE.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.' );
console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.' );
}
......@@ -234,7 +234,7 @@ THREE.OrbitControls = function ( object, domElement ) {
} else {
THREE.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.' );
console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.' );
}
......@@ -260,7 +260,7 @@ THREE.OrbitControls = function ( object, domElement ) {
} else {
THREE.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.' );
console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.' );
}
......
......@@ -111,7 +111,7 @@ THREE.VRControls = function ( object, onError ) {
this.zeroSensor = function () {
THREE.warn( 'THREE.VRControls: .zeroSensor() is now .resetSensor().' );
console.warn( 'THREE.VRControls: .zeroSensor() is now .resetSensor().' );
this.resetSensor();
};
......
......@@ -22,7 +22,7 @@ THREE.StereoEffect = function ( renderer ) {
return scope.eyeSeparation;
},
set: function ( value ) {
THREE.warn( 'THREE.StereoEffect: .separation is now .eyeSeparation.' );
console.warn( 'THREE.StereoEffect: .separation is now .eyeSeparation.' );
scope.eyeSeparation = value;
}
},
......@@ -31,7 +31,7 @@ THREE.StereoEffect = function ( renderer ) {
return scope.focalLength;
},
set: function ( value ) {
THREE.warn( 'THREE.StereoEffect: .targetDistance is now .focalLength.' );
console.warn( 'THREE.StereoEffect: .targetDistance is now .focalLength.' );
scope.focalLength = value;
}
}
......
......@@ -137,7 +137,7 @@ THREE.AWDLoader = (function () {
} else {
THREE.error( 'AWDLoader: Couldn\'t load ' + url + ' (' + xhr.status + ')' );
console.error( 'AWDLoader: Couldn\'t load ' + url + ' (' + xhr.status + ')' );
}
......@@ -159,11 +159,11 @@ THREE.AWDLoader = (function () {
this._parseHeader( );
if ( this._compression != 0 ) {
THREE.error( 'compressed AWD not supported' );
console.error( 'compressed AWD not supported' );
}
if (!this._streaming && this._bodylen != data.byteLength - this._ptr ) {
THREE.error('AWDLoader: body len does not match file length', this._bodylen, blen - this._ptr);
console.error('AWDLoader: body len does not match file length', this._bodylen, blen - this._ptr);
}
while ( this._ptr < blen ) {
......@@ -451,7 +451,7 @@ THREE.AWDLoader = (function () {
if (type === 0) {
data_len = this.readU32();
var url = this.readUTFBytes(data_len);
THREE.log( url );
console.log( url );
asset = this.loadTexture( url );
} else {
......@@ -883,7 +883,7 @@ THREE.AWDLoader = (function () {
var mesh = this.getBlock( geoAdress );
if (mesh == null) {
THREE.log( "parseMeshPoseAnimation target mesh not found at:", geoAdress );
console.log( "parseMeshPoseAnimation target mesh not found at:", geoAdress );
return;
}
......
......@@ -67,7 +67,7 @@ THREE.BabylonLoader.prototype = {
var data = json.multiMaterials[ i ];
THREE.warn( 'THREE.BabylonLoader: Multi materials not yet supported.' );
console.warn( 'THREE.BabylonLoader: Multi materials not yet supported.' );
materials[ data.id ] = new THREE.MeshPhongMaterial();
......
......@@ -54,7 +54,7 @@ THREE.BinaryLoader.prototype.loadAjaxJSON = function ( context, url, callback, t
} else {
THREE.error( "THREE.BinaryLoader: Couldn't load [" + url + "] [" + xhr.status + "]" );
console.error( "THREE.BinaryLoader: Couldn't load [" + url + "] [" + xhr.status + "]" );
}
......@@ -119,7 +119,7 @@ THREE.BinaryLoader.prototype.loadAjaxBuffers = function ( json, callback, binary
xhr.addEventListener( 'error', function ( event ) {
THREE.error( "THREE.BinaryLoader: Couldn't load [" + url + "] [" + xhr.status + "]" );
console.error( "THREE.BinaryLoader: Couldn't load [" + url + "] [" + xhr.status + "]" );
}, false );
......@@ -251,31 +251,31 @@ THREE.BinaryLoader.prototype.createBinModel = function ( data, callback, texture
};
/*
THREE.log( "signature: " + metaData.signature );
console.log( "signature: " + metaData.signature );
THREE.log( "header_bytes: " + metaData.header_bytes );
THREE.log( "vertex_coordinate_bytes: " + metaData.vertex_coordinate_bytes );
THREE.log( "normal_coordinate_bytes: " + metaData.normal_coordinate_bytes );
THREE.log( "uv_coordinate_bytes: " + metaData.uv_coordinate_bytes );
console.log( "header_bytes: " + metaData.header_bytes );
console.log( "vertex_coordinate_bytes: " + metaData.vertex_coordinate_bytes );
console.log( "normal_coordinate_bytes: " + metaData.normal_coordinate_bytes );
console.log( "uv_coordinate_bytes: " + metaData.uv_coordinate_bytes );
THREE.log( "vertex_index_bytes: " + metaData.vertex_index_bytes );
THREE.log( "normal_index_bytes: " + metaData.normal_index_bytes );
THREE.log( "uv_index_bytes: " + metaData.uv_index_bytes );
THREE.log( "material_index_bytes: " + metaData.material_index_bytes );
console.log( "vertex_index_bytes: " + metaData.vertex_index_bytes );
console.log( "normal_index_bytes: " + metaData.normal_index_bytes );
console.log( "uv_index_bytes: " + metaData.uv_index_bytes );
console.log( "material_index_bytes: " + metaData.material_index_bytes );
THREE.log( "nvertices: " + metaData.nvertices );
THREE.log( "nnormals: " + metaData.nnormals );
THREE.log( "nuvs: " + metaData.nuvs );
console.log( "nvertices: " + metaData.nvertices );
console.log( "nnormals: " + metaData.nnormals );
console.log( "nuvs: " + metaData.nuvs );
THREE.log( "ntri_flat: " + metaData.ntri_flat );
THREE.log( "ntri_smooth: " + metaData.ntri_smooth );
THREE.log( "ntri_flat_uv: " + metaData.ntri_flat_uv );
THREE.log( "ntri_smooth_uv: " + metaData.ntri_smooth_uv );
console.log( "ntri_flat: " + metaData.ntri_flat );
console.log( "ntri_smooth: " + metaData.ntri_smooth );
console.log( "ntri_flat_uv: " + metaData.ntri_flat_uv );
console.log( "ntri_smooth_uv: " + metaData.ntri_smooth_uv );
THREE.log( "nquad_flat: " + metaData.nquad_flat );
THREE.log( "nquad_smooth: " + metaData.nquad_smooth );
THREE.log( "nquad_flat_uv: " + metaData.nquad_flat_uv );
THREE.log( "nquad_smooth_uv: " + metaData.nquad_smooth_uv );
console.log( "nquad_flat: " + metaData.nquad_flat );
console.log( "nquad_smooth: " + metaData.nquad_smooth );
console.log( "nquad_flat_uv: " + metaData.nquad_flat_uv );
console.log( "nquad_smooth_uv: " + metaData.nquad_smooth_uv );
var total = metaData.header_bytes
+ metaData.nvertices * metaData.vertex_coordinate_bytes * 3
......@@ -289,7 +289,7 @@ THREE.BinaryLoader.prototype.createBinModel = function ( data, callback, texture
+ metaData.nquad_smooth * ( metaData.vertex_index_bytes*4 + metaData.material_index_bytes + metaData.normal_index_bytes*4 )
+ metaData.nquad_flat_uv * ( metaData.vertex_index_bytes*4 + metaData.material_index_bytes + metaData.uv_index_bytes*4 )
+ metaData.nquad_smooth_uv * ( metaData.vertex_index_bytes*4 + metaData.material_index_bytes + metaData.normal_index_bytes*4 + metaData.uv_index_bytes*4 );
THREE.log( "total bytes: " + total );
console.log( "total bytes: " + total );
*/
return metaData;
......
......@@ -91,7 +91,7 @@ THREE.ColladaLoader = function () {
} else {
THREE.error( "ColladaLoader: Empty or non-existing file (" + url + ")" );
console.error( "ColladaLoader: Empty or non-existing file (" + url + ")" );
}
......@@ -412,7 +412,7 @@ THREE.ColladaLoader = function () {
if ( !morphCtrl || !morphCtrl.morph ) {
THREE.log("could not find morph controller!");
console.log("could not find morph controller!");
return;
}
......@@ -450,14 +450,14 @@ THREE.ColladaLoader = function () {
if ( !skinCtrl || !skinCtrl.skin ) {
THREE.log( "could not find skin controller!" );
console.log( "could not find skin controller!" );
return;
}
if ( !ctrl.skeleton || !ctrl.skeleton.length ) {
THREE.log( "could not find the skeleton for the skin!" );
console.log( "could not find the skeleton for the skin!" );
return;
}
......@@ -587,7 +587,7 @@ THREE.ColladaLoader = function () {
} else {
THREE.warn( "ColladaLoader: Could not find joint '" + bone.sid + "'." );
console.warn( "ColladaLoader: Could not find joint '" + bone.sid + "'." );
bone.skinningMatrix = new THREE.Matrix4();
bone.weights = [];
......@@ -686,14 +686,14 @@ THREE.ColladaLoader = function () {
if ( !skinController || !skinController.skin ) {
THREE.log( 'ColladaLoader: Could not find skin controller.' );
console.log( 'ColladaLoader: Could not find skin controller.' );
return;
}
if ( !instanceCtrl.skeleton || !instanceCtrl.skeleton.length ) {
THREE.log( 'ColladaLoader: Could not find the skeleton for the skin. ' );
console.log( 'ColladaLoader: Could not find the skeleton for the skin. ' );
return;
}
......@@ -776,7 +776,7 @@ THREE.ColladaLoader = function () {
}
THREE.log( 'ColladaLoader:', animationBounds.ID + ' has ' + sortedbones.length + ' bones.' );
console.log( 'ColladaLoader:', animationBounds.ID + ' has ' + sortedbones.length + ' bones.' );
......@@ -874,7 +874,7 @@ THREE.ColladaLoader = function () {
} else {
THREE.log( 'getJointValue: joint ' + jointIndex + ' doesn\'t exist' );
console.log( 'getJointValue: joint ' + jointIndex + ' doesn\'t exist' );
}
......@@ -890,11 +890,11 @@ THREE.ColladaLoader = function () {
if ( value > joint.limits.max || value < joint.limits.min ) {
THREE.log( 'setJointValue: joint ' + jointIndex + ' value ' + value + ' outside of limits (min: ' + joint.limits.min + ', max: ' + joint.limits.max + ')' );
console.log( 'setJointValue: joint ' + jointIndex + ' value ' + value + ' outside of limits (min: ' + joint.limits.min + ', max: ' + joint.limits.max + ')' );
} else if ( joint.static ) {
THREE.log( 'setJointValue: joint ' + jointIndex + ' is static' );
console.log( 'setJointValue: joint ' + jointIndex + ' is static' );
} else {
......@@ -926,7 +926,7 @@ THREE.ColladaLoader = function () {
default:
THREE.warn( 'setJointValue: unknown joint type: ' + joint.type );
console.warn( 'setJointValue: unknown joint type: ' + joint.type );
break;
}
......@@ -988,7 +988,7 @@ THREE.ColladaLoader = function () {
} else {
THREE.log( 'setJointValue: joint ' + jointIndex + ' doesn\'t exist' );
console.log( 'setJointValue: joint ' + jointIndex + ' doesn\'t exist' );
}
......@@ -1100,7 +1100,7 @@ THREE.ColladaLoader = function () {
}
THREE.log( 'ColladaLoader: Morph-controller partially supported.' );
console.log( 'ColladaLoader: Morph-controller partially supported.' );
default:
break;
......@@ -1453,7 +1453,7 @@ THREE.ColladaLoader = function () {
if ( sampler.input[ j + 1 ] > t ) {
value = sampler.output[ j ];
//THREE.log(value.flatten)
//console.log(value.flatten)
break;
}
......@@ -1552,7 +1552,7 @@ THREE.ColladaLoader = function () {
} else {
THREE.log( 'Could not find transform "' + channel.sid + '" in node ' + node.id );
console.log( 'Could not find transform "' + channel.sid + '" in node ' + node.id );
}
......@@ -1818,7 +1818,7 @@ THREE.ColladaLoader = function () {
default:
THREE.log( child.nodeName );
console.log( child.nodeName );
break;
}
......@@ -1928,7 +1928,7 @@ THREE.ColladaLoader = function () {
default:
THREE.log( child.nodeName );
console.log( child.nodeName );
break;
}
......@@ -2339,7 +2339,7 @@ THREE.ColladaLoader = function () {
default:
THREE.log( child.nodeName );
console.log( child.nodeName );
break;
}
......@@ -2413,7 +2413,7 @@ THREE.ColladaLoader = function () {
break;
default:
THREE.log( 'Can not convert Transform of type ' + this.type );
console.log( 'Can not convert Transform of type ' + this.type );
break;
}
......@@ -2519,7 +2519,7 @@ THREE.ColladaLoader = function () {
} else {
THREE.log('Incorrect addressing of matrix in transform.');
console.log('Incorrect addressing of matrix in transform.');
}
......@@ -2739,7 +2739,7 @@ THREE.ColladaLoader = function () {
case 'extra':
// THREE.log( child );
// console.log( child );
break;
default:
......@@ -3096,7 +3096,7 @@ THREE.ColladaLoader = function () {
} else {
THREE.log( 'dropped face with vcount ' + vcount + ' for geometry with id: ' + geom.id );
console.log( 'dropped face with vcount ' + vcount + ' for geometry with id: ' + geom.id );
}
......@@ -3161,7 +3161,7 @@ THREE.ColladaLoader = function () {
case 'ph':
THREE.warn( 'polygon holes not yet supported!' );
console.warn( 'polygon holes not yet supported!' );
break;
default:
......@@ -3350,7 +3350,7 @@ THREE.ColladaLoader = function () {
break;
default:
// THREE.log(child.nodeName);
// console.log(child.nodeName);
break;
}
......@@ -3369,7 +3369,7 @@ THREE.ColladaLoader = function () {
var param = this.accessor.params[ 0 ];
//THREE.log(param.name + " " + param.type);
//console.log(param.name + " " + param.type);
switch ( param.type ) {
......@@ -3392,7 +3392,7 @@ THREE.ColladaLoader = function () {
default:
THREE.log( 'ColladaLoader: Source: Read dont know how to read ' + param.type + '.' );
console.log( 'ColladaLoader: Source: Read dont know how to read ' + param.type + '.' );
break;
}
......@@ -3606,11 +3606,11 @@ THREE.ColladaLoader = function () {
} else if ( bumpType.toLowerCase() === "normalmap" ) {
this[ 'normal' ] = ( new ColorOrTexture() ).parse( child );
} else {
THREE.error( "Shader.prototype.parse: Invalid value for attribute 'bumptype' (" + bumpType + ") - valid bumptypes are 'HEIGHTFIELD' and 'NORMALMAP' - defaulting to 'HEIGHTFIELD'" );
console.error( "Shader.prototype.parse: Invalid value for attribute 'bumptype' (" + bumpType + ") - valid bumptypes are 'HEIGHTFIELD' and 'NORMALMAP' - defaulting to 'HEIGHTFIELD'" );
this[ 'bump' ] = ( new ColorOrTexture() ).parse( child );
}
} else {
THREE.warn( "Shader.prototype.parse: Attribute 'bumptype' missing from bump node - defaulting to 'HEIGHTFIELD'" );
console.warn( "Shader.prototype.parse: Attribute 'bumptype' missing from bump node - defaulting to 'HEIGHTFIELD'" );
this[ 'bump' ] = ( new ColorOrTexture() ).parse( child );
}
......@@ -3840,7 +3840,7 @@ THREE.ColladaLoader = function () {
default:
THREE.log( "unhandled Surface prop: " + child.nodeName );
console.log( "unhandled Surface prop: " + child.nodeName );
break;
}
......@@ -3904,7 +3904,7 @@ THREE.ColladaLoader = function () {
default:
THREE.log( "unhandled Sampler2D prop: " + child.nodeName );
console.log( "unhandled Sampler2D prop: " + child.nodeName );
break;
}
......@@ -3994,7 +3994,7 @@ THREE.ColladaLoader = function () {
default:
THREE.log( child.nodeName );
console.log( child.nodeName );
break;
}
......@@ -4041,7 +4041,7 @@ THREE.ColladaLoader = function () {
default:
THREE.log( child.nodeName );
console.log( child.nodeName );
break;
}
......@@ -4343,7 +4343,7 @@ THREE.ColladaLoader = function () {
default:
THREE.log(input.semantic);
console.log(input.semantic);
break;
}
......
......@@ -126,14 +126,14 @@ THREE.DDSLoader.parse = function ( buffer, loadMipmaps ) {
if ( header[ off_magic ] !== DDS_MAGIC ) {
THREE.error( 'THREE.DDSLoader.parse: Invalid magic number in DDS header.' );
console.error( 'THREE.DDSLoader.parse: Invalid magic number in DDS header.' );
return dds;
}
if ( ! header[ off_pfFlags ] & DDPF_FOURCC ) {
THREE.error( 'THREE.DDSLoader.parse: Unsupported format, must contain a FourCC code.' );
console.error( 'THREE.DDSLoader.parse: Unsupported format, must contain a FourCC code.' );
return dds;
}
......@@ -175,7 +175,7 @@ THREE.DDSLoader.parse = function ( buffer, loadMipmaps ) {
blockBytes = 64;
dds.format = THREE.RGBAFormat;
} else {
THREE.error( 'THREE.DDSLoader.parse: Unsupported FourCC code ', int32ToFourCC( fourCC ) );
console.error( 'THREE.DDSLoader.parse: Unsupported FourCC code ', int32ToFourCC( fourCC ) );
return dds;
}
}
......
......@@ -328,7 +328,7 @@ THREE.OBJLoader.prototype = {
} else {
// THREE.log( "THREE.OBJLoader: Unhandled line " + line );
// console.log( "THREE.OBJLoader: Unhandled line " + line );
}
......
......@@ -347,7 +347,7 @@ THREE.OBJMTLLoader.prototype = {
} else {
THREE.log( "THREE.OBJMTLLoader: Unhandled line " + line );
console.log( "THREE.OBJMTLLoader: Unhandled line " + line );
}
......
......@@ -209,7 +209,7 @@ THREE.PLYLoader.prototype = {
default:
THREE.log("unhandled", lineType, lineValues);
console.log("unhandled", lineType, lineValues);
}
......
......@@ -164,21 +164,21 @@ THREE.PVRLoader._extract = function ( pvrDatas ) {
// THREE.log( "--------------------------" );
// THREE.log( "headerLength ", headerLength);
// THREE.log( "height ", height );
// THREE.log( "width ", width );
// THREE.log( "numMipmaps ", numMipmaps );
// THREE.log( "flags ", flags );
// THREE.log( "dataLength ", dataLength );
// THREE.log( "bpp ", bpp );
// THREE.log( "bitmaskRed ", bitmaskRed );
// THREE.log( "bitmaskGreen ", bitmaskGreen);
// THREE.log( "bitmaskBlue ", bitmaskBlue );
// THREE.log( "bitmaskAlpha ", bitmaskAlpha);
// THREE.log( "pvrTag ", pvrTag );
// THREE.log( "numSurfs ", numSurfs );
// console.log( "--------------------------" );
// console.log( "headerLength ", headerLength);
// console.log( "height ", height );
// console.log( "width ", width );
// console.log( "numMipmaps ", numMipmaps );
// console.log( "flags ", flags );
// console.log( "dataLength ", dataLength );
// console.log( "bpp ", bpp );
// console.log( "bitmaskRed ", bitmaskRed );
// console.log( "bitmaskGreen ", bitmaskGreen);
// console.log( "bitmaskBlue ", bitmaskBlue );
// console.log( "bitmaskAlpha ", bitmaskAlpha);
// console.log( "pvrTag ", pvrTag );
// console.log( "numSurfs ", numSurfs );
......
......@@ -29,14 +29,14 @@ THREE.RGBELoader.prototype._parser = function( buffer ) {
rgbe_memory_error = 4,
rgbe_error = function(rgbe_error_code, msg) {
switch (rgbe_error_code) {
case rgbe_read_error: THREE.error("THREE.RGBELoader Read Error: " + (msg||''));
case rgbe_read_error: console.error("THREE.RGBELoader Read Error: " + (msg||''));
break;
case rgbe_write_error: THREE.error("THREE.RGBELoader Write Error: " + (msg||''));
case rgbe_write_error: console.error("THREE.RGBELoader Write Error: " + (msg||''));
break;
case rgbe_format_error: THREE.error("THREE.RGBELoader Bad File Format: " + (msg||''));
case rgbe_format_error: console.error("THREE.RGBELoader Bad File Format: " + (msg||''));
break;
default:
case rgbe_memory_error: THREE.error("THREE.RGBELoader: Error: " + (msg||''));
case rgbe_memory_error: console.error("THREE.RGBELoader: Error: " + (msg||''));
}
return RGBE_RETURN_FAILURE;
},
......
......@@ -33,7 +33,7 @@ THREE.TGALoader.prototype._parser = function ( buffer ) {
if ( buffer.length < 19 )
THREE.error( 'THREE.TGALoader.parse: Not enough data to contain header.' );
console.error( 'THREE.TGALoader.parse: Not enough data to contain header.' );
var content = new Uint8Array( buffer ),
offset = 0,
......@@ -63,7 +63,7 @@ THREE.TGALoader.prototype._parser = function ( buffer ) {
case TGA_TYPE_INDEXED:
case TGA_TYPE_RLE_INDEXED:
if ( header.colormap_length > 256 || header.colormap_size !== 24 || header.colormap_type !== 1) {
THREE.error('THREE.TGALoader.parse.tgaCheckHeader: Invalid type colormap data for indexed type');
console.error('THREE.TGALoader.parse.tgaCheckHeader: Invalid type colormap data for indexed type');
}
break;
......@@ -73,23 +73,23 @@ THREE.TGALoader.prototype._parser = function ( buffer ) {
case TGA_TYPE_RLE_RGB:
case TGA_TYPE_RLE_GREY:
if (header.colormap_type) {
THREE.error('THREE.TGALoader.parse.tgaCheckHeader: Invalid type colormap data for colormap type');
console.error('THREE.TGALoader.parse.tgaCheckHeader: Invalid type colormap data for colormap type');
}
break;
// What the need of a file without data ?
case TGA_TYPE_NO_DATA:
THREE.error('THREE.TGALoader.parse.tgaCheckHeader: No data');
console.error('THREE.TGALoader.parse.tgaCheckHeader: No data');
// Invalid type ?
default:
THREE.error('THREE.TGALoader.parse.tgaCheckHeader: Invalid type " ' + header.image_type + '"');
console.error('THREE.TGALoader.parse.tgaCheckHeader: Invalid type " ' + header.image_type + '"');
}
// Check image width and height
if ( header.width <= 0 || header.height <= 0 ) {
THREE.error( 'THREE.TGALoader.parse.tgaCheckHeader: Invalid image size' );
console.error( 'THREE.TGALoader.parse.tgaCheckHeader: Invalid image size' );
}
// Check image pixel size
......@@ -97,7 +97,7 @@ THREE.TGALoader.prototype._parser = function ( buffer ) {
header.pixel_size !== 16 &&
header.pixel_size !== 24 &&
header.pixel_size !== 32) {
THREE.error('THREE.TGALoader.parse.tgaCheckHeader: Invalid pixel size "' + header.pixel_size + '"');
console.error('THREE.TGALoader.parse.tgaCheckHeader: Invalid pixel size "' + header.pixel_size + '"');
}
}
......@@ -106,7 +106,7 @@ THREE.TGALoader.prototype._parser = function ( buffer ) {
tgaCheckHeader( header );
if ( header.id_length + offset > buffer.length ) {
THREE.error('THREE.TGALoader.parse: No data');
console.error('THREE.TGALoader.parse: No data');
}
// Skip the needn't data
......@@ -382,7 +382,7 @@ THREE.TGALoader.prototype._parser = function ( buffer ) {
tgaGetImageDataGrey16bits( data, y_start, y_step, y_end, x_start, x_step, x_end, image );
break;
default:
THREE.error( 'THREE.TGALoader.parse.getTgaRGBA: not support this format' );
console.error( 'THREE.TGALoader.parse.getTgaRGBA: not support this format' );
break;
}
......@@ -406,7 +406,7 @@ THREE.TGALoader.prototype._parser = function ( buffer ) {
break;
default:
THREE.error( 'THREE.TGALoader.parse.getTgaRGBA: not support this format' );
console.error( 'THREE.TGALoader.parse.getTgaRGBA: not support this format' );
break;
}
......
......@@ -58,7 +58,7 @@ THREE.VRMLLoader.prototype = {
var parseV1 = function ( lines, scene ) {
THREE.warn( 'VRML V1.0 not supported yet' );
console.warn( 'VRML V1.0 not supported yet' );
};
......@@ -349,7 +349,7 @@ THREE.VRMLLoader.prototype = {
case 'color':
if (parts.length != 4) {
THREE.warn('Invalid color format detected for ' + fieldName );
console.warn('Invalid color format detected for ' + fieldName );
break;
}
......@@ -365,7 +365,7 @@ THREE.VRMLLoader.prototype = {
case 'scale':
case 'size':
if (parts.length != 4) {
THREE.warn('Invalid vector format detected for ' + fieldName);
console.warn('Invalid vector format detected for ' + fieldName);
break;
}
......@@ -385,7 +385,7 @@ THREE.VRMLLoader.prototype = {
case 'shininess':
case 'ambientIntensity':
if (parts.length != 2) {
THREE.warn('Invalid single float value specification detected for ' + fieldName);
console.warn('Invalid single float value specification detected for ' + fieldName);
break;
}
......@@ -395,7 +395,7 @@ THREE.VRMLLoader.prototype = {
case 'rotation':
if (parts.length != 5) {
THREE.warn('Invalid quaternion format detected for ' + fieldName);
console.warn('Invalid quaternion format detected for ' + fieldName);
break;
}
......@@ -413,7 +413,7 @@ THREE.VRMLLoader.prototype = {
case 'colorPerVertex':
case 'convex':
if (parts.length != 2) {
THREE.warn('Invalid format detected for ' + fieldName);
console.warn('Invalid format detected for ' + fieldName);
break;
}
......@@ -502,7 +502,7 @@ THREE.VRMLLoader.prototype = {
var parseNode = function ( data, parent ) {
// THREE.log( data );
// console.log( data );
if ( typeof data === 'string' ) {
......@@ -511,7 +511,7 @@ THREE.VRMLLoader.prototype = {
var defineKey = /USE\s+?(\w+)/.exec( data )[ 1 ];
if (undefined == defines[defineKey]) {
THREE.warn(defineKey + ' is not defined.');
console.warn(defineKey + ' is not defined.');
} else {
if ( /appearance/.exec( data ) && defineKey ) {
......
......@@ -121,12 +121,12 @@ THREE.CTMLoader.prototype.load = function( url, callback, parameters ) {
var ctmFile = files[ i ];
var e1 = Date.now();
// THREE.log( "CTM data parse time [worker]: " + (e1-s) + " ms" );
// console.log( "CTM data parse time [worker]: " + (e1-s) + " ms" );
scope.createModel( ctmFile, callback );
var e = Date.now();
THREE.log( "model load time [worker]: " + (e - e1) + " ms, total: " + (e - s));
console.log( "model load time [worker]: " + (e - e1) + " ms, total: " + (e - s));
}
......@@ -149,13 +149,13 @@ THREE.CTMLoader.prototype.load = function( url, callback, parameters ) {
}
//var e = Date.now();
//THREE.log( "CTM data parse time [inline]: " + (e-s) + " ms" );
//console.log( "CTM data parse time [inline]: " + (e-s) + " ms" );
}
} else {
THREE.error( "Couldn't load [" + url + "] [" + xhr.status + "]" );
console.error( "Couldn't load [" + url + "] [" + xhr.status + "]" );
}
......
......@@ -127,7 +127,7 @@ THREE.glTFLoader.prototype.load = function( url, callback ) {
IndicesDelegate.prototype.handleError = function(errorCode, info) {
// FIXME: report error
THREE.log("ERROR(IndicesDelegate):" + errorCode + ":" + info);
console.log("ERROR(IndicesDelegate):" + errorCode + ":" + info);
};
IndicesDelegate.prototype.convert = function(resource, ctx) {
......@@ -153,7 +153,7 @@ THREE.glTFLoader.prototype.load = function( url, callback ) {
VertexAttributeDelegate.prototype.handleError = function(errorCode, info) {
// FIXME: report error
THREE.log("ERROR(VertexAttributeDelegate):" + errorCode + ":" + info);
console.log("ERROR(VertexAttributeDelegate):" + errorCode + ":" + info);
};
VertexAttributeDelegate.prototype.convert = function(resource, ctx) {
......@@ -325,7 +325,7 @@ THREE.glTFLoader.prototype.load = function( url, callback ) {
AnimationParameterDelegate.prototype.handleError = function(errorCode, info) {
// FIXME: report error
THREE.log("ERROR(AnimationParameterDelegate):" + errorCode + ":" + info);
console.log("ERROR(AnimationParameterDelegate):" + errorCode + ":" + info);
};
AnimationParameterDelegate.prototype.convert = function(resource, ctx) {
......@@ -397,7 +397,7 @@ THREE.glTFLoader.prototype.load = function( url, callback ) {
InverseBindMatricesDelegate.prototype.handleError = function(errorCode, info) {
// FIXME: report error
THREE.log("ERROR(InverseBindMatricesDelegate):" + errorCode + ":" + info);
console.log("ERROR(InverseBindMatricesDelegate):" + errorCode + ":" + info);
};
InverseBindMatricesDelegate.prototype.convert = function(resource, ctx) {
......@@ -433,7 +433,7 @@ THREE.glTFLoader.prototype.load = function( url, callback ) {
ShaderDelegate.prototype.handleError = function(errorCode, info) {
// FIXME: report error
THREE.log("ERROR(ShaderDelegate):" + errorCode + ":" + info);
console.log("ERROR(ShaderDelegate):" + errorCode + ":" + info);
};
ShaderDelegate.prototype.convert = function(resource, ctx) {
......@@ -468,12 +468,12 @@ THREE.glTFLoader.prototype.load = function( url, callback ) {
Resources.prototype.setEntry = function(entryID, object, description) {
if (!entryID) {
THREE.error("No EntryID provided, cannot store", description);
console.error("No EntryID provided, cannot store", description);
return;
}
if (this._entries[entryID]) {
THREE.warn("entry[" + entryID + "] is being overwritten");
console.warn("entry[" + entryID + "] is being overwritten");
}
this._entries[entryID] = new ResourceEntry(entryID, object, description );
......@@ -589,13 +589,13 @@ THREE.glTFLoader.prototype.load = function( url, callback ) {
var fragmentShader = theLoader.shaders[material.params.fragmentShader];
if (!fragmentShader) {
THREE.log("ERROR: Missing fragment shader definition:", material.params.fragmentShader);
console.log("ERROR: Missing fragment shader definition:", material.params.fragmentShader);
return new THREE.MeshPhongMaterial;
}
var vertexShader = theLoader.shaders[material.params.vertexShader];
if (!fragmentShader) {
THREE.log("ERROR: Missing vertex shader definition:", material.params.vertexShader);
console.log("ERROR: Missing vertex shader definition:", material.params.vertexShader);
return new THREE.MeshPhongMaterial;
}
......@@ -826,7 +826,7 @@ THREE.glTFLoader.prototype.load = function( url, callback ) {
var primitivesDescription = description.primitives;
if (!primitivesDescription) {
//FIXME: not implemented in delegate
THREE.log("MISSING_PRIMITIVES for mesh:" + entryID);
console.log("MISSING_PRIMITIVES for mesh:" + entryID);
return false;
}
......@@ -1205,7 +1205,7 @@ THREE.glTFLoader.prototype.load = function( url, callback ) {
boneInverses.push(mat);
} else {
THREE.log("WARNING: jointId:" + jointId + " cannot be found in skeleton:" + skeleton);
console.log("WARNING: jointId:" + jointId + " cannot be found in skeleton:" + skeleton);
}
}
......@@ -1254,7 +1254,7 @@ THREE.glTFLoader.prototype.load = function( url, callback ) {
value: function(entryID, description, userInfo) {
if (!description.nodes) {
THREE.log("ERROR: invalid file required nodes property is missing from scene");
console.log("ERROR: invalid file required nodes property is missing from scene");
return false;
}
......@@ -1295,9 +1295,9 @@ THREE.glTFLoader.prototype.load = function( url, callback ) {
for (var name in this.nodeAnimationChannels) {
var nodeAnimationChannels = this.nodeAnimationChannels[name];
var i, len = nodeAnimationChannels.length;
//THREE.log(" animation channels for node " + name);
//console.log(" animation channels for node " + name);
//for (i = 0; i < len; i++) {
// THREE.log(nodeAnimationChannels[i]);
// console.log(nodeAnimationChannels[i]);
//}
var anim = new THREE.glTFAnimation(nodeAnimationChannels);
anim.name = "animation_" + name;
......@@ -1373,7 +1373,7 @@ THREE.glTFLoader.prototype.load = function( url, callback ) {
var parameters = description.parameters;
if (!parameters) {
//FIXME: not implemented in delegate
THREE.log("MISSING_PARAMETERS for animation:" + entryID);
console.log("MISSING_PARAMETERS for animation:" + entryID);
return false;
}
......
......@@ -43,12 +43,12 @@ THREE.GLTFLoaderUtils = Object.create(Object, {
enumerable: false,
value: function(resourceID, resource) {
if (!resourceID) {
THREE.log("ERROR: entry does not contain id, cannot store");
console.log("ERROR: entry does not contain id, cannot store");
return;
}
if (this._containsResource[resourceID]) {
THREE.log("WARNING: resource:" + resourceID + " is already stored, overriding");
console.log("WARNING: resource:" + resourceID + " is already stored, overriding");
}
this._resources[resourceID] = resource;
......
......@@ -184,7 +184,7 @@ THREE.SubdivisionModifier.prototype.modify = function ( geometry ) {
if ( connectedFaces != 1 ) {
if (WARNINGS) THREE.warn('Subdivision Modifier: Number of connected faces != 2, is: ', connectedFaces, currentEdge);
if (WARNINGS) console.warn('Subdivision Modifier: Number of connected faces != 2, is: ', connectedFaces, currentEdge);
}
......@@ -215,7 +215,7 @@ THREE.SubdivisionModifier.prototype.modify = function ( geometry ) {
currentEdge.newEdge = newEdgeVertices.length;
newEdgeVertices.push(newEdge);
// THREE.log(currentEdge, newEdge);
// console.log(currentEdge, newEdge);
}
/******************************************************
......@@ -257,11 +257,11 @@ THREE.SubdivisionModifier.prototype.modify = function ( geometry ) {
if ( n <= 2 ) {
// crease and boundary rules
// THREE.warn('crease and boundary rules');
// console.warn('crease and boundary rules');
if ( n == 2 ) {
if (WARNINGS) THREE.warn('2 connecting edges', connectingEdges);
if (WARNINGS) console.warn('2 connecting edges', connectingEdges);
sourceVertexWeight = 3 / 4;
connectingVertexWeight = 1 / 8;
......@@ -270,11 +270,11 @@ THREE.SubdivisionModifier.prototype.modify = function ( geometry ) {
} else if ( n == 1 ) {
if (WARNINGS) THREE.warn('only 1 connecting edge');
if (WARNINGS) console.warn('only 1 connecting edge');
} else if ( n == 0 ) {
if (WARNINGS) THREE.warn('0 connecting edges');
if (WARNINGS) console.warn('0 connecting edges');
}
......@@ -335,7 +335,7 @@ THREE.SubdivisionModifier.prototype.modify = function ( geometry ) {
geometry.vertices = newVertices;
geometry.faces = newFaces;
// THREE.log('done');
// console.log('done');
};
......
......@@ -18,7 +18,7 @@ THREE.AdaptiveToneMappingPass = function ( adaptive, resolution ) {
this.currentLuminanceRT = null;
if ( THREE.CopyShader === undefined )
THREE.error( "THREE.AdaptiveToneMappingPass relies on THREE.CopyShader" );
console.error( "THREE.AdaptiveToneMappingPass relies on THREE.CopyShader" );
var copyShader = THREE.CopyShader;
......@@ -35,7 +35,7 @@ THREE.AdaptiveToneMappingPass = function ( adaptive, resolution ) {
} );
if ( THREE.LuminosityShader === undefined )
THREE.error( "THREE.AdaptiveToneMappingPass relies on THREE.LuminosityShader" );
console.error( "THREE.AdaptiveToneMappingPass relies on THREE.LuminosityShader" );
this.materialLuminance = new THREE.ShaderMaterial( {
......@@ -103,7 +103,7 @@ THREE.AdaptiveToneMappingPass = function ( adaptive, resolution ) {
} );
if ( THREE.ToneMapShader === undefined )
THREE.error( "THREE.AdaptiveToneMappingPass relies on THREE.ToneMapShader" );
console.error( "THREE.AdaptiveToneMappingPass relies on THREE.ToneMapShader" );
this.materialToneMap = new THREE.ShaderMaterial( {
......
......@@ -19,7 +19,7 @@ THREE.BloomPass = function ( strength, kernelSize, sigma, resolution ) {
// copy material
if ( THREE.CopyShader === undefined )
THREE.error( "THREE.BloomPass relies on THREE.CopyShader" );
console.error( "THREE.BloomPass relies on THREE.CopyShader" );
var copyShader = THREE.CopyShader;
......@@ -40,7 +40,7 @@ THREE.BloomPass = function ( strength, kernelSize, sigma, resolution ) {
// convolution material
if ( THREE.ConvolutionShader === undefined )
THREE.error( "THREE.BloomPass relies on THREE.ConvolutionShader" );
console.error( "THREE.BloomPass relies on THREE.ConvolutionShader" );
var convolutionShader = THREE.ConvolutionShader;
......
......@@ -33,7 +33,7 @@ THREE.BokehPass = function ( scene, camera, params ) {
// bokeh material
if ( THREE.BokehShader === undefined ) {
THREE.error( "THREE.BokehPass relies on THREE.BokehShader" );
console.error( "THREE.BokehPass relies on THREE.BokehShader" );
}
var bokehShader = THREE.BokehShader;
......
......@@ -5,7 +5,7 @@
THREE.DotScreenPass = function ( center, angle, scale ) {
if ( THREE.DotScreenShader === undefined )
THREE.error( "THREE.DotScreenPass relies on THREE.DotScreenShader" );
console.error( "THREE.DotScreenPass relies on THREE.DotScreenShader" );
var shader = THREE.DotScreenShader;
......
......@@ -27,7 +27,7 @@ THREE.EffectComposer = function ( renderer, renderTarget ) {
this.passes = [];
if ( THREE.CopyShader === undefined )
THREE.error( "THREE.EffectComposer relies on THREE.CopyShader" );
console.error( "THREE.EffectComposer relies on THREE.CopyShader" );
this.copyPass = new THREE.ShaderPass( THREE.CopyShader );
......
......@@ -5,7 +5,7 @@
THREE.FilmPass = function ( noiseIntensity, scanlinesIntensity, scanlinesCount, grayscale ) {
if ( THREE.FilmShader === undefined )
THREE.error( "THREE.FilmPass relies on THREE.FilmShader" );
console.error( "THREE.FilmPass relies on THREE.FilmShader" );
var shader = THREE.FilmShader;
......
......@@ -4,7 +4,7 @@
THREE.GlitchPass = function ( dt_size ) {
if ( THREE.DigitalGlitch === undefined ) THREE.error( "THREE.GlitchPass relies on THREE.DigitalGlitch" );
if ( THREE.DigitalGlitch === undefined ) console.error( "THREE.GlitchPass relies on THREE.DigitalGlitch" );
var shader = THREE.DigitalGlitch;
this.uniforms = THREE.UniformsUtils.clone( shader.uniforms );
......@@ -21,7 +21,7 @@ THREE.GlitchPass = function ( dt_size ) {
fragmentShader: shader.fragmentShader
});
THREE.log(this.material);
console.log(this.material);
this.enabled = true;
this.renderToScreen = false;
......@@ -91,7 +91,7 @@ THREE.GlitchPass.prototype = {
generateHeightmap:function(dt_size)
{
var data_arr = new Float32Array( dt_size * dt_size * 3 );
THREE.log(dt_size);
console.log(dt_size);
var length = dt_size * dt_size;
for ( var i = 0; i < length; i ++)
......@@ -103,8 +103,8 @@ THREE.GlitchPass.prototype = {
}
var texture = new THREE.DataTexture( data_arr, dt_size, dt_size, THREE.RGBFormat, THREE.FloatType );
THREE.log(texture);
THREE.log(dt_size);
console.log(texture);
console.log(dt_size);
texture.minFilter = THREE.NearestFilter;
texture.magFilter = THREE.NearestFilter;
texture.needsUpdate = true;
......
......@@ -5,7 +5,7 @@
THREE.SavePass = function ( renderTarget ) {
if ( THREE.CopyShader === undefined )
THREE.error( "THREE.SavePass relies on THREE.CopyShader" );
console.error( "THREE.SavePass relies on THREE.CopyShader" );
var shader = THREE.CopyShader;
......
......@@ -5,7 +5,7 @@
THREE.TexturePass = function ( texture, opacity ) {
if ( THREE.CopyShader === undefined )
THREE.error( "THREE.TexturePass relies on THREE.CopyShader" );
console.error( "THREE.TexturePass relies on THREE.CopyShader" );
var shader = THREE.CopyShader;
......
......@@ -220,7 +220,7 @@ THREE.CanvasRenderer = function ( parameters ) {
this.setClearColorHex = function ( hex, alpha ) {
THREE.warn( 'THREE.CanvasRenderer: .setClearColorHex() is being removed. Use .setClearColor() instead.' );
console.warn( 'THREE.CanvasRenderer: .setClearColorHex() is being removed. Use .setClearColor() instead.' );
this.setClearColor( hex, alpha );
};
......@@ -298,7 +298,7 @@ THREE.CanvasRenderer = function ( parameters ) {
if ( camera instanceof THREE.Camera === false ) {
THREE.error( 'THREE.CanvasRenderer.render: camera is not an instance of THREE.Camera.' );
console.error( 'THREE.CanvasRenderer.render: camera is not an instance of THREE.Camera.' );
return;
}
......
......@@ -127,21 +127,21 @@ THREE.Projector = function () {
this.projectVector = function ( vector, camera ) {
THREE.warn( 'THREE.Projector: .projectVector() is now vector.project().' );
console.warn( 'THREE.Projector: .projectVector() is now vector.project().' );
vector.project( camera );
};
this.unprojectVector = function ( vector, camera ) {
THREE.warn( 'THREE.Projector: .unprojectVector() is now vector.unproject().' );
console.warn( 'THREE.Projector: .unprojectVector() is now vector.unproject().' );
vector.unproject( camera );
};
this.pickingRay = function ( vector, camera ) {
THREE.error( 'THREE.Projector: .pickingRay() is now raycaster.setFromCamera().' );
console.error( 'THREE.Projector: .pickingRay() is now raycaster.setFromCamera().' );
};
......
......@@ -125,7 +125,7 @@ THREE.SVGRenderer = function () {
if ( camera instanceof THREE.Camera === false ) {
THREE.error( 'THREE.SVGRenderer.render: camera is not an instance of THREE.Camera.' );
console.error( 'THREE.SVGRenderer.render: camera is not an instance of THREE.Camera.' );
return;
}
......
......@@ -9,7 +9,7 @@ THREE.GeometryUtils = {
merge: function ( geometry1, geometry2, materialIndexOffset ) {
THREE.warn( 'THREE.GeometryUtils: .merge() has been moved to Geometry. Use geometry.merge( geometry2, matrix, materialIndexOffset ) instead.' );
console.warn( 'THREE.GeometryUtils: .merge() has been moved to Geometry. Use geometry.merge( geometry2, matrix, materialIndexOffset ) instead.' );
var matrix;
......@@ -292,7 +292,7 @@ THREE.GeometryUtils = {
center: function ( geometry ) {
THREE.warn( 'THREE.GeometryUtils: .center() has been moved to Geometry. Use geometry.center() instead.' );
console.warn( 'THREE.GeometryUtils: .center() has been moved to Geometry. Use geometry.center() instead.' );
return geometry.center();
}
......
......@@ -573,7 +573,7 @@ THREE.ProxyGeometry.prototype.mergeVertices = function () {
} else {
//THREE.log('Duplicate vertex found. ', i, ' could be using ', verticesMap[key]);
//console.log('Duplicate vertex found. ', i, ' could be using ', verticesMap[key]);
changes[ i ] = changes[ verticesMap[ key ] ];
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册