fengmap.plugin.debug.min.js
10.5 KB
/**Released Version v3.1.5,BUILD 69,Time 1706862864660. Fengmap Javascript SDK , see: https://www.fengmap.com for details**/
!function(n,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.fengmap=e():n.fengmap=e()}(this,function(){return t=[function(n,e,t){"use strict";t.r(e);function c(){var t=0,i=document.createElement("div");function n(n){return i.appendChild(n.dom),n}function e(n){for(var e=0;e<i.children.length;e++)i.children[e].style.display=e===n?"block":"none";t=n}i.style.cssText="position:fixed;top:0;left:0;cursor:pointer;opacity:0.9;z-index:10000",i.addEventListener("click",function(n){n.preventDefault(),e(++t%i.children.length)},!1);var r,o=(performance||Date).now(),a=o,s=0,f=n(new c.Panel("FPS","#0ff","#002")),u=n(new c.Panel("MS","#0f0","#020"));return self.performance&&self.performance.memory&&(r=n(new c.Panel("MB","#f08","#201"))),e(0),{REVISION:16,dom:i,addPanel:n,showPanel:e,begin:function(){o=(performance||Date).now()},end:function(){s++;var n,e=(performance||Date).now();return u.update(e-o,200),a+1e3<=e&&(f.update(1e3*s/(e-a),100),a=e,s=0,r)&&(n=performance.memory,r.update(n.usedJSHeapSize/1048576,n.jsHeapSizeLimit/1048576)),e},update:function(){o=this.end()},domElement:i,setMode:e}}c.Panel=function(t,i,r){var o=1/0,a=0,s=Math.round,f=s(window.devicePixelRatio||1),u=80*f,n=48*f,c=3*f,l=2*f,p=3*f,m=15*f,d=74*f,v=30*f,b=document.createElement("canvas"),h=(b.width=u,b.height=n,b.style.cssText="width:80px;height:48px",b.getContext("2d"));return h.font="bold "+9*f+"px Helvetica,Arial,sans-serif",h.textBaseline="top",h.fillStyle=r,h.fillRect(0,0,u,n),h.fillStyle=i,h.fillText(t,c,l),h.fillRect(p,m,d,v),h.fillStyle=r,h.globalAlpha=.9,h.fillRect(p,m,d,v),{dom:b,update:function(n,e){o=Math.min(o,n),a=Math.max(a,n),h.fillStyle=r,h.globalAlpha=1,h.fillRect(0,0,u,m),h.fillStyle=i,h.fillText(s(n)+" "+t+" ("+s(o)+"-"+s(a)+")",c,l),h.drawImage(b,p+f,m,d-f,v,p,m,d-f,v),h.fillRect(p+d-f,m,f,v),h.fillStyle=r,h.globalAlpha=.9,h.fillRect(p+d-f,m,f,s((1-n/e)*v))}}};var i=c;function r(n){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}function o(n,e,t){return(e=s(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function a(n,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,s(i.key),i)}}function s(n){n=function(n,e){if("object"!=r(n)||!n)return n;var t=n[Symbol.toPrimitive];if(void 0===t)return("string"===e?String:Number)(n);t=t.call(n,e||"default");if("object"!=r(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}(n,"string");return"symbol"==r(n)?n:String(n)}var f=function(){function e(n){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");this.map=n,this.info={extent:{faceCount:0,vertexCount:0},model:{faceCount:0,vertexCount:0},externalModel:{faceCount:0,vertexCount:0},tiles3d:{faceCount:0,vertexCount:0}},this.initDom()}var n,t,i;return n=e,(t=[{key:"initDom",value:function(){this.domElement=document.createElement("div"),this.domElement.classList.add("fengmap-performance-container"),this.domElement.innerHTML='\n <div class="fengmap-performance-layer extent">\n <div class="fengmap-performance-title">extent</div>\n <div class="fengmap-performance-item">面 数: <span class="face">0</span> </div>\n <div class="fengmap-performance-item">顶点数: <span class="vertex">0</span> </div>\n </div>\n\n <div class="fengmap-performance-layer model">\n <div class="fengmap-performance-title">model</div>\n <div class="fengmap-performance-item">面 数: <span class="face">0</span> </div>\n <div class="fengmap-performance-item">顶点数:<span class="vertex">0</span> </div>\n </div>\n\n <div class="fengmap-performance-layer externalModel">\n <div class="fengmap-performance-title">externalModel</div>\n <div class="fengmap-performance-item">面 数: <span class="face">0</span> </div>\n <div class="fengmap-performance-item">顶点数:<span class="vertex">0</span> </div>\n </div>\n\n\n <div class="fengmap-performance-layer tiles3d">\n <div class="fengmap-performance-title">tiles3d</div>\n <div class="fengmap-performance-item">面 数: <span class="face">0</span> </div>\n <div class="fengmap-performance-item">顶点数:<span class="vertex">0</span> </div>\n </div>\n ';var n=document.createElement("style");n.textContent="\n .fengmap-performance-container {\n position: absolute;\n top: 2px;\n right: 2px;\n cursor: pointer;\n z-index: 10000;\n width: 180px;\n background-color: rgba(0,0,2,0.6);\n padding: 8px;\n border-radius: 4px;\n font-family: sans-serif;\n color: rgba(25,255,255,1);\n }\n\n .fengmap-performance-container span {\n margin-left: 15px;\n color:#fff;\n }\n\n .fengmap-performance-layer {\n margin-bottom: 10px;\n }\n\n .fengmap-performance-title{\n font-size: 18px;\n margin-bottom: 2px;\n color:#fff;\n }\n\n .fengmap-performance-item {\n margin-left: 20px;\n font-size: 14px;\n }\n ",document.getElementsByTagName("HEAD").item(0).appendChild(n)}},{key:"handleLayer",value:function(n,t){var i,r=this;t!==fengmap.FMType.MODEL_LAYER&&t!==fengmap.FMType.EXTENT_LAYER&&t!==fengmap.FMType.EXTERNAL_MODEL_LAYER||(i=o(o(o({},fengmap.FMType.EXTENT_LAYER,"extent"),fengmap.FMType.MODEL_LAYER,"model"),fengmap.FMType.EXTERNAL_MODEL_LAYER,"externalModel")[t],n.traverse(function(n){var e;"Mesh"===n.type&&(t===fengmap.FMType.EXTERNAL_MODEL_LAYER?n.geometry.attributes?(r.info[i].vertexCount+=n.geometry.attributes.position.count,r.info[i].faceCount+=n.geometry.index.count/3):n.geometry.faces&&(r.info[i].faceCount+=null!=(e=null==(e=n.geometry)||null==(e=e.faces)?void 0:e.length)?e:0,r.info[i].vertexCount+=null!=(e=null==(e=n.geometry)||null==(e=e.vertices)?void 0:e.length)?e:0):(r.info[i].faceCount+=null!=(e=null==(e=n.geometry)||null==(e=e.faces)?void 0:e.length)?e:0,r.info[i].vertexCount+=null!=(n=null==(e=n.geometry)||null==(e=e.vertices)?void 0:e.length)?n:0))}),document.querySelector(".".concat(i," .face")).innerText=Number(this.info[i].faceCount).toLocaleString(),document.querySelector(".".concat(i," .vertex")).innerText=Number(this.info[i].vertexCount).toLocaleString())}},{key:"clear",value:function(){this.info.extent.faceCount=0,this.info.extent.vertexCount=0,this.info.model.faceCount=0,this.info.model.vertexCount=0,this.info.externalModel.faceCount=0,this.info.externalModel.vertexCount=0,this.info.tiles3d.faceCount=0,this.info.tiles3d.vertexCount=0}},{key:"handleTile3d",value:function(){for(var e=this,n=this.map.getRenderManager().get3DTilesLayerSceneArr(),t="tiles3d",i=0;i<n.length;i++){var r=n[i];r&&r.traverse(function(n){"Mesh"===n.type&&(e.info[t].vertexCount+=n.geometry.attributes.position.count,e.info[t].faceCount+=n.geometry.index.count/3)})}document.querySelector(".".concat(t," .face")).innerText=Number(this.info[t].faceCount).toLocaleString(),document.querySelector(".".concat(t," .vertex")).innerText=Number(this.info[t].vertexCount).toLocaleString()}},{key:"update",value:function(){var t=this;this.map&&(this.clear(),this.map.getRenderManager().getRenderList().forEach(function(n,e){e=e.split("%A%B%C%D")[2];t.handleLayer(n,+e)}),this.handleTile3d())}}])&&a(n.prototype,t),i&&a(n,i),Object.defineProperty(n,"prototype",{writable:!1}),e}();function u(n){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}function l(n,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,function(n){n=function(n,e){if("object"!=u(n)||!n)return n;var t=n[Symbol.toPrimitive];if(void 0===t)return("string"===e?String:Number)(n);t=t.call(n,e||"default");if("object"!=u(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}(n,"string");return"symbol"==u(n)?n:String(n)}(i.key),i)}}var t=function(){function r(n){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},t=this,i=r;if(!(t instanceof i))throw new TypeError("Cannot call a class as a function");this.u=n,this.v=!0,this.h=void 0===e.needUpdateVertex||e.needUpdateVertex,this.g=void 0===e.needUpdateFPS||e.needUpdateFPS,this.initFPS(),this.initVertex(n),this.update=this.update.bind(this),this.visible=!0}var n,e,t;return n=r,(e=[{key:"visible",get:function(){return this.v},set:function(n){(this.v=n)?(this.u.on("update",this.update),this.S.domElement.style.top="2px",this.j.domElement.style.top="2px"):(this.u.off("update",this.update),this.S.domElement.style.top="-9999px",this.j.domElement.style.top="-9999px")}},{key:"update",value:function(){this.g&&this.S.update(),this.h&&this.j.update()}},{key:"initFPS",value:function(){this.S=new i,this.S.setMode(0),this.S.domElement.style.position="absolute",this.S.domElement.style.left="2px",document.body.appendChild(this.S.domElement)}},{key:"initVertex",value:function(n){this.j=new f(n),this.j.domElement.style.position="absolute",this.j.domElement.style.right="2px",document.body.appendChild(this.j.domElement)}}])&&l(n.prototype,e),t&&l(n,t),Object.defineProperty(n,"prototype",{writable:!1}),r}(),p=window.fengmap||{};p.FMPerformance=t,e.default=p}],i={},r.m=t,r.c=i,r.d=function(n,e,t){r.o(n,e)||Object.defineProperty(n,e,{enumerable:!0,get:t})},r.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"M",{value:!0})},r.t=function(e,n){if(1&n&&(e=r(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.M)return e;var t=Object.create(null);if(r.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var i in e)r.d(t,i,function(n){return e[n]}.bind(null,i));return t},r.n=function(n){var e=n&&n.M?function(){return n.default}:function(){return n};return r.d(e,"a",e),e},r.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},r.p="",r(r.s=0).default;function r(n){var e;return(i[n]||(e=i[n]={i:n,l:!1,exports:{}},t[n].call(e.exports,e,e.exports,r),e.l=!0,e)).exports}var t,i});