-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathLoadScreen.min.js
1 lines (1 loc) · 24 KB
/
LoadScreen.min.js
1
function LoadScreen(a,b){"use strict";function c(){N=requestAnimationFrame(c);for(var a in K){var b=K[a],d=(b.targetValue-b.initialValue)/b.duration/60;if(b.value=b.targetValue>=b.initialValue?Math.min(b.targetValue,b.value+d):Math.max(b.targetValue,b.value+d),"function"==typeof b.onUpdate&&b.onUpdate(),"progress"===a)for(var e=0;e<L.length;e++)L[e](b.value);b.value===b.targetValue&&("function"==typeof b.onComplete&&b.onComplete(),"progress"===a&&1===b.value&&(delete K.progress,cancelAnimationFrame(N)))}}function d(a){F&&console.timeEnd("Total load screen duration"),D.domElement.parentNode.removeChild(D.domElement),J=!0,a&&"function"==typeof a&&a()}function e(a,b){J||(D.domElement.style.marginTop="-"+b+"px",D.domElement.style.height=b+"px",D.domElement.style.width=a+"px")}function f(){var a=D.resources;if(a.files){aa.files={};for(var b in a.files){var c=a.files[b];c.path&&c.fileSize&&(aa.files[b]={},da[b]={prog:0,fileSize:d.fileSize},la+=d.fileSize,Q++)}}if(a.fonts){aa.fonts={};for(var b in a.fonts){var c=a.fonts[b];c.path&&c.fileSize&&(aa.fonts[b]={},ea[b]={prog:0,fileSize:c.fileSize},ma+=c.filesSize,Q++)}}if(a.textures){aa.textures={};for(var b in a.textures){var d=a.textures[b];if(d.path&&d.fileSize){if(aa.textures[b]={},d.GPUCompression&&(d.GPUCompression.PVR&&r("PVR")?(d.path=d.GPUCompression.PVR.path,d.fileSize=d.GPUCompression.PVR.fileSize):d.GPUCompression.KTX&&r("KTX")&&(d.path=d.GPUCompression.KTX.path,d.fileSize=d.GPUCompression.KTX.fileSize)),fa[b]={prog:0,fileSize:d.fileSize},"string"!=typeof d.path){fa[b].subFiles={};for(var e=0;e<d.path.length;e++)fa[b].subFiles[d.path[e]]=0}na+=d.fileSize,Q++}}}if(a.materials){aa.materials={};for(var b in a.materials){var f=a.materials[b];f.path&&f.fileSize&&(aa.materials[b]={},ha[b]={prog:0,fileSize:f.fileSize},oa+=f.fileSize,Q++)}}if(a.geometries){aa.geometries={};for(var b in a.geometries)a.geometries[b].path&&a.geometries[b].fileSize&&(aa.geometries[b]={},ia[b]={prog:0,fileSize:a.geometries[b].fileSize},pa+=a.geometries[b].fileSize,Q++)}if(a.animations){aa.animations={};for(var b in a.animations)a.animations[b].path&&a.animations[b].fileSize&&(aa.animations[b]={},ja[b]={prog:0,fileSize:a.animations[b].fileSize},qa+=a.animations[b].fileSize,Q++)}if(a.objects){aa.objects={};for(var b in a.objects)a.objects[b].path&&a.objects[b].fileSize&&(aa.objects[b]={},ka[b]={prog:0,fileSize:a.objects[b].fileSize},ra+=a.objects[b].fileSize,Q++)}if(a.files)for(var b in a.files)a.files[b].path&&a.files[b].fileSize&&g(b);if(a.fonts)for(var b in a.fonts)a.fonts[b].path&&a.fonts[b].fileSize&&h(b);if(a.textures)for(var b in a.textures)a.textures[b].path&&a.textures[b].fileSize&&i(b);if(a.materials)for(var b in a.materials)a.materials[b].path&&a.materials[b].fileSize&&j(b);if(a.geometries)for(var b in a.geometries)a.geometries[b].path&&a.geometries[b].fileSize&&k(b);if(a.animations)for(var b in a.animations)a.animations[b].path&&a.animations[b].fileSize&&l(b);if(a.objects)for(var b in a.objects)a.objects[b].path&&a.objects[b].fileSize&&m(b)}function g(a){var b=b||new THREE.FileLoader;b.load(D.resources.files[a].path,function(b){aa.files[a]=b,da[a].prog=1,P++,z({type:"File",name:a,progress:1}),A(!0)},function(b){var c=b.total||1024*da[a].fileSize,d=b.loaded/c;ia[a].prog=d,1!==d&&z({type:"File",name:a,progress:d}),A()})}function h(a){W.main=W.main||new THREE.TTFLoader,W.main.load(D.resources.fonts[a].path,function(b){aa.fonts[a]=b,ea[a].prog=1,P++,z({type:"Font",name:a,progress:1}),A(!0)},function(b){var c=b.total||1024*ea[a].fileSize,d=b.loaded/c;ea[a].prog=d,1!==d&&z({type:"Font",name:a,progress:d}),A()})}function i(a){var b=D.resources.textures[a],c,d,e=fa[a];"string"==typeof b.path?(c=b.path.split("."),d=c[c.length-1]):(c=b.path[0].split("."),d="hdr"===c[c.length-1].toLowerCase()?"cubehdr":"cube");var f=function(b){aa.textures[a]=b,e.prog=1,P++,z({type:"Texture",name:a,progress:1}),A(!0)},g=function(b){var c=b.total||1024*e.fileSize,d=b.loaded/c;if(e.subFiles){e.prog=0;for(var f in e.subFiles)b.target.responseURL.indexOf(f)>-1&&(e.subFiles[f]=d),e.prog=e.prog+e.subFiles[f]/6}else e.prog=d;1!==e.prog&&z({type:"Texture",name:a,progress:e.prog}),A()};if("cubehdr"===d){var h=n(d);"undefined"!=typeof b.crossOrigin&&(h.crossOrigin=b.crossOrigin),h.load(THREE.UnsignedByteType,b.path,f,g)}else{var h=n(d.toLowerCase());"undefined"!=typeof b.crossOrigin&&(h.crossOrigin=b.crossOrigin),h.load(b.path,f,g)}}function j(a){var b=D.resources.materials[a],c=b.path.split("."),d=c[c.length-1];o(d.toLowerCase()).load(b.path,function(b){if(aa.materials[a]=b,ha[a].prog=1,P++,z({type:"Material",name:a,progress:1}),A(!0),b instanceof THREE.MTLLoader.MaterialCreator){var c=D.resources.objects;if(c)for(var d in c){var e=c.path.split(".");e=e[e.length-1],c[d].setMaterials===a&&"obj"===e&&m(d,b)}}},function(b){var c=b.total||1024*ha[a].fileSize,d=b.loaded/c;ha[a].prog=d,1!==d&&z({type:"Material",name:a,progress:d}),A()})}function k(a){var b=D.resources.geometries[a],c=b.path.split("."),d=c[c.length-1];p(d.toLowerCase()).load(b.path,function(b){aa.geometries[a]=b,ia[a].prog=1,P++,z({type:"Geometry",name:a,progress:1}),A(!0)},function(b){var c=b.total||1024*ia[a].fileSize,d=b.loaded/c;ia[a].prog=d,1!==d&&z({type:"Geometry",name:a,progress:d}),A()})}function l(a){var b=D.resources.animations[a];$=$||new THREE.BVHLoader,$.load(b.path,function(b){aa.animations[a]=b,ja[a].prog=1,P++,z({type:"Animation",name:a,progress:1}),A(!0)},function(b){var c=b.total||1024*ja[a].fileSize,d=b.loaded/c;ja[a].prog=d,1!==d&&z({type:"Animation",name:a,progress:d}),A()})}function m(a,b){var c=D.resources.objects[a],d=c.path.split("."),e=d.length,f="assimp"===d[e-2].toLowerCase()?"assimpJSON":d[e-1];if("obj"!==f||!c.setMaterials){var g=function(b,c){var d="assimp"===f?c:b;aa.objects[a]=d,ka[a].prog=1,P++,z({type:"Object",name:a,progress:1}),A(!0)},h=function(b){var c=b.total||1024*ka[a].fileSize,d=b.loaded/c;ka[a].prog=d,1!==d&&z({type:"Object",name:a,progress:d}),A()};if(b){var i=new THREE.OBJLoader;i.setMaterials(b.preload()),i.load(c.path,g,h)}else{var i=q(f.toLowerCase());switch(f){case"mmd":i.load(c.path,c.vmdPaths,g,h);break;case"dae":c.convertUpAxis&&(i.convertUpAxis=c.convertUpAxis);default:i.load(c.path,g,h)}}}}function n(a){switch(a){case"tga":return X.tga=X.tga||new THREE.TGALoader,X.tga;case"pvr":return X.pvr=X.pvr||new THREE.PVRLoader,X.pvr;case"ktx":return X.ktx=X.ktx||new THREE.KTXLoader,X.ktx;case"cubehdr":return X.hdr=X.hdr||new THREE.HDRCubeTextureLoader,X.hdr;case"cube":return X.cube=X.cube||new THREE.CubeTextureLoader,X.cube;default:return X.main=X.main||new THREE.TextureLoader,X.main}}function o(a){switch(a){case"js":case"json":return Y.main=Y.main||new THREE.MaterialLoader,Y.main;case"mtl":return Y.mat=Y.mat||new THREE.MTLLoader,Y.mat}}function p(a){switch(a){case"ctm":return Z.ctm=Z.ctm||new THREE.CTMLoader,Z.ctm;case"json":return Z.json=Z.json||new THREE.JSONLoader,Z.json;case"ply":return Z.ply=Z.ply||new THREE.PLYLoader,Z.ply;case"stl":return Z.stl=Z.stl||new THREE.STLLoader,Z.stl;case"vtk":return Z.vtk=Z.vtk||new THREE.VTKLoader,Z.vtk}}function q(a){switch(a){case"3mf":return _.threemf||(_.threemf=new THREE.ThreeMFLoader),_.threemf;case"amf":return _.amf||(_.amf=new THREE.AMFLoader),_.amf;case"assimp":return _.assimp||(_.assimp=new THREE.AssimpLoader),_.assimp;case"assimpJSON":return _.assimpJSON||(_.assimpJSON=new THREE.AssimpJSONLoader),_.assimpJSON;case"awd":return _.awd||(_.awd=new THREE.AWDLoader),_.awd;case"babylon":return _.babylon||(_.babylon=new THREE.BabylonLoader),_.babylon;case"bin":return _.bin||(_.bin=new THREE.BinaryLoader),_.bin;case"dae":return _.dae||(_.dae=new THREE.ColladaLoader),_.dae;case"fbx":return _.fbx||(_.fbx=new THREE.FBXLoader),_.fbx;case"gltf":return _.gltf||(_.gltf=new THREE.GLTFLoader),_.gltf;case"js":case"json":return _.main||(_.main=new THREE.ObjectLoader),_.main;case"obj":return _.obj||(_.obj=new THREE.OBJLoader),_.obj;case"pcd":return _.pcd||(_.pcd=new THREE.PCDLoader),_.pcd;case"utf8":return _.utf8||(_.utf8=new THREE.UTF8Loader),_.utf8;case"wrl":case"wrz":case"vrml":return _.vrml||(_.vrml=new THREE.VRMLLoader),_.vrml}}function r(b){return"undefined"==typeof ca[b]&&(ba=ba||a.context.getSupportedExtensions(),"PVR"===b?ca[b]=ba.indexOf("WEBGL_compressed_texture_pvrtc")>-1||ba.indexOf("WEBKIT_WEBGL_compressed_texture_pvrtc")>-1:ca[b]=ba.indexOf("WEBGL_compressed_texture_etc1")>-1),ca[b]}function s(){F&&console.time("Processing duration");var b=D.resources.files,c=aa.files;if(b)for(var d in c){for(var e in b[d])"undefined"!=typeof c[d][e]&&(c[d][e]=b[d][e]);b[d].onComplete&&b[d].onComplete(c[d]),b[d]=c[d],b[d].name=d,delete c[d]}var f=D.resources.fonts,g=aa.fonts;if(f)for(var d in g){g[d]=new THREE.Font(g[d]);for(var e in f[d])"undefined"!=typeof g[d][e]&&(g[d][e]=f[d][e]);f[d]=g[d],f[d].name=d,delete g[d]}var h=D.resources.textures,i=aa.textures;if(h)for(var d in i){if(h[d].toPMREM){F&&console.time("Texture > "+d+" > PMREM creation time");var j=new THREE.PMREMGenerator(i[d]);j.update(a);var k=new THREE.PMREMCubeUVPacker(j.cubeLods);k.update(a),i[d]=k.CubeUVRenderTarget.texture,F&&console.timeEnd("Texture > "+d+" > PMREM creation time")}for(var e in h[d])"undefined"!=typeof i[d][e]&&(i[d][e]=h[d][e]);h[d].onComplete&&h[d].onComplete(i[d]),h[d]=i[d],h[d].name=d,delete i[d]}var l=D.resources.materials,m=aa.materials;if(l)for(var d in m){for(var e in l[d])"undefined"!=typeof m[d][e]&&((e.indexOf("map")>-1||e.indexOf("Map")>-1)&&"aoMapIntensity"!==e?m[d][e]=h[l[d][e]]:["emissive","color"].indexOf(e)>-1?m[d][e].set(l[d][e]):m[d][e]=l[d][e]);l[d].onComplete&&l[d].onComplete(m[d]),l[d]=m[d],l[d].name=d,delete m[d]}var n=D.resources.geometries,o=aa.geometries;if(n)for(var d in o)n[d].flatNormals&&"BufferGeometry"!==o[d].type&&o[d].computeFlatVertexNormals(),n[d].toBufferGeometry&&"BufferGeometry"!==o[d].type&&(o[d]=(new THREE.BufferGeometry).fromGeometry(o[d])),n[d].onComplete&&n[d].onComplete(o[d]),n[d]=o[d],n[d].name=d,delete o[d];var p=D.resources.animations,q=aa.animations;if(p)for(var d in q)p[d].onComplete&&ga[d].onComplete(q[d]),p[d]=q[d],p[d].name=d,delete q[d];var r=D.resources.objects,s=aa.objects;if(r){var t=function(a,b){for(var c in r[a])"type"!==c&&"undefined"!=typeof b[c]&&((c.indexOf("map")>-1||c.indexOf("Map")>-1)&&"aoMapIntensity"!==c?b[c]=h[r[a][c]]:["emissive","color"].indexOf(c)>-1?b[c].set(r[a][c]):b[c]=r[a][c],delete r[a][c])},u=function(a,b,c){var d;switch(r[a].type){case"mesh":d=new THREE.Mesh(z,A);break;case"points":d=new THREE.Points(z,A);break;case"line":d=new THREE.Line(z,A);break;default:d=new THREE.Mesh(z,A)}return delete r[a].type,d},v=function(a,b){for(var c in r[a])"undefined"!=typeof b[c]?b[c]=r[a][c]:b.userData[c]=r[a][c],delete r[a][c]};for(var d in r)if(r[d].path&&r[d].fileSize){var e=r[d].path,w=e.split("."),x=w.length,y;y="assimp"===w[x-2]?s[d].object:"dae"===w[x-1]?s[d].scene:"gltf"===w[x-1]?"undefined"!=typeof s[d].scene?s[d].scene:s[d].scenes[0]:s[d],t(d,y.material),v(d,y),r[d].onComplete&&r[d].onComplete(y),r[d]=y,r[d].name=d,delete s[d]}else if("string"==typeof r[d].geometry||"string"==typeof r[d].material){var z="string"==typeof r[d].geometry?D.resources.geometries[r[d].geometry]:r[d].geometry,A="string"==typeof r[d].material?D.resources.materials[r[d].material]:r[d].material;delete r[d].geometry,delete r[d].material,t(d,A);var y=u(d,z,A);v(d,y),r[d].onComplete&&r[d].onComplete(y),r[d]=y,r[d].name=d}else if(!r[d]instanceof THREE.Object3D){var z=r[d].geometry,A=r[d].material;delete r[d].geometry,delete r[d].material,t(d,r[d].material);var y=u(d,z,A);v(d,y),r[d].onComplete&&r[d].onComplete(y),r[d]=y,r[d].name=d}}F&&console.timeEnd("Processing duration")}function t(){var c=document.createElement("div"),d=document.createElement("div");c.style.cssText="background: "+b.background+";position: relative;overflow: hidden;";var e=b.size.indexOf("%")>-1?"%":"px",f=parseInt(b.size)/2+e;d.style.cssText="width: "+b.size+";top: 50%; left: 50%;margin-left: -"+f+";text-align: center;position: relative;display: inline-block",D.domElement=c,D.infoContainer=d,D.setSize(parseInt(a.domElement.style.width),parseInt(a.domElement.style.height)),a.domElement.parentNode.appendChild(c)}function u(){if(b.textInfo){R=document.createElement("p"),R.textContent="string"==typeof b.textInfo?b.textInfo:b.textInfo[0];for(var a in b.infoStyle)"undefined"!=typeof R.style[a]&&(R.style[a]=b.infoStyle[a])}if(b.sizeInfo){S=document.createElement("p"),S.textContent="0.00MB";for(var a in b.infoStyle)"undefined"!=typeof S.style[a]&&(S.style[a]=b.infoStyle[a])}var c;switch(b.type){case"linear-horizontal":c=v();break;case"linear-circular":c=w();break;case"linear-circular-slide":c=w("rotate");break;case"linear-circular-fancy":c=w("fancy");break;case"stepped-horizontal":c=x();break;case"stepped-horizontal-offset":c=x(!0);break;case"stepped-circular":c=y();break;case"stepped-circular-offset":c=y("",!0);break;case"stepped-circular-slide":c=y("rotate");break;case"stepped-circular-slide-offset":c=y("rotate",!0);break;case"stepped-circular-fancy":c=y("fancy");break;case"stepped-circular-fancy-offset":c=y("fancy",!0);break;default:console.warn("Unknown progress type : '"+b.type+"', turning to default type 'linear-horizontal'"),c=v()}K.progress={duration:H,targetValue:I,initialValue:0,value:0,onUpdate:c}}function v(){if(b.progressInfo){b.weight=parseInt(b.weight);var a=b.weight/2,c="<svg style='width: 100%; height: 100%;' width=200 height=200 viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'>\t<path d='M20 "+(100-a)+" 20 "+(100+a)+" 180 "+(100+a)+" 180 "+(100-a)+"' fill='"+b.progressContainerColor+"'/>\t<path d='M22 "+(102-a)+" 22 "+(98+a)+" 22 "+(98+a)+" 22 "+(102-a)+"' fill='"+b.progressColor+"'/></svg>";D.infoContainer.innerHTML=c;var d=D.infoContainer.firstElementChild.firstElementChild.nextElementSibling}if(b.textInfo||b.sizeInfo||b.progressInfo){var e;if(b.progressInfo){var f=document.createElement("div");f.style.cssText="width: 100%; left: 50%; top: 50%;margin-left: -50%;position: absolute;",D.infoContainer.appendChild(f),e=f}else e=D.infoContainer;b.textInfo&&e.appendChild(R),b.sizeInfo&&e.appendChild(S)}var g=function(){b.progressInfo&&d.setAttribute("d","M22 "+(102-a)+" 22 "+(98+a)+" "+(22+156*K.progress.value)+" "+(98+a)+" "+(22+156*K.progress.value)+" "+(102-a)),b.sizeInfo&&(S.textContent=(K.progress.value*(na+pa)/1024).toFixed(2)+"MB")};return g}function w(a){if(b.progressInfo){var c=parseInt(b.weight);c*="fancy"===a?2.5:1,c=80+c/2,c+="fancy"===a?6:2;var d="fancy"===a?2:1,e="fancy"===a?80+1.5*parseInt(b.weight)+4:c,f=Math.max(11,parseInt(b.weight)*d)-11,g=100+f,h=2*g,i="fancy"===a?"<circle fill='none' cx='0' cy='0' transform='translate("+g+","+g+") rotate(-90)' r='"+(80+parseInt(b.weight)+2).toString()+"' stroke-dashoffset='1503'/>":"",j="<svg style='width: 100%; height: 100%;' width=200 height=200 viewBox='0 0 "+h+" "+h+"' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'>\t<circle fill="+b.progressContainerColor+" cx='0' cy='0' transform='translate("+g+","+g+")' r='"+e+"'/>\t<circle fill="+b.background+" cx='0' cy='0' transform='translate("+g+","+g+")' r='"+(80-parseInt(b.weight)/2-2).toString()+"'/>"+i+"\t<circle fill='none' cx='0' cy='0' transform='translate("+g+","+g+") rotate(-90)' r='80' stroke-dashoffset='1503'/></svg>";D.infoContainer.innerHTML=j;var k=D.infoContainer.firstElementChild.lastElementChild;if(k.style.cssText="stroke:"+b.progressColor+";stroke-width:"+parseInt(b.weight)+";stroke-dasharray:502;","fancy"===a){var l=k.previousElementSibling;l.style.cssText="stroke:"+b.progressColor+";stroke-width:"+parseInt(b.weight)+";stroke-dasharray:"+(1.5*parseInt(b.weight)+129.5)+";opacity: .5"}}if(b.textInfo||b.sizeInfo||b.progressInfo){var m;if(b.progressInfo){var n=document.createElement("div");n.style.cssText="width: 100%; left: 50%; top: 50%;margin-left: -50%;position: absolute;",D.infoContainer.appendChild(n),m=n}else m=D.infoContainer;b.textInfo&&m.appendChild(R),b.sizeInfo&&m.appendChild(S)}var o=function(){b.progressInfo&&(k.setAttribute("stroke-dashoffset",(502*(1-K.progress.value)).toString()),a&&k.setAttribute("transform","translate("+g+","+g+") rotate("+(-90+180*K.progress.value)+")"),"fancy"===a&&(l.setAttribute("stroke-dashoffset",(502*(1-K.progress.value)).toString()),l.setAttribute("transform","translate("+g+","+g+") rotate("+(-90+135*K.progress.value)+")"))),b.sizeInfo&&(S.textContent=(K.progress.value*(na+pa)/1024).toFixed(2)+"MB")};return o}function x(a,c){if(b.progressInfo){var d=20,e=156/d,f=e/2,g=1,h=a?5:0,i=h/2;b.weight=parseInt(b.weight);for(var j=b.weight/2,k=102-j,l=98+j,m="<svg style='width: 100%; height: 100%;' width=200 height=200 viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'>\t<path d='M21 "+(100-j)+" 21 "+(100+j)+" 179 "+(100+j)+" 179 "+(100-j)+"' fill='"+b.progressContainerColor+"'/>",n=[],o=0;o<d;o++){var p=22+o*e+g,q=22+(o+1)*e-g,r=0===o?0:i,s=o===d-1?0:i;n[o]=[p,q],m+="<path d='M"+(p+r)+" "+k+" "+(p-r)+" "+l+" "+(q-s)+" "+l+" "+(q+s)+" "+k+"' fill='"+b.progressColor+"'/>"}m+="</svg>",D.infoContainer.innerHTML=m;for(var t=D.infoContainer.firstElementChild.firstElementChild,o=0;o<d;o++)t=t.nextElementSibling,t.style.opacity=0,t.x1=n[o][0],t.x2=n[o][1],n[o]=t}if(b.textInfo||b.sizeInfo||b.progressInfo){var u;if(b.progressInfo){var v=document.createElement("div");v.style.cssText="width: 100%; left: 50%; top: 50%;margin-left: -50%;position: absolute;",D.infoContainer.appendChild(v),u=v}else u=D.infoContainer;b.textInfo&&u.appendChild(R),b.sizeInfo&&u.appendChild(S)}var w=function(){if(b.progressInfo)for(var a=0;a<d;a++)n[a].style.opacity=Math.min(1,K.progress.value*d-a);b.sizeInfo&&(S.textContent=(K.progress.value*(na+pa)/1024).toFixed(2)+"MB")};return w}function y(a,c){if(b.progressInfo){var d=50,e=Math.PI/2,f=parseInt(b.weight),g=f/2,h=2*Math.PI/d,i=h/2,j=c?-.1:0,k=parseInt(b.weight);k*="fancy"===a?2.5:1,k=80+k/2,k+="fancy"===a?6:2;for(var l="fancy"===a?2:1,m=Math.max(11,parseInt(b.weight)*l)-11,n=100+m,o=2*n,p="fancy"===a?80+1.5*parseInt(b.weight)+4:k,q="fancy"===a?"<circle fill='none' cx='0' cy='0' transform='translate("+n+","+n+") rotate(-90)' r='"+(80+parseInt(b.weight)+2).toString()+"' stroke-dashoffset='1503'/>":"",r="<svg style='width: 100%; height: 100%;' width=200 height=200 viewBox='0 0 "+o+" "+o+"' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'>\t<circle fill="+b.progressContainerColor+" cx='0' cy='0' transform='translate("+n+","+n+")' r='"+p+"'/>\t<circle fill="+b.background+" cx='0' cy='0' transform='translate("+n+","+n+")' r='"+(80-parseInt(b.weight)/2-2).toString()+"'/>",s=0;s<d;s++){var t="<path transform='translate("+n+","+n+")' d='M"+Math.cos(e-h*s+i-h/8)*(80-g)+" "+-((80-g)*Math.sin(e-h*s+i-h/8))+" A "+(80-g)+" "+(80-g)+", 0, 0, 1,"+Math.cos(e-h*s-i+h/8)*(80-g)+" "+-((80-g)*Math.sin(e-h*s-i+h/8))+" L"+Math.cos(e-h*s-j-i+h/8)*(80+g)+" "+-((80+g)*Math.sin(e-h*s-j-i+h/8))+" A "+(80+g)+" "+(80+g)+", 0, 0, 0,"+Math.cos(e-h*s-j+i-h/8)*(80+g)+" "+-((80+g)*Math.sin(e-h*s-j+i-h/8))+" '/>";r+=t}"fancy"===a&&(r+=q),r+="</svg>",D.infoContainer.innerHTML=r;for(var u=[],v=D.infoContainer.firstElementChild.firstElementChild.nextElementSibling.nextElementSibling,s=0;s<d;s++)v.style.fill=b.progressColor,v.style.opacity=0,u[s]=v,v=v.nextElementSibling;if("fancy"===a){var w=D.infoContainer.firstElementChild.lastElementChild;w.style.cssText="stroke:"+b.progressColor+";stroke-width:"+parseInt(b.weight)+";stroke-dasharray:"+(1.5*parseInt(b.weight)+129.5)+";opacity: .5"}}if(b.textInfo||b.sizeInfo||b.progressInfo){var x;if(b.progressInfo){var y=document.createElement("div");y.style.cssText="width: 100%; left: 50%; top: 50%;margin-left: -50%;position: absolute;",D.infoContainer.appendChild(y),x=y}else x=D.infoContainer;b.textInfo&&x.appendChild(R),b.sizeInfo&&x.appendChild(S)}var z=function(){if(b.progressInfo){for(var c=0;c<d;c++)u[c].style.opacity=Math.min(1,K.progress.value*d-c);if(a)for(var c=0;c<u.length;c++)u[c].setAttribute("transform","translate("+n+","+n+") rotate("+180*K.progress.value+")");"fancy"===a&&(w.setAttribute("stroke-dashoffset",(502*(1-K.progress.value)).toString()),w.setAttribute("transform","translate("+n+","+n+") rotate("+(-90+135*K.progress.value)+")"))}b.sizeInfo&&(S.textContent=(K.progress.value*(na+pa)/1024).toFixed(2)+"MB")};return z}function z(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0;for(var i in da)b+=da[i].prog*da[i].fileSize;for(var i in ea)c+=ea[i].prog*ea[i].fileSize;for(var i in fa)d+=fa[i].prog*fa[i].fileSize;for(var i in ha)e+=ha[i].prog*ha[i].fileSize;for(var i in ia)f+=ia[i].prog*ia[i].fileSize;for(var i in ja)g+=ja[i].prog*ja[i].fileSize;for(var i in ka)h+=ka[i].prog*ka[i].fileSize;I=(b+c+d+e+f+g+h)/(la+ma+na+oa+pa+qa+ra),"undefined"!=typeof a&&F&&console.info("Progress = "+I+", "+a.type+" > "+a.name+" > "+Math.round(100*a.progress)+"%"),A()}function A(a){if(K.progress.initialValue=K.progress.value,K.progress.targetValue=I,K.progress.duration=H,1===I&&a){F&&console.timeEnd("Loading duration");var c=function(){D.resources?"custom"!==b.type&&b.textInfo?(R.textContent="string"==typeof b.textInfo?b.textInfo:b.textInfo[1],setTimeout(function(){s(),R.textContent="string"==typeof b.textInfo?b.textInfo:b.textInfo[2],setTimeout(B,20)},20)):(s(),B()):C()};"custom"!==b.type?K.progress.onComplete=function(){1===K.progress.value&&c()}:c()}}function B(){sa=new THREE.Scene,ta=new THREE.OrthographicCamera((-1),1,1,(-1),0,2);for(var b in D.resources.objects)sa.add(D.resources.objects[b]);F&&console.time("Compiling duration"),"undefined"==typeof a.compile?(ua=new THREE.WebGLRenderTarget(1,1,{generateMipmaps:!0}),a.render(sa,ta,ua),ua.dispose()):a.compile(sa,ta);for(var b in D.resources.objects)sa.remove(D.resources.objects[b]);F&&console.timeEnd("Compiling duration"),C()}function C(){"custom"!==b.type&&b.textInfo&&(R.textContent="string"==typeof b.textInfo?b.textInfo:b.textInfo[3],setTimeout(function(){F&&console.time("Scene creation duration");for(var a=0;a<M.length;a++)M[a]();F&&console.timeEnd("Scene creation duration")},20))}var D=this,E=null,F=!1,G=!1,H=.5,I=0,J=!1,K={},L=[],M=[],N,O,P=0,Q=0,R,S,T,U,V,W={},X={},Y={},Z={},$,_={},aa={},ba,ca={},da={},ea={},fa={},ha={},ia={},ja={},ka={},la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa,ta,ua;this.domElement=null,this.infoContainer=null,this.resources=null,this.setSize=e,b={type:"undefined"!=typeof b.type?b.type:"linear-horizontal",size:b.size||"170px",background:"undefined"!=typeof b.background?b.background:"#333",progressContainerColor:b.progressContainerColor||"#000",progressColor:b.progressColor||"#666",weight:b.weight||"10",infoStyle:b.infoStyle||{},sizeInfo:"undefined"==typeof b.sizeInfo||b.sizeInfo,progressInfo:"undefined"==typeof b.progressInfo||b.progressInfo,textInfo:"undefined"!=typeof b.textInfo?b.textInfo:["Loading","Processing","Compiling","Creating scene"]};var va=b.infoStyle;return va.color=va.color||"#666",va.fontFamily=va.fontFamily||"monospace",va.fontSize=va.fontSize||"12px",va.padding=va.padding||"10px",t(),"custom"!==b.type&&u(),this.start=function(d){var e=function(){if("custom"!==b){D.domElement.appendChild(D.infoContainer);var a=-parseFloat(getComputedStyle(D.infoContainer,null).height)/2;if(D.infoContainer.style.marginTop=a+"px",b.progressInfo){var e=-parseFloat(getComputedStyle(D.infoContainer.lastElementChild,null).height)/2;D.infoContainer.lastElementChild.style.marginTop=e+"px"}c()}F&&console.time("Total load screen duration"),d&&(F&&console.time("Loading duration"),D.resources=d,f())};if(G)e();else{var g=function(){var b=a.domElement.getBoundingClientRect(),c=b.top,d=b.height;c<innerHeight&&c+d>0&&(window.removeEventListener("scroll",g),e())};window.addEventListener("scroll",g),g()}return D},this.remove=function(a){"custom"!==b.type?(c(),K.disappear={duration:H,targetValue:0,initialValue:1,value:1,onUpdate:function(){D.infoContainer.style.opacity=K.disappear.value},onComplete:function(){d(a),cancelAnimationFrame(N),delete K.disappear}}):d(a)},this.setProgress=function(a){I=a,A(!0)},this.setOptions=function(a){return G="undefined"!=typeof a.forcedStart?a.forcedStart:G,H="undefined"!=typeof a.tweenDuration?a.tweenDuration:H,F="undefined"!=typeof a.verbose?a.verbose:F,D},this.onProgress=function(){for(var a=0;a<arguments.length;a++)arguments[a]&&"function"==typeof arguments[a]&&L.push(arguments[a]);return D},this.onComplete=function(){for(var a=0;a<arguments.length;a++)arguments[a]&&"function"==typeof arguments[a]&&M.push(arguments[a]);return D},this}