var BABYLON;!(function(e){var t=(function(){function t(){this.materials=[]}return t.prototype.parseMTL=function(r,s,a){for(var n,i=s.split("\n"),o=null,l=0;l=0?u.substring(0,p):u;h=h.toLowerCase();var m=p>=0?u.substring(p+1).trim():"";"newmtl"===h?(o&&this.materials.push(o),o=new e.StandardMaterial(m,r)):"kd"===h&&o?(n=m.split(/\s+/,3).map(parseFloat),o.diffuseColor=e.Color3.FromArray(n)):"ka"===h&&o?(n=m.split(/\s+/,3).map(parseFloat),o.ambientColor=e.Color3.FromArray(n)):"ks"===h&&o?(n=m.split(/\s+/,3).map(parseFloat),o.specularColor=e.Color3.FromArray(n)):"ke"===h&&o?(n=m.split(/\s+/,3).map(parseFloat),o.emissiveColor=e.Color3.FromArray(n)):"ns"===h&&o?o.specularPower=parseFloat(m):"d"===h&&o?o.alpha=parseFloat(m):"map_ka"===h&&o?o.ambientTexture=t._getTexture(a,m,r):"map_kd"===h&&o?o.diffuseTexture=t._getTexture(a,m,r):"map_ks"===h&&o?o.specularTexture=t._getTexture(a,m,r):"map_ns"===h||("map_bump"===h&&o?o.bumpTexture=t._getTexture(a,m,r):"map_d"===h&&o&&(o.opacityTexture=t._getTexture(a,m,r)))}}o&&this.materials.push(o)},t._getTexture=function(t,r,s){if(!r)return null;var a=t;if("file:"===t){var n=r.lastIndexOf("\\");-1===n&&(n=r.lastIndexOf("/")),a+=n>-1?r.substr(n+1):r}else a+=r;return new e.Texture(a,s)},t})();e.MTLFileLoader=t;var r=(function(){function r(){this.name="obj",this.extensions=".obj",this.obj=/^o/,this.group=/^g/,this.mtllib=/^mtllib /,this.usemtl=/^usemtl /,this.smooth=/^s /,this.vertexPattern=/v( +[\d|\.|\+|\-|e|E]+)( +[\d|\.|\+|\-|e|E]+)( +[\d|\.|\+|\-|e|E]+)/,this.normalPattern=/vn( +[\d|\.|\+|\-|e|E]+)( +[\d|\.|\+|\-|e|E]+)( +[\d|\.|\+|\-|e|E]+)/,this.uvPattern=/vt( +[\d|\.|\+|\-|e|E]+)( +[\d|\.|\+|\-|e|E]+)/,this.facePattern1=/f\s+(([\d]{1,}[\s]?){3,})+/,this.facePattern2=/f\s+((([\d]{1,}\/[\d]{1,}[\s]?){3,})+)/,this.facePattern3=/f\s+((([\d]{1,}\/[\d]{1,}\/[\d]{1,}[\s]?){3,})+)/,this.facePattern4=/f\s+((([\d]{1,}\/\/[\d]{1,}[\s]?){3,})+)/}return r.prototype._loadMTL=function(t,r,s){var a=e.Tools.BaseUrl+r+t;e.Tools.LoadFile(a,s,void 0,void 0,!1,(function(){console.warn("Error - Unable to load "+a)}))},r.prototype.importMesh=function(e,t,r,s,a,n,i){var o=this._parseSolid(e,t,r,s);return a&&o.forEach((function(e){a.push(e)})),!0},r.prototype.load=function(e,t,r){return this.importMesh(null,e,t,r,null,null,null)},r.prototype._parseSolid=function(s,a,n,i){for(var o,l=[],u=[],p=[],h=[],m=[],f=[],c=[],d=[],v=[],x=0,g=!1,T=[],_=[],F=[],I=[],P="",b="",y=new t,w=1,L=!0,O=function(e,t){e[t[0]]||(e[t[0]]={normals:[],idx:[]});var r=e[t[0]].normals.indexOf(t[1]);return-1===r?-1:e[t[0]].idx[r]},E=function(e,t){e[t[0]]||(e[t[0]]={normals:[],idx:[],uv:[]});var r=e[t[0]].normals.indexOf(t[1]);return 1!=r&&t[2]==e[t[0]].uv[r]?e[t[0]].idx[r]:-1},M=function(e,t,s,a,n,i){var o;o=r.OPTIMIZE_WITH_UV?E(v,[e,s,t]):O(v,[e,s]),-1==o?(m.push(f.length),f.push(a),c.push(n),d.push(i),v[e].normals.push(s),v[e].idx.push(x++),r.OPTIMIZE_WITH_UV&&v[e].uv.push(t)):m.push(o)},A=function(){for(var e=0;e0&&(o=h[h.length-1],A(),m.reverse(),o.indices=m.slice(),o.positions=T.slice(),o.normals=_.slice(),o.uvs=F.slice(),m=[],T=[],_=[],F=[])},B=n.split("\n"),N=0;N-1;)n.push(r),s=r+1;if(-1==r&&0==n.length)y.materials[t].dispose();else for(var o=0;o