|
@@ -215,7 +215,7 @@ i[1],i[2],i[3]),f.useQuaternion=!0):f.rotation.set(h[0],h[1],h[2]);f.scale.set(m
|
|
new a;B=u=0;w={scene:new THREE.Scene,geometries:{},face_materials:{},materials:{},textures:{},objects:{},cameras:{},lights:{},fogs:{},empties:{},groups:{}};if(J.transform&&(E=J.transform.position,a=J.transform.rotation,c=J.transform.scale,E&&w.scene.position.set(E[0],E[1],E[2]),a&&w.scene.rotation.set(a[0],a[1],a[2]),c&&w.scene.scale.set(c[0],c[1],c[2]),E||a||c))w.scene.updateMatrix(),w.scene.updateMatrixWorld();E=function(a){return function(){B-=a;k();l.onLoadComplete()}};for(var Z in J.fogs)a=J.fogs[Z],
|
|
new a;B=u=0;w={scene:new THREE.Scene,geometries:{},face_materials:{},materials:{},textures:{},objects:{},cameras:{},lights:{},fogs:{},empties:{},groups:{}};if(J.transform&&(E=J.transform.position,a=J.transform.rotation,c=J.transform.scale,E&&w.scene.position.set(E[0],E[1],E[2]),a&&w.scene.rotation.set(a[0],a[1],a[2]),c&&w.scene.scale.set(c[0],c[1],c[2]),E||a||c))w.scene.updateMatrix(),w.scene.updateMatrixWorld();E=function(a){return function(){B-=a;k();l.onLoadComplete()}};for(var Z in J.fogs)a=J.fogs[Z],
|
|
"linear"===a.type?n=new THREE.Fog(0,a.near,a.far):"exp2"===a.type&&(n=new THREE.FogExp2(0,a.density)),a=a.color,n.color.setRGB(a[0],a[1],a[2]),w.fogs[Z]=n;for(var A in J.geometries)n=J.geometries[A],n.type in this.geometryHandlerMap&&(u+=1,l.onLoadStart());for(var S in J.objects)n=J.objects[S],n.type&&n.type in this.hierarchyHandlerMap&&(u+=1,l.onLoadStart());G=u;for(A in J.geometries)if(n=J.geometries[A],"cube"===n.type)p=new THREE.CubeGeometry(n.width,n.height,n.depth,n.widthSegments,n.heightSegments,
|
|
"linear"===a.type?n=new THREE.Fog(0,a.near,a.far):"exp2"===a.type&&(n=new THREE.FogExp2(0,a.density)),a=a.color,n.color.setRGB(a[0],a[1],a[2]),w.fogs[Z]=n;for(var A in J.geometries)n=J.geometries[A],n.type in this.geometryHandlerMap&&(u+=1,l.onLoadStart());for(var S in J.objects)n=J.objects[S],n.type&&n.type in this.hierarchyHandlerMap&&(u+=1,l.onLoadStart());G=u;for(A in J.geometries)if(n=J.geometries[A],"cube"===n.type)p=new THREE.CubeGeometry(n.width,n.height,n.depth,n.widthSegments,n.heightSegments,
|
|
n.depthSegments),w.geometries[A]=p;else if("plane"===n.type)p=new THREE.PlaneGeometry(n.width,n.height,n.widthSegments,n.heightSegments),w.geometries[A]=p;else if("sphere"===n.type)p=new THREE.SphereGeometry(n.radius,n.widthSegments,n.heightSegments),w.geometries[A]=p;else if("cylinder"===n.type)p=new THREE.CylinderGeometry(n.topRad,n.botRad,n.height,n.radSegs,n.heightSegs),w.geometries[A]=p;else if("torus"===n.type)p=new THREE.TorusGeometry(n.radius,n.tube,n.segmentsR,n.segmentsT),w.geometries[A]=
|
|
n.depthSegments),w.geometries[A]=p;else if("plane"===n.type)p=new THREE.PlaneGeometry(n.width,n.height,n.widthSegments,n.heightSegments),w.geometries[A]=p;else if("sphere"===n.type)p=new THREE.SphereGeometry(n.radius,n.widthSegments,n.heightSegments),w.geometries[A]=p;else if("cylinder"===n.type)p=new THREE.CylinderGeometry(n.topRad,n.botRad,n.height,n.radSegs,n.heightSegs),w.geometries[A]=p;else if("torus"===n.type)p=new THREE.TorusGeometry(n.radius,n.tube,n.segmentsR,n.segmentsT),w.geometries[A]=
|
|
-p;else if("icosahedron"===n.type)p=new THREE.IcosahedronGeometry(n.radius,n.subdivisions),w.geometries[A]=p;else if(n.type in this.geometryHandlerMap){S={};for(q in n)"type"!==q&&"url"!==q&&(S[q]=n[q]);this.geometryHandlerMap[n.type].loaderObject.load(d(n.url,J.urlBaseType),g(A),S)}else"embedded"===n.type&&(S=J.embeds[n.id],S.metadata=J.metadata,S&&(S=this.geometryHandlerMap.ascii.loaderObject.parse(S,""),i(A)(S.geometry,S.material)));for(var F in J.textures)if(A=J.textures[F],A.url instanceof Array){B+=
|
|
|
|
|
|
+p;else if("icosahedron"===n.type)p=new THREE.IcosahedronGeometry(n.radius,n.subdivisions),w.geometries[A]=p;else if(n.type in this.geometryHandlerMap){S={};for(q in n)"type"!==q&&"url"!==q&&(S[q]=n[q]);this.geometryHandlerMap[n.type].loaderObject.load(d(n.url,J.urlBaseType),g(A),S)}else"embedded"===n.type&&(S=J.embeds[n.id],S.metadata=J.metadata,S&&(S=this.geometryHandlerMap.ascii.loaderObject.parse(S,""),i(A)(S.geometry,S.materials)));for(var F in J.textures)if(A=J.textures[F],A.url instanceof Array){B+=
|
|
A.url.length;for(q=0;q<A.url.length;q++)l.onLoadStart()}else B+=1,l.onLoadStart();D=B;for(F in J.textures){A=J.textures[F];void 0!==A.mapping&&void 0!==THREE[A.mapping]&&(A.mapping=new THREE[A.mapping]);if(A.url instanceof Array){S=A.url.length;n=[];for(q=0;q<S;q++)n[q]=d(A.url[q],J.urlBaseType);q=(q=/\.dds$/i.test(n[0]))?THREE.ImageUtils.loadCompressedTextureCube(n,A.mapping,E(S)):THREE.ImageUtils.loadTextureCube(n,A.mapping,E(S))}else q=/\.dds$/i.test(A.url),S=d(A.url,J.urlBaseType),n=E(1),q=q?
|
|
A.url.length;for(q=0;q<A.url.length;q++)l.onLoadStart()}else B+=1,l.onLoadStart();D=B;for(F in J.textures){A=J.textures[F];void 0!==A.mapping&&void 0!==THREE[A.mapping]&&(A.mapping=new THREE[A.mapping]);if(A.url instanceof Array){S=A.url.length;n=[];for(q=0;q<S;q++)n[q]=d(A.url[q],J.urlBaseType);q=(q=/\.dds$/i.test(n[0]))?THREE.ImageUtils.loadCompressedTextureCube(n,A.mapping,E(S)):THREE.ImageUtils.loadTextureCube(n,A.mapping,E(S))}else q=/\.dds$/i.test(A.url),S=d(A.url,J.urlBaseType),n=E(1),q=q?
|
|
THREE.ImageUtils.loadCompressedTexture(S,A.mapping,n):THREE.ImageUtils.loadTexture(S,A.mapping,n),void 0!==THREE[A.minFilter]&&(q.minFilter=THREE[A.minFilter]),void 0!==THREE[A.magFilter]&&(q.magFilter=THREE[A.magFilter]),A.anisotropy&&(q.anisotropy=A.anisotropy),A.repeat&&(q.repeat.set(A.repeat[0],A.repeat[1]),1!==A.repeat[0]&&(q.wrapS=THREE.RepeatWrapping),1!==A.repeat[1]&&(q.wrapT=THREE.RepeatWrapping)),A.offset&&q.offset.set(A.offset[0],A.offset[1]),A.wrap&&(S={repeat:THREE.RepeatWrapping,mirror:THREE.MirroredRepeatWrapping},
|
|
THREE.ImageUtils.loadCompressedTexture(S,A.mapping,n):THREE.ImageUtils.loadTexture(S,A.mapping,n),void 0!==THREE[A.minFilter]&&(q.minFilter=THREE[A.minFilter]),void 0!==THREE[A.magFilter]&&(q.magFilter=THREE[A.magFilter]),A.anisotropy&&(q.anisotropy=A.anisotropy),A.repeat&&(q.repeat.set(A.repeat[0],A.repeat[1]),1!==A.repeat[0]&&(q.wrapS=THREE.RepeatWrapping),1!==A.repeat[1]&&(q.wrapT=THREE.RepeatWrapping)),A.offset&&q.offset.set(A.offset[0],A.offset[1]),A.wrap&&(S={repeat:THREE.RepeatWrapping,mirror:THREE.MirroredRepeatWrapping},
|
|
void 0!==S[A.wrap[0]]&&(q.wrapS=S[A.wrap[0]]),void 0!==S[A.wrap[1]]&&(q.wrapT=S[A.wrap[1]]));w.textures[F]=q}var H,K;for(H in J.materials){F=J.materials[H];for(K in F.parameters)"envMap"===K||"map"===K||"lightMap"===K||"bumpMap"===K?F.parameters[K]=w.textures[F.parameters[K]]:"shading"===K?F.parameters[K]="flat"===F.parameters[K]?THREE.FlatShading:THREE.SmoothShading:"side"===K?F.parameters[K]="double"==F.parameters[K]?THREE.DoubleSide:"back"==F.parameters[K]?THREE.BackSide:THREE.FrontSide:"blending"===
|
|
void 0!==S[A.wrap[0]]&&(q.wrapS=S[A.wrap[0]]),void 0!==S[A.wrap[1]]&&(q.wrapT=S[A.wrap[1]]));w.textures[F]=q}var H,K;for(H in J.materials){F=J.materials[H];for(K in F.parameters)"envMap"===K||"map"===K||"lightMap"===K||"bumpMap"===K?F.parameters[K]=w.textures[F.parameters[K]]:"shading"===K?F.parameters[K]="flat"===F.parameters[K]?THREE.FlatShading:THREE.SmoothShading:"side"===K?F.parameters[K]="double"==F.parameters[K]?THREE.DoubleSide:"back"==F.parameters[K]?THREE.BackSide:THREE.FrontSide:"blending"===
|