mxcad 1.0.0 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,38 @@
1
+ (function(F,y){typeof exports=="object"&&typeof module<"u"?y(exports,require("mxdraw")):typeof define=="function"&&define.amd?define(["exports","mxdraw"],y):(F=typeof globalThis<"u"?globalThis:F||self,y(F.mxcad={},F.mxdraw))})(this,function(F,y){"use strict";async function At(o,s){const n=await(await fetch(o)).arrayBuffer();return await WebAssembly.instantiate(n,s)}function Oe(o){return btoa(unescape(encodeURIComponent(o)))}function Ke(o){return decodeURIComponent(escape(atob(o)))}function Ve(o){let s=JSON.stringify(o);y.MxFun.callCommand("MxCAD_SetEntityData",s)}const Ce={b64Encode:Oe,b64Decode:Ke,setMcDbEntity:Ve},Pt=Object.freeze(Object.defineProperty({__proto__:null,fetchAndInstantiate:At,b64Encode:Oe,b64Decode:Ke,setMcDbEntity:Ve,MxTools:Ce},Symbol.toStringTag,{value:"Module"}));function vt(){var o=(()=>{var s=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(s=s||__filename),function(l){l=l||{};var n;n||(n=typeof l<"u"?l:{});var f,_;n.ready=new Promise(function(e,t){f=e,_=t});var d=Object.assign({},n),E=typeof window=="object",P=typeof importScripts=="function",g="",x,R,b,v,D,T;typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"?(g=P?xxxxx("path").dirname(g)+"/":__dirname+"/",T=()=>{D||(v=xxxxx("fs"),D=xxxxx("path"))},x=function(e,t){return T(),e=D.normalize(e),v.readFileSync(e,t?void 0:"utf8")},b=e=>(e=x(e,!0),e.buffer||(e=new Uint8Array(e)),e),R=(e,t,r)=>{T(),e=D.normalize(e),v.readFile(e,function(i,c){i?r(i):t(c.buffer)})},1<process.argv.length&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),process.on("uncaughtException",function(e){throw e}),process.on("unhandledRejection",function(e){throw e}),n.inspect=function(){return"[Emscripten Module object]"}):(E||P)&&(P?g=self.location.href:typeof document<"u"&&document.currentScript&&(g=document.currentScript.src),s&&(g=s),g=g.indexOf("blob:")!==0?g.substr(0,g.replace(/[?#].*/,"").lastIndexOf("/")+1):"",x=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},P&&(b=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),R=(e,t,r)=>{var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=()=>{i.status==200||i.status==0&&i.response?t(i.response):r()},i.onerror=r,i.send(null)});var H=n.print||console.log.bind(console),S=n.printErr||console.warn.bind(console);Object.assign(n,d),d=null;function j(e){O||(O={}),O[e]||(O[e]=1,S(e))}var O,X;n.wasmBinary&&(X=n.wasmBinary),n.noExitRuntime,typeof WebAssembly!="object"&&oe("no native wasm support detected");var V,N=!1,z=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function J(e,t,r){var i=t+r;for(r=t;e[r]&&!(r>=i);)++r;if(16<r-t&&e.buffer&&z)return z.decode(e.subarray(t,r));for(i="";t<r;){var c=e[t++];if(c&128){var u=e[t++]&63;if((c&224)==192)i+=String.fromCharCode((c&31)<<6|u);else{var a=e[t++]&63;c=(c&240)==224?(c&15)<<12|u<<6|a:(c&7)<<18|u<<12|a<<6|e[t++]&63,65536>c?i+=String.fromCharCode(c):(c-=65536,i+=String.fromCharCode(55296|c>>10,56320|c&1023))}}else i+=String.fromCharCode(c)}return i}function se(e,t){return e?J(Q,e,t):""}function pe(e,t,r,i){if(!(0<i))return 0;var c=r;i=r+i-1;for(var u=0;u<e.length;++u){var a=e.charCodeAt(u);if(55296<=a&&57343>=a){var p=e.charCodeAt(++u);a=65536+((a&1023)<<10)|p&1023}if(127>=a){if(r>=i)break;t[r++]=a}else{if(2047>=a){if(r+1>=i)break;t[r++]=192|a>>6}else{if(65535>=a){if(r+2>=i)break;t[r++]=224|a>>12}else{if(r+3>=i)break;t[r++]=240|a>>18,t[r++]=128|a>>12&63}t[r++]=128|a>>6&63}t[r++]=128|a&63}}return t[r]=0,r-c}var de,K,Q,m,he,ye;function Ge(){var e=V.buffer;de=e,n.HEAP8=K=new Int8Array(e),n.HEAP16=new Int16Array(e),n.HEAP32=m=new Int32Array(e),n.HEAPU8=Q=new Uint8Array(e),n.HEAPU16=new Uint16Array(e),n.HEAPU32=new Uint32Array(e),n.HEAPF32=he=new Float32Array(e),n.HEAPF64=ye=new Float64Array(e)}var Xe,$e=[],Ue=[],Ye=[];function Lt(){var e=n.preRun.shift();$e.unshift(e)}var ie=0,fe=null;n.preloadedImages={},n.preloadedAudios={};function oe(e){throw n.onAbort&&n.onAbort(e),e="Aborted("+e+")",S(e),N=!0,e=new WebAssembly.RuntimeError(e+". Build with -s ASSERTIONS=1 for more info."),_(e),e}function Ze(){return $.startsWith("data:application/octet-stream;base64,")}var $;if($="mxdrawassembly_min.wasm.wasm",!Ze()){var Qe=$;$=n.locateFile?n.locateFile(Qe,g):g+Qe}function Je(){var e=$;try{if(e==$&&X)return new Uint8Array(X);if(b)return b(e);throw"both async and sync fetching of the wasm failed"}catch(t){oe(t)}}function It(){if(!X&&(E||P)){if(typeof fetch=="function"&&!$.startsWith("file://"))return fetch($,{credentials:"same-origin"}).then(function(e){if(!e.ok)throw"failed to load wasm binary file at '"+$+"'";return e.arrayBuffer()}).catch(function(){return Je()});if(R)return new Promise(function(e,t){R($,function(r){e(new Uint8Array(r))},t)})}return Promise.resolve().then(function(){return Je()})}function Te(e){for(;0<e.length;){var t=e.shift();if(typeof t=="function")t(n);else{var r=t.Da;typeof r=="number"?t.da===void 0?qe(r)():qe(r)(t.da):r(t.da===void 0?null:t.da)}}}var ge=[];function qe(e){var t=ge[e];return t||(e>=ge.length&&(ge.length=e+1),ge[e]=t=Xe.get(e)),t}function et(e,t){if(0>=e)return e;var r=32>=t?Math.abs(1<<t-1):Math.pow(2,t-1);return e>=r&&(32>=t||e>r)&&(e=-2*r+e),e}function tt(e,t){return 0<=e?e:32>=t?2*Math.abs(1<<t-1)+e:Math.pow(2,t)+e}function jt(e,t){function r(U){var je=i;return(U==="double"||U==="i64")&&je&7&&(je+=4),i=je,U==="double"?(U=Number(ye[i>>3]),i+=8):U=="i64"?(U=[m[i>>2],m[i+4>>2]],i+=8):(U=m[i>>2],i+=4),U}for(var i=t,c=[],u,a;;){var p=e;if(u=K[e>>0],u===0)break;if(a=K[e+1>>0],u==37){var B=!1,A=t=!1,w=!1,te=!1;e:for(;;){switch(a){case 43:B=!0;break;case 45:t=!0;break;case 35:A=!0;break;case 48:if(w)break e;w=!0;break;case 32:te=!0;break;default:break e}e++,a=K[e+1>>0]}var k=0;if(a==42)k=r("i32"),e++,a=K[e+1>>0];else for(;48<=a&&57>=a;)k=10*k+(a-48),e++,a=K[e+1>>0];var I=!1,L=-1;if(a==46){if(L=0,I=!0,e++,a=K[e+1>>0],a==42)L=r("i32"),e++;else for(;a=K[e+1>>0],!(48>a||57<a);)L=10*L+(a-48),e++;a=K[e+1>>0]}switch(0>L&&(L=6,I=!1),String.fromCharCode(a)){case"h":if(a=K[e+2>>0],a==104){e++;var C=1}else C=2;break;case"l":a=K[e+2>>0],a==108?(e++,C=8):C=4;break;case"L":case"q":case"j":C=8;break;case"z":case"t":case"I":C=4;break;default:C=null}switch(C&&e++,a=K[e+1>>0],String.fromCharCode(a)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":p=a==100||a==105,C=C||4,u=r("i"+8*C),C==8&&(u=a==117?(u[0]>>>0)+4294967296*(u[1]>>>0):(u[0]>>>0)+4294967296*u[1]),4>=C&&(u=(p?et:tt)(u&Math.pow(256,C)-1,8*C));var re=Math.abs(u);if(p="",a==100||a==105)var M=et(u,8*C).toString(10);else if(a==117)M=tt(u,8*C).toString(10),u=Math.abs(u);else if(a==111)M=(A?"0":"")+re.toString(8);else if(a==120||a==88){if(p=A&&u!=0?"0x":"",0>u){for(u=-u,M=(re-1).toString(16),re=[],A=0;A<M.length;A++)re.push((15-parseInt(M[A],16)).toString(16));for(M=re.join("");M.length<2*C;)M="f"+M}else M=re.toString(16);a==88&&(p=p.toUpperCase(),M=M.toUpperCase())}else a==112&&(re===0?M="(nil)":(p="0x",M=re.toString(16)));if(I)for(;M.length<L;)M="0"+M;for(0<=u&&(B?p="+"+p:te&&(p=" "+p)),M.charAt(0)=="-"&&(p="-"+p,M=M.substr(1));p.length+M.length<k;)t?M+=" ":w?M="0"+M:p=" "+p;M=p+M,M.split("").forEach(function(U){c.push(U.charCodeAt(0))});break;case"f":case"F":case"e":case"E":case"g":case"G":if(u=r("double"),isNaN(u))M="nan",w=!1;else if(isFinite(u)){if(I=!1,C=Math.min(L,20),(a==103||a==71)&&(I=!0,L=L||1,C=parseInt(u.toExponential(C).split("e")[1],10),L>C&&-4<=C?(a=(a==103?"f":"F").charCodeAt(0),L-=C+1):(a=(a==103?"e":"E").charCodeAt(0),L--),C=Math.min(L,20)),a==101||a==69?(M=u.toExponential(C),/[eE][-+]\d$/.test(M)&&(M=M.slice(0,-1)+"0"+M.slice(-1))):(a==102||a==70)&&(M=u.toFixed(C),u===0&&(0>u||u===0&&1/u===-1/0)&&(M="-"+M)),p=M.split("e"),I&&!A)for(;1<p[0].length&&p[0].includes(".")&&(p[0].slice(-1)=="0"||p[0].slice(-1)==".");)p[0]=p[0].slice(0,-1);else for(A&&M.indexOf(".")==-1&&(p[0]+=".");L>C++;)p[0]+="0";M=p[0]+(1<p.length?"e"+p[1]:""),a==69&&(M=M.toUpperCase()),0<=u&&(B?M="+"+M:te&&(M=" "+M))}else M=(0>u?"-":"")+"inf",w=!1;for(;M.length<k;)M=t?M+" ":!w||M[0]!="-"&&M[0]!="+"?(w?"0":" ")+M:M[0]+"0"+M.slice(1);97>a&&(M=M.toUpperCase()),M.split("").forEach(function(U){c.push(U.charCodeAt(0))});break;case"s":if(w=(B=r("i8*"))?yt(B):6,I&&(w=Math.min(w,L)),!t)for(;w<k--;)c.push(32);if(B)for(A=0;A<w;A++)c.push(Q[B++>>0]);else c=c.concat(ut("(null)".substr(0,w),!0));if(t)for(;w<k--;)c.push(32);break;case"c":for(t&&c.push(r("i8"));0<--k;)c.push(32);t||c.push(r("i8"));break;case"n":t=r("i32*"),m[t>>2]=c.length;break;case"%":c.push(u);break;default:for(A=p;A<e+2;A++)c.push(K[A>>0])}e+=2}else c.push(u),e+=1}return c}function Fe(e){if(!e||!e.callee||!e.callee.name)return[null,"",""];var t=e.callee.name,r="(",i=!0,c;for(c in e){var u=e[c];i||(r+=", "),i=!1,r=typeof u=="number"||typeof u=="string"?r+u:r+("("+typeof u+")")}return r+=")",e=(e=e.callee.caller)?e.arguments:[],i&&(r=""),[e,t,r]}function Ot(e){e:{var t=Error();if(!t.stack){try{throw Error()}catch(L){t=L}if(!t.stack){t="(no stack trace available)";break e}}t=t.stack.toString()}t=t.slice(t.indexOf(`
2
+ `,Math.max(t.lastIndexOf("_emscripten_log"),t.lastIndexOf("_emscripten_get_callstack")))+1),e&32&&j("EM_LOG_DEMANGLE is deprecated; ignoring"),e&8&&typeof emscripten_source_map>"u"&&(j('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.'),e=e^8|16);var r=null;if(e&128)for(r=Fe(arguments);r[1].includes("_emscripten_");)r=Fe(r[0]);var i=t.split(`
3
+ `);t="";var c=RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)"),u=RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?"),a=RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)"),p;for(p in i){var B=i[p],A;if((A=a.exec(B))&&A.length==5){B=A[1];var w=A[2],te=A[3];A=A[4]}else if((A=c.exec(B))||(A=u.exec(B)),A&&4<=A.length)B=A[1],w=A[2],te=A[3],A=A[4]|0;else{t+=B+`
4
+ `;continue}var k=!1;if(e&8){var I=emscripten_source_map.Ia({line:te,ua:A});(k=I&&I.source)&&(e&64&&(I.source=I.source.substring(I.source.replace(/\\/g,"/").lastIndexOf("/")+1)),t+=" at "+B+" ("+I.source+":"+I.line+":"+I.ua+`)
5
+ `)}(e&16||!k)&&(e&64&&(w=w.substring(w.replace(/\\/g,"/").lastIndexOf("/")+1)),t+=(k?" = "+B:" at "+B)+" ("+w+":"+te+":"+A+`)
6
+ `),e&128&&r[0]&&(r[1]==B&&0<r[2].length&&(t=t.replace(/\s+$/,""),t+=" with values: "+r[1]+r[2]+`
7
+ `),r=Fe(r[0]))}return t=t.replace(/\s+$/,"")}function Kt(e){var t=e.getExtension("ANGLE_instanced_arrays");t&&(e.vertexAttribDivisor=function(r,i){t.vertexAttribDivisorANGLE(r,i)},e.drawArraysInstanced=function(r,i,c,u){t.drawArraysInstancedANGLE(r,i,c,u)},e.drawElementsInstanced=function(r,i,c,u,a){t.drawElementsInstancedANGLE(r,i,c,u,a)})}function Vt(e){var t=e.getExtension("OES_vertex_array_object");t&&(e.createVertexArray=function(){return t.createVertexArrayOES()},e.deleteVertexArray=function(r){t.deleteVertexArrayOES(r)},e.bindVertexArray=function(r){t.bindVertexArrayOES(r)},e.isVertexArray=function(r){return t.isVertexArrayOES(r)})}function kt(e){var t=e.getExtension("WEBGL_draw_buffers");t&&(e.drawBuffers=function(r,i){t.drawBuffersWEBGL(r,i)})}var nt=1,Ee=[],q=[],ee=[],Se=[],rt=[1,1,2,2,4,4,4,2,3,4,8];function ue(e){_e||(_e=e)}function Me(e){for(var t=nt++,r=e.length;r<t;r++)e[r]=null;return t}function We(e){return 32-Math.clz32(e===0?0:e-1)}function Ht(e,t){e.fa||(e.fa=e.getContext,e.getContext=function(i,c){return(c=e.fa(i,c))||(c=e.fa(i)),i=="webgl"==c instanceof WebGLRenderingContext?c:null});var r=1<t.na?e.getContext("webgl2",t):e.getContext("webgl",t);return r?Nt(r,t):0}function Nt(e,t){var r=Me(Se),i={Ea:r,attributes:t,version:t.na,ba:e};for(e.canvas&&(e.canvas.ya=i),Se[r]=i,(typeof t.ma>"u"||t.ma)&&zt(i),i.oa=i.ba.getParameter(34921),i.X=[],e=0;e<i.oa;e++)i.X[e]={enabled:!1,ea:!1,size:0,type:0,pa:0,ga:0,R:0,ta:null};for(e=We(2097152),i.U=[],i.qa=[],i.U.length=i.qa.length=e+1,i.aa=[],i.ha=[],i.aa.length=i.ha.length=e+1,i.S=[],i.S.length=e+1,t=0;t<=e;++t){i.S[t]=null,i.U[t]=i.qa[t]=0,i.aa[t]=[],i.ha[t]=[];var c=i.aa[t],u=i.ha[t];c.length=u.length=64;for(var a=0;64>a;++a)c[a]=u[a]=null}return r}function zt(e){if(e||(e=W),!e.xa){e.xa=!0;var t=e.ba;Kt(t),Vt(t),kt(t),t.Ca=t.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"),t.Fa=t.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"),2<=e.version&&(t.la=t.getExtension("EXT_disjoint_timer_query_webgl2")),(2>e.version||!t.la)&&(t.la=t.getExtension("EXT_disjoint_timer_query")),t.Ha=t.getExtension("WEBGL_multi_draw"),(t.getSupportedExtensions()||[]).forEach(function(r){r.includes("lose_context")||r.includes("debug")||t.getExtension(r)})}}var _e,W,Le,Gt=["default","low-power","high-performance"],Xt=[0,typeof document<"u"?document:0,typeof window<"u"?window:0];function it(e){return e.slice(-1)=="]"&&e.lastIndexOf("[")}function ot(e){var t=h.va;if(t){var r=t.V[e];return typeof r=="number"&&(t.V[e]=r=h.getUniformLocation(t,t.ra[e]+(0<r?"["+r+"]":""))),r}ue(1282)}for(var st=[],h,$t=new Float32Array(288),Ae=0;288>Ae;++Ae)st[Ae]=$t.subarray(0,Ae+1);function ut(e,t){for(var r=0,i=0;i<e.length;++i){var c=e.charCodeAt(i);55296<=c&&57343>=c&&(c=65536+((c&1023)<<10)|e.charCodeAt(++i)&1023),127>=c?++r:r=2047>=c?r+2:65535>=c?r+3:r+4}return r=Array(r+1),e=pe(e,r,0,r.length),t&&(r.length=e),r}var Ut={c:function(){oe("")},a:function(e,t,r){t=jt(t,r),t=J(t,0),e&24&&(t=t.replace(/\s+$/,""),t+=(0<t.length?`
8
+ `:"")+Ot(e)),e&1?e&4?console.error(t):e&2?console.warn(t):e&512?console.info(t):e&256?console.debug(t):console.log(t):e&6?S(t):H(t)},o:function(e,t,r){Q.copyWithin(e,t,t+r)},n:function(e){var t=Q.length;if(e>>>=0,2147483648<e)return!1;for(var r=1;4>=r;r*=2){var i=t*(1+.2/r);i=Math.min(i,e+100663296);var c=Math;i=Math.max(e,i),c=c.min.call(c,2147483648,i+(65536-i%65536)%65536);e:{try{V.grow(c-de.byteLength+65535>>>16),Ge();var u=1;break e}catch{}u=void 0}if(u)return!0}return!1},k:function(e,t){return t>>=2,t={alpha:!!m[t+0],depth:!!m[t+1],stencil:!!m[t+2],antialias:!!m[t+3],premultipliedAlpha:!!m[t+4],preserveDrawingBuffer:!!m[t+5],powerPreference:Gt[m[t+6]],failIfMajorPerformanceCaveat:!!m[t+7],na:m[t+8],Ga:m[t+9],ma:m[t+10],wa:m[t+11],Ja:m[t+12],Ka:m[t+13]},e=2<e?se(e):e,e=Xt[e]||(typeof document<"u"?document.querySelector(e):void 0),!e||t.wa?0:Ht(e,t)},e:function(e){return W=Se[e],n.za=h=W&&W.ba,!e||h?0:-5},d:function(e,t){h.attachShader(q[e],ee[t])},A:function(e,t,r){h.bindAttribLocation(q[e],t,se(r))},b:function(e,t){e==34962?h.ja=t:e==34963&&(h.ka=t),e==35051?h.Aa=t:e==35052&&(h.Ba=t),h.bindBuffer(e,Ee[t])},f:function(e,t,r,i){2<=W.version?r?h.bufferData(e,Q,i,r,t):h.bufferData(e,t,i):h.bufferData(e,r?Q.subarray(r,r+t):t,i)},v:function(e){h.clear(e)},w:function(e,t,r,i){h.clearColor(e,t,r,i)},t:function(e){h.compileShader(ee[e])},j:function(){var e=Me(q),t=h.createProgram();return t.name=e,t.$=t.Y=t.Z=0,t.ia=1,q[e]=t,e},C:function(e){var t=Me(ee);return ee[t]=h.createShader(e),t},q:function(e,t,r,i){if(!h.ka){var c=1*rt[r-5120]*t,u=We(c),a=W.S[u];a?u=a:(a=h.getParameter(34965),W.S[u]=h.createBuffer(),h.bindBuffer(34963,W.S[u]),h.bufferData(34963,1<<u,35048),h.bindBuffer(34963,a),u=W.S[u]),h.bindBuffer(34963,u),h.bufferSubData(34963,0,Q.subarray(i,i+c)),i=0}for(Le=!1,c=0;c<W.oa;++c)if(u=W.X[c],u.ea&&u.enabled){Le=!0,a=u.ga,a=0<a?t*a:u.size*rt[u.type-5120]*t;var p=We(a),B=W.aa[p],A=W.U[p];W.U[p]=W.U[p]+1&63;var w=B[A];w?p=w:(w=h.getParameter(34964),B[A]=h.createBuffer(),h.bindBuffer(34962,B[A]),h.bufferData(34962,1<<p,35048),h.bindBuffer(34962,w),p=B[A]),h.bindBuffer(34962,p),h.bufferSubData(34962,0,Q.subarray(u.R,u.R+a)),u.ta.call(h,c,u.size,u.type,u.pa,u.ga,0)}h.drawElements(e,t,r,i),Le&&h.bindBuffer(34962,Ee[h.ja]),h.ka||h.bindBuffer(34963,null)},s:function(e){W.X[e].enabled=!0,h.enableVertexAttribArray(e)},g:function(e,t){for(var r=0;r<e;r++){var i=h.createBuffer(),c=i&&Me(Ee);i?(i.name=c,Ee[c]=i):ue(1282),m[t+4*r>>2]=c}},p:function(){var e=h.getError()||_e;return _e=0,e},x:function(e,t,r){if(r)if(e>=nt)ue(1281);else if(e=q[e],t==35716)e=h.getProgramInfoLog(e),e===null&&(e="(unknown error)"),m[r>>2]=e.length+1;else if(t==35719){if(!e.$)for(t=0;t<h.getProgramParameter(e,35718);++t)e.$=Math.max(e.$,h.getActiveUniform(e,t).name.length+1);m[r>>2]=e.$}else if(t==35722){if(!e.Y)for(t=0;t<h.getProgramParameter(e,35721);++t)e.Y=Math.max(e.Y,h.getActiveAttrib(e,t).name.length+1);m[r>>2]=e.Y}else if(t==35381){if(!e.Z)for(t=0;t<h.getProgramParameter(e,35382);++t)e.Z=Math.max(e.Z,h.getActiveUniformBlockName(e,t).length+1);m[r>>2]=e.Z}else m[r>>2]=h.getProgramParameter(e,t);else ue(1281)},l:function(e,t,r,i){e=h.getShaderInfoLog(ee[e]),e===null&&(e="(unknown error)"),t=0<t&&i?pe(e,Q,i,t):0,r&&(m[r>>2]=t)},m:function(e,t,r){r?t==35716?(e=h.getShaderInfoLog(ee[e]),e===null&&(e="(unknown error)"),m[r>>2]=e?e.length+1:0):t==35720?(e=h.getShaderSource(ee[e]),m[r>>2]=e?e.length+1:0):m[r>>2]=h.getShaderParameter(ee[e],t):ue(1281)},i:function(e,t){if(t=se(t),e=q[e]){var r=e,i=r.V,c=r.sa,u;if(!i)for(r.V=i={},r.ra={},u=0;u<h.getProgramParameter(r,35718);++u){var a=h.getActiveUniform(r,u),p=a.name;a=a.size;var B=it(p);B=0<B?p.slice(0,B):p;var A=r.ia;for(r.ia+=a,c[B]=[a,A],p=0;p<a;++p)i[A]=p,r.ra[A++]=B}if(r=e.V,i=0,c=t,u=it(t),0<u&&(i=parseInt(t.slice(u+1))>>>0,c=t.slice(0,u)),(c=e.sa[c])&&i<c[0]&&(i+=c[1],r[i]=r[i]||h.getUniformLocation(e,t)))return i}else ue(1281);return-1},z:function(e){e=q[e],h.linkProgram(e),e.V=0,e.sa={}},B:function(e,t,r,i){for(var c="",u=0;u<t;++u){var a=i?m[i+4*u>>2]:-1;c+=se(m[r+4*u>>2],0>a?void 0:a)}h.shaderSource(ee[e],c)},h:function(e,t,r,i){if(2<=W.version)h.uniformMatrix4fv(ot(e),!!r,he,i>>2,16*t);else{if(18>=t){var c=st[16*t-1],u=he;i>>=2;for(var a=0;a<16*t;a+=16){var p=i+a;c[a]=u[p],c[a+1]=u[p+1],c[a+2]=u[p+2],c[a+3]=u[p+3],c[a+4]=u[p+4],c[a+5]=u[p+5],c[a+6]=u[p+6],c[a+7]=u[p+7],c[a+8]=u[p+8],c[a+9]=u[p+9],c[a+10]=u[p+10],c[a+11]=u[p+11],c[a+12]=u[p+12],c[a+13]=u[p+13],c[a+14]=u[p+14],c[a+15]=u[p+15]}}else c=he.subarray(i>>2,i+64*t>>2);h.uniformMatrix4fv(ot(e),!!r,c)}},u:function(e){e=q[e],h.useProgram(e),h.va=e},y:function(e){h.validateProgram(q[e])},r:function(e,t,r,i,c,u){var a=W.X[e];h.ja?(a.ea=!1,h.vertexAttribPointer(e,t,r,!!i,c,u)):(a.size=t,a.type=r,a.pa=i,a.ga=c,a.R=u,a.ea=!0,a.ta=function(p,B,A,w,te,k){this.vertexAttribPointer(p,B,A,w,te,k)})}};(function(){function e(c){n.asm=c.exports,V=n.asm.D,Ge(),Xe=n.asm.M,Ue.unshift(n.asm.E),ie--,n.monitorRunDependencies&&n.monitorRunDependencies(ie),ie==0&&fe&&(c=fe,fe=null,c())}function t(c){e(c.instance)}function r(c){return It().then(function(u){return WebAssembly.instantiate(u,i)}).then(function(u){return u}).then(c,function(u){S("failed to asynchronously prepare wasm: "+u),oe(u)})}var i={a:Ut};if(ie++,n.monitorRunDependencies&&n.monitorRunDependencies(ie),n.instantiateWasm)try{return n.instantiateWasm(i,e)}catch(c){return S("Module.instantiateWasm callback failed with error: "+c),!1}return function(){return X||typeof WebAssembly.instantiateStreaming!="function"||Ze()||$.startsWith("file://")||typeof fetch!="function"?r(t):fetch($,{credentials:"same-origin"}).then(function(c){return WebAssembly.instantiateStreaming(c,i).then(t,function(u){return S("wasm streaming compile failed: "+u),S("falling back to ArrayBuffer instantiation"),r(t)})})}().catch(_),{}})(),n.___wasm_call_ctors=function(){return(n.___wasm_call_ctors=n.asm.E).apply(null,arguments)};var at=n._emscripten_bind_VoidPtr___destroy___0=function(){return(at=n._emscripten_bind_VoidPtr___destroy___0=n.asm.F).apply(null,arguments)},ct=n._emscripten_bind_McObject_updateDisplay_2=function(){return(ct=n._emscripten_bind_McObject_updateDisplay_2=n.asm.G).apply(null,arguments)},lt=n._emscripten_bind_McObject_test_0=function(){return(lt=n._emscripten_bind_McObject_test_0=n.asm.H).apply(null,arguments)},ft=n._emscripten_bind_McApp_McApp_0=function(){return(ft=n._emscripten_bind_McApp_McApp_0=n.asm.I).apply(null,arguments)},pt=n._emscripten_bind_McApp_Init_0=function(){return(pt=n._emscripten_bind_McApp_Init_0=n.asm.J).apply(null,arguments)},dt=n._emscripten_bind_McApp_CreateMxDraw_3=function(){return(dt=n._emscripten_bind_McApp_CreateMxDraw_3=n.asm.K).apply(null,arguments)},ht=n._emscripten_bind_McApp___destroy___0=function(){return(ht=n._emscripten_bind_McApp___destroy___0=n.asm.L).apply(null,arguments)},yt=n._strlen=function(){return(yt=n._strlen=n.asm.N).apply(null,arguments)};n._malloc=function(){return(n._malloc=n.asm.O).apply(null,arguments)},n._free=function(){return(n._free=n.asm.P).apply(null,arguments)};var Pe;fe=function e(){Pe||Ie(),Pe||(fe=e)};function Ie(){function e(){if(!Pe&&(Pe=!0,n.calledRun=!0,!N)){if(Te(Ue),f(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),n.postRun)for(typeof n.postRun=="function"&&(n.postRun=[n.postRun]);n.postRun.length;){var t=n.postRun.shift();Ye.unshift(t)}Te(Ye)}}if(!(0<ie)){if(n.preRun)for(typeof n.preRun=="function"&&(n.preRun=[n.preRun]);n.preRun.length;)Lt();Te($e),0<ie||(n.setStatus?(n.setStatus("Running..."),setTimeout(function(){setTimeout(function(){n.setStatus("")},1),e()},1)):e())}}if(n.run=Ie,n.preInit)for(typeof n.preInit=="function"&&(n.preInit=[n.preInit]);0<n.preInit.length;)n.preInit.pop()();Ie();function G(){}G.prototype=Object.create(G.prototype),G.prototype.constructor=G,G.prototype.T=G,G.W={},n.WrapperObject=G;function ve(e){return(e||G).W}n.getCache=ve;function xe(e,t){var r=ve(t),i=r[e];return i||(i=Object.create((t||G).prototype),i.R=e,r[e]=i)}n.wrapPointer=xe,n.castObject=function(e,t){return xe(e.R,t)},n.NULL=xe(0),n.destroy=function(e){if(!e.__destroy__)throw"Error: Cannot destroy object. (Did you create it yourself?)";e.__destroy__(),delete ve(e.T)[e.R]},n.compare=function(e,t){return e.R===t.R},n.getPointer=function(e){return e.R},n.getClass=function(e){return e.T};var ae=0,De=0,me=0,Be=[],we=0;function gt(){if(we){for(var e=0;e<Be.length;e++)n._free(Be[e]);Be.length=0,n._free(ae),ae=0,De+=we,we=0}ae||(De+=128,(ae=n._malloc(De))||oe(void 0)),me=0}function Et(e,t){return ae||oe(void 0),e=e.length*t.BYTES_PER_ELEMENT,e=e+7&-8,me+e>=De?(0<e||oe(void 0),we+=e,t=n._malloc(e),Be.push(t)):(t=ae+me,me+=e),t}function Mt(e,t,r){switch(r>>>=0,t.BYTES_PER_ELEMENT){case 2:r>>>=1;break;case 4:r>>>=2;break;case 8:r>>>=3}for(var i=0;i<e.length;i++)t[r+i]=e[i]}function _t(e){if(typeof e=="object"){var t=Et(e,ye);return Mt(e,ye,t),t}return e}function ne(){throw"cannot construct a VoidPtr, no constructor in IDL"}ne.prototype=Object.create(G.prototype),ne.prototype.constructor=ne,ne.prototype.T=ne,ne.W={},n.VoidPtr=ne,ne.prototype.__destroy__=function(){at(this.R)};function Y(){throw"cannot construct a McObject, no constructor in IDL"}Y.prototype=Object.create(G.prototype),Y.prototype.constructor=Y,Y.prototype.T=Y,Y.W={},n.McObject=Y,Y.prototype.updateDisplay=function(e,t){var r=this.R;return gt(),typeof e=="object"&&(e=_t(e)),typeof t=="object"&&(t=_t(t)),!!ct(r,e,t)},Y.prototype.test=Y.prototype.test=function(){lt(this.R)};function Z(){this.R=ft(),ve(Z)[this.R]=this}return Z.prototype=Object.create(G.prototype),Z.prototype.constructor=Z,Z.prototype.T=Z,Z.W={},n.McApp=Z,Z.prototype.Init=function(){pt(this.R)},Z.prototype.CreateMxDraw=function(e,t,r){var i=this.R;if(gt(),e&&typeof e=="object"&&(e=e.R),t&&typeof t=="object"&&(t=t.R),r&&typeof r=="object")r=r.R;else if(typeof r=="string"){r=ut(r);var c=Et(r,K);Mt(r,K,c),r=c}return xe(dt(i,e,t,r),Y)},Z.prototype.__destroy__=function(){ht(this.R)},l.ready}})();return typeof F=="object"&&typeof module=="object"?module.exports=o:typeof define=="function"&&define.amd?define([],function(){return o}):typeof F=="object"&&(F.mxdrawassembly=o),o()}async function xt(){const o=new y.MrxDbgUiPrPoint;o.setMessage(`
9
+ \u6307\u5B9A\u63D2\u5165\u4F4D\u7F6E:`);let s=await o.go();if(s==null)return;let l="\u6D4B\u8BD5";if(l.length<=0)return;let n=y.MxFun.screenCoordLong2Doc(50);l=Ce.b64Encode(l);const f={postx:s.x,posty:s.y,text:l,height:n};y.MxFun.call("Mx_Text",f)}class Dt extends y.MxDbCircleShape{getGripPoints(){const{x:s,y:l,z:n}=this.center;let f=new THREE.Vector3(s,l+this.radius,n),_=new THREE.Vector3(s,l-this.radius,n),d=new THREE.Vector3(s-this.radius,l,n),E=new THREE.Vector3(s+this.radius,l,n);return[this.center,f,_,d,E]}moveGripPointsAt(s,l){const[n,f,_,d,E]=this.getGripPoints();return s===0&&(this.center=n.add(l)),s===1&&(this.radius=f.add(l).distanceTo(this.center)),s===2&&(this.radius=_.add(l).distanceTo(this.center)),s===3&&(this.radius=d.add(l).distanceTo(this.center)),s===4&&(this.radius=E.add(l).distanceTo(this.center)),!0}}const ke=o=>{const[s,l,n]=o,{x:f,y:_,z:d}=s,{x:E,y:P,z:g}=l,{x,y:R,z:b}=n,v=_*g-P*d-_*b+R*d+P*b-R*g,D=-(f*g-E*d-f*b+x*d+E*b-x*g),T=f*P-E*_-f*R+x*_+E*R-x*P,H=-(f*P*b-f*R*g-E*_*b+E*R*d+x*_*g-x*P*d),S=2*(E-f),j=2*(P-_),O=2*(g-d),X=f*f+_*_+d*d-E*E-P*P-g*g,V=2*(x-f),N=2*(R-_),z=2*(b-d),J=f*f+_*_+d*d-x*x-R*R-b*b,se=-(D*O*J-D*z*X-j*T*J+j*z*H+N*T*X-N*O*H)/(v*j*z-v*N*O-S*D*z+S*N*T+V*D*O-V*j*T),pe=(v*O*J-v*z*X-S*T*J+S*z*H+V*T*X-V*O*H)/(v*j*z-v*N*O-S*D*z+S*N*T+V*D*O-V*j*T),de=-(v*j*J-v*N*X-S*D*J+S*N*H+V*D*X-V*j*H)/(v*j*z-v*N*O-S*D*z+S*N*T+V*D*O-V*j*T);return new THREE.Vector3(se,pe,de)};function He(){const o=new y.MrxDbgUiPrPoint;let s=new Dt;y.MxPaintBrush.use(s),s.closed=!1;let l=0,n="default",f=!0;const _=()=>{o.setUserDraw((v,D)=>{s.radius=f?s.center.distanceTo(v):s.center.distanceTo(v)/2,D.drawCustomEntity(s),D.drawLine(s.center,v)})},d=v=>{if(n==="default"){if(v===y.MrxDbgUiPrBaseReturn.kOk){if(l===0)o.setMessage(`
10
+ \u6307\u5B9A\u5706\u7684\u534A\u5F84:`),o.setKeyWords("[\u76F4\u5F84(D)]"),s.center=o.value(),_();else if(l===1)return y.MxFun.getCurrentDraw().addMxEntity(s),!0;l++}v===y.MrxDbgUiPrBaseReturn.kKeyWord&&o.isKeyWordPicked("D")&&(f=!1,_(),o.setMessage(`
11
+ \u6307\u5B9A\u5706\u7684\u76F4\u5F84:`),o.setKeyWords(""))}};let E=[];const P=v=>{if(n==="3P"&&(o.setMessage(`
12
+ \u6307\u5B9A\u5706\u4E0A\u7684\u7B2C\u4E00\u4E2A\u70B9:`),v===y.MrxDbgUiPrBaseReturn.kOk)){if(l===0&&(E.push(o.value()),o.setUserDraw((D,T)=>{T.drawLine(E[0],D)}),o.setMessage(`
13
+ \u6307\u5B9A\u5706\u4E0A\u7684\u7B2C\u4E8C\u4E2A\u70B9:`)),l===1&&(E.push(o.value()),o.setUserDraw((D,T)=>{const[H,S]=E,j=D;s.center=ke([H,S,j]),s.radius=s.center.distanceTo(H),T.drawCustomEntity(s)}),o.setMessage(`
14
+ \u6307\u5B9A\u5706\u4E0A\u7684\u7B2C\u4E09\u4E2A\u70B9:`)),l===2)return E.push(o.value()),s.center=ke(E),s.radius=s.center.distanceTo(E[0]),y.MxFun.getCurrentDraw().addMxEntity(s),!0;l++}};let g;const x=(v,D)=>{new THREE.Line3(v,D).getCenter(s.center),s.radius=D.distanceTo(v)/2},R=v=>{if(n==="2P"&&(o.setMessage(`
15
+ \u6307\u5B9A\u5706\u76F4\u5F84\u7684\u7B2C\u4E00\u4E2A\u7AEF\u70B9:`),v===y.MrxDbgUiPrBaseReturn.kOk)){if(l===0&&(g=o.value(),o.setUserDraw((D,T)=>{x(g,D),T.drawCustomEntity(s),T.drawLine(g,D)}),o.setMessage(`
16
+ \u6307\u5B9A\u5706\u76F4\u5F84\u7684\u7B2C\u4E8C\u4E2A\u7AEF\u70B9:`)),l===1)return x(g,o.value()),y.MxFun.getCurrentDraw().addMxEntity(s),!0;l++}},b=v=>{if(n==="T"){if(o.setMessage(`
17
+ \u6307\u5B9A\u5BF9\u8C61\u4E0E\u5706\u7684\u7B2C\u4E00\u4E2A\u5207\u70B9:`),v===y.MrxDbgUiPrBaseReturn.kOk){if(l===0){const D=o.value();console.log(D),y.MxFun.getCurrentDraw()}l++}return!0}};o.setMessage(`
18
+ \u6307\u5B9A\u5706\u7684\u5706\u5FC3\u6216[\u4E09\u70B9(3P)/\u4E24\u70B9(2P)/\u5207\u70B9\u3001\u5207\u70B9\u3001\u534A\u5F84(T)]:`),o.setKeyWords("3P 2P T"),o.goWhile(v=>{if(v===y.MrxDbgUiPrBaseReturn.kKeyWord&&(o.isKeyWordPicked("3P")?n="3P":o.isKeyWordPicked("2P")?n="2P":o.isKeyWordPicked("T")&&(n="T")),d(v))return{exit:!0};if(P(v))return{exit:!0};if(R(v))return{exit:!0};if(b(v))return{exit:!0}},v=>{v===y.MrxDbgUiPrBaseReturn.kCancel&&y.MxFun.getCurrentDraw().addMxEntity(s)})}y.store.events.on("MxDbEntityRegister",()=>{y.MxFun.addCommand("Mx_Circle",He)});const Ne=()=>y.store.state.MxFun.stopRunCommand();function ce(o,s,l,n){const f=o-l,_=s-n;let d=0;return f==0?d=Math.PI/2:d=Math.atan(Math.abs(_/f)),f<0&&_>=0?d=Math.PI-d:f<0&&_<0?d=Math.PI+d:f>=0&&_<0&&(d=Math.PI*2-d),d}async function ze(){const o=new y.MrxDbgUiPrPoint;let s=new y.MxDbLine,l=[];o.setMessage(`
19
+ \u6307\u5B9A\u7B2C\u4E00\u70B9:`);let n=await o.go();o.setUserDraw((_,d)=>{l.forEach(E=>{d.drawCustomEntity(E)}),d.drawLine(n,_)});const f=()=>{o.setMessage(`
20
+ \u6307\u5B9A\u4E0B\u4E00\u4E2A\u70B9:`),l.length>1?o.setKeyWords("[\u9000\u51FA(E)/\u95ED\u5408(C)/\u653E\u5F03(U)]"):o.setKeyWords("[\u9000\u51FA(E)/\u653E\u5F03(U)]")};f(),o.goWhile(_=>{if(_===y.MrxDbgUiPrBaseReturn.kOk&&(s=new y.MxDbLine,y.MxPaintBrush.use(s),s.pt1=n,s.pt2=o.value(),n=s.pt2.clone(),l.push(s),f()),_===y.MrxDbgUiPrBaseReturn.kKeyWord)if(o.isKeyWordPicked("E"))Ne();else if(o.isKeyWordPicked("C")){const d=new y.MxDbLine;return d.pt1=n.clone(),d.pt2=l[0].pt1.clone(),y.MxPaintBrush.use(d),l.push(d),n=d.pt2.clone(),Ne(),{exit:!0}}else o.isKeyWordPicked("U")&&l.length>0&&(n=l.pop()?.pt1.clone())},_=>{if(_===y.MrxDbgUiPrBaseReturn.kCancel)return l.forEach(d=>{y.MxFun.getCurrentDraw().addMxEntity(d)}),{exit:!0}})}y.store.events.on("MxDbEntityRegister",()=>{y.MxFun.addCommand("Mx_Line",ze)});async function mt(){const o=new y.MrxDbgUiPrPoint;o.setMessage(`
21
+ \u6307\u5B9A\u63D2\u5165\u4F4D\u7F6E:`);let s=await o.go();if(s==null)return;let l=`\u6D4B\u8BD5
22
+ \u6D4B\u8BD5`;if(l.length<=0)return;let n=y.MxFun.screenCoordLong2Doc(50);l=Ce.b64Encode(l);const f={postx:s.x,posty:s.y,text:l,height:n};y.MxFun.call("Mx_MText",f)}async function Bt(){const o=new y.MrxDbgUiPrPoint,s=new y.MxDbPolyline;y.MxPaintBrush.use(s),o.setMessage(`
23
+ \u6307\u5B9A\u8D77\u70B9:`);let l;o.setUserDraw((n,f)=>{f.drawCustomEntity(s),l&&f.drawLine(l,n)}),o.goWhile(n=>{if(n===y.MrxDbgUiPrBaseReturn.kOk){const f=o.value();s.points.push(o.value()),l=f,o.setMessage(`
24
+ \u6307\u5B9A\u4E0B\u4E00\u4E2A\u70B9:`),o.setKeyWords("[\u5706\u5F27(A)/\u5BBD\u5EA6(W)]")}else n===y.MrxDbgUiPrBaseReturn.kKeyWord&&(o.isKeyWordPicked("A"),o.isKeyWordPicked("W"))},n=>{n===y.MrxDbgUiPrBaseReturn.kCancel&&y.MxFun.getCurrentDraw().addMxEntity(s)})}async function wt(){const o=new y.MrxDbgUiPrPoint;let s=new y.MxDbRegularPolygon;y.MxPaintBrush.use(s),o.setMessage(`
25
+ \u8F93\u5165\u8FB9\u7684\u6570\u76EE<5>:`);let l=3,n=[l];for(;l<25;)n.push(l++);o.setKeyWords(n.join(" "));let f=0;o.goWhile(_=>{if(_===y.MrxDbgUiPrBaseReturn.kOk)if(f===1)s.centerPoint=o.value(),o.setMessage(`
26
+ [\u5185\u63A5\u4E8E\u5706(I)/\u5916\u5207\u4E8E\u5706(C)]<\u5916\u5207>:`),o.setKeyWords("I C");else if(f===2)o.setMessage(`
27
+ \u6307\u5B9A\u8FB9\u7684\u7B2C\u4E8C\u4E2A\u7AEF\u70B9:`),f++;else{if(f===3)return o.setMessage(`
28
+ \u6307\u5B9A\u8FB9\u7684\u7B2C\u4E8C\u4E2A\u7AEF\u70B9:`),{exit:!0};if(f===4)return s.otherPoint=o.value(),y.MxFun.getCurrentDraw().addMxEntity(s),{exit:!0};f===5&&o.setMessage(`
29
+ \u5916\u5207\u4E8E\u5706(C)\u65E0\u6CD5\u7ED8\u5236:`)}if(_===y.MrxDbgUiPrBaseReturn.kKeyWord){const d=o.keyWordPicked(),E=Number(d);!Number.isNaN(E)&&f===0&&(s.sidesNumber=E,o.setMessage(`
30
+ \u6307\u5B9A\u6B63\u591A\u8FB9\u5F62\u7684\u4E2D\u5FC3\u70B9\u6216 [\u8FB9(E)]:`),o.setKeyWords("E"),f++),f===1&&(o.isKeyWordPicked("E")&&(o.setMessage(`
31
+ \u6307\u5B9A\u8FB9\u7684\u7B2C\u4E00\u4E2A\u7AEF\u70B9:`),f++),o.isKeyWordPicked("I")?(o.setUserDraw((P,g)=>{s.otherPoint=P,g.drawCustomEntity(s)}),o.setMessage(`
32
+ \u6307\u5B9A\u5706\u7684\u534A\u5F84:`),f++,f++,f++):o.isKeyWordPicked("C")&&(o.setMessage(`
33
+ \u5916\u5207\u4E8E\u5706(C)\u65E0\u6CD5\u7ED8\u5236:`),f++,f++,f++,f++))}})}function Ct(o,s,l){const n=o.x,f=s.x,_=l.x,d=o.y,E=s.y,P=l.y,g=n-f,x=d-E,R=n-_,b=d-P,v=(n*n-f*f+(d*d-E*E))/2,D=(n*n-_*_+(d*d-P*P))/2,T=x*R-g*b,H=-(b*v-x*D)/T,S=-(g*D-R*v)/T;return new THREE.Vector3(H,S,0)}function Rt(o,s){const l=o.x,n=o.y,f=s.x,_=s.y;return Math.sqrt((l-f)*(l-f)+(n-_)*(n-_))}function bt(o,s,l){let n;o<l?n=l-o:n=l-o+360;let f;return o<s?f=s-o:f=s-o+360,f>n}function Re(o,s,l){const n=o.x,f=s.x,_=o.y,d=s.y;let E,P,g;return E=(_-d)/l,P=(n-f)/l,P>=.99999&&(P=.99999),P<=-.99999&&(P=-.99999),g=Math.acos(P),g=g/Math.PI*180,E<-.05&&(g=360-g),{sin:E,cos:P,angle:g}}const le=(o,s,l)=>{const n=()=>{o.go(f=>{if(f===y.MrxDbgUiPrBaseReturn.kKeyWord&&l()&&n(),f===y.MrxDbgUiPrBaseReturn.kOk&&s()&&n(),f===y.MrxDbgUiPrBaseReturn.kNone&&n(),f===y.MrxDbgUiPrBaseReturn.kCancel)return{exit:!0}})};return n};class be extends y.MxDbCircleShape{bulge=0;constructor(){super(),this._propertyDbKeys=[...this._propertyDbKeys,"bulge"]}getTypeName(){return"MxDbCircle"}create(){return new be}getArcBulge(s,l,n){const f=s.distanceTo(l);let E=2*new THREE.Line3(s,l).getCenter(new THREE.Vector3).distanceTo(n)/f;return E>.9999&&E<1.0001?E=1:E<-.9999&&E>-1.0001?E=-1:Math.abs(E)<1e-10&&(E=0),E}getArcMidPoint(s,l,n,f,_){const d=s,E=n*Math.PI/180;let P=f*Math.PI/180;const g=new THREE.Vector3,x=new THREE.Vector3;g.x=d.x+l*Math.cos(E),g.y=d.y+l*Math.sin(E),x.x=d.x+l*Math.cos(P),x.y=d.y+l*Math.sin(P);const R=l;(_?n<f:n>f)&&(P+=Math.PI*2);const b=new THREE.Vector3;return b.x=d.x+R*Math.cos((E+P)/2),b.y=d.y+R*Math.sin((E+P)/2),this.bulge=this.getArcBulge(g,x,b),[g,b,x,this.center]}getGripPoints(){return this.getArcMidPoint(this.center,this.radius,THREE.MathUtils.radToDeg(this.startAngle),THREE.MathUtils.radToDeg(this.endAngle),this.clockwise)}moveGripPointsAt(s,l){if(s===3)return this.center.add(l),!0;const n=this.getGripPoints();return this.upDatePoints(n,s,l),!0}upDatePoints(s,l,n){s[l].add(n);const[f,_,d]=s;this.center=Ct(f,d,_),this.radius=Rt(_,this.center);const E=Re(f,this.center,this.radius),P=Re(d,this.center,this.radius),g=Re(_,this.center,this.radius);this.clockwise=bt(P.angle,E.angle,g.angle),this.startAngle=THREE.MathUtils.degToRad(E.angle),this.endAngle=THREE.MathUtils.degToRad(P.angle)}}function Tt(){const o=new y.MrxDbgUiPrPoint,s=new be;s.closed=!1,o.go(()=>{s.center=o.value(),o.setUserDraw((l,n)=>{s.startAngle=ce(l.x,l.y,s.center.x,s.center.y),s.radius=s.center.distanceTo(l),n.drawLine(l,s.center)}),o.go(()=>{o.setUserDraw((l,n)=>{s.endAngle=ce(l.x,l.y,s.center.x,s.center.y),n.drawLine(l,s.center),n.drawCustomEntity(s)}),o.go(()=>{y.MxFun.getCurrentDraw().addMxEntity(s)})})})}async function Ft(){return Tt()}function St(){const o=new y.MrxDbgUiPrPoint,s=new y.MxDbEllipseShape;s.closed=!1,y.MxPaintBrush.use(s),o.setMessage(`
34
+ \u6307\u5B9A\u692D\u5706\u7684\u8F74\u7AEF\u70B9`),o.setKeyWords("[\u4E2D\u5FC3\u70B9(C)]");let l,n=new THREE.Vector3;le(o,()=>{l=o.value(),o.setUserDraw((g,x)=>{const R=new THREE.Line3(l,g);R.getCenter(n),s.center=n,s.xRadius=R.distance()/2,s.yRadius=s.xRadius,s.rotation=ce(g.x,g.y,n.x,n.y),x.drawLine(g,l)}),o.setMessage(`
35
+ \u6307\u5B9A\u692D\u5706\u5F27\u8F74\u7684\u53E6\u4E00\u4E2A\u7AEF\u70B9:`),o.setKeyWords(""),_()},()=>{})();const _=le(o,()=>{o.setUserDraw((g,x)=>{s.yRadius=n.distanceTo(g),x.drawLine(n,g),x.drawCustomEntity(s)}),o.setMessage(`
36
+ \u6307\u5B9A\u53E6\u4E00\u6761\u534A\u8F74\u957F\u5EA6`),o.setKeyWords(""),d()},()=>{}),d=le(o,()=>{o.setMessage(`
37
+ \u6307\u5B9A\u8D77\u59CB\u89D2\u5EA6`),o.setKeyWords(""),o.setUserDraw((g,x)=>{s.startAngle=ce(g.x,g.y,n.x,n.y)-s.rotation,x.drawLine(n,g),x.drawCustomEntity(s)}),E()},()=>{}),E=le(o,()=>{o.setUserDraw((g,x)=>{s.endAngle=ce(g.x,g.y,n.x,n.y)-s.rotation,x.drawLine(n,g),x.drawCustomEntity(s)}),o.setMessage(`
38
+ \u6307\u5B9A\u7EC8\u6B62\u89D2\u5EA6`),o.setKeyWords(""),P()},()=>{}),P=le(o,()=>{y.MxFun.getCurrentDraw().addMxEntity(s)},()=>{})}F.MxCpp=void 0;function Wt(o){console.log(new URL(document.location.href).href),vt().then(s=>{let l=new s.McApp;l.Init(),F.MxCpp=s,F.MxCpp.McApp=l,o()})}F.drawArc=Ft,F.drawCircle=He,F.drawEllipticalArc=St,F.drawLine=ze,F.drawMText=mt,F.drawPolyLine=Bt,F.drawPolygon=wt,F.drawText=xt,F.loadMxdrawassembly=Wt,F.tools=Pt,Object.defineProperties(F,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
package/package.json CHANGED
@@ -1,38 +1,65 @@
1
1
  {
2
2
  "name": "mxcad",
3
- "version": "1.0.0",
4
- "description": "cad图纸在线编辑库",
5
- "main": "lib/index.js",
6
- "types": "lib/index.d.ts",
3
+ "private": false,
4
+ "version": "1.0.3",
5
+ "main": "./dist/mxcad.umd.js",
6
+ "module": "./dist/mxcad.es.js",
7
+ "typings": "dist/mxcad.d.ts",
8
+ "description": "mxcad cad编辑版",
7
9
  "files": [
8
- "lib/**/*"
10
+ "dist"
9
11
  ],
10
- "scripts": {
11
- "test": "jest --config jestconfig.json",
12
- "build": "tsc",
13
- "format": "prettier --write \"src/**/*.ts\" \"src/**/*.js\"",
14
- "lint": "tslint -p tsconfig.json",
15
- "prepare": "npm run build",
16
- "prepublishOnly": "npm run test && npm run lint",
17
- "preversion": "npm run lint",
18
- "version": "npm run format && git add -A src",
19
- "postversion": "git push && git push --tags",
20
- "docs": "doctoc --title 目录 --maxlevel 3 README.md && typedoc --out docs"
12
+ "exports": {
13
+ ".": {
14
+ "import": "./dist/mxcad.es.js",
15
+ "require": "./dist/mxcad.umd.js"
16
+ }
21
17
  },
22
- "author": "",
23
- "license": "ISC",
24
18
  "peerDependencies": {
25
- "mxdraw": ">=0.1.121"
19
+ "mxdraw": ">=0.1.127"
20
+ },
21
+ "scripts": {
22
+ "dev": "vite --host",
23
+ "dev_nobuf": "vite --host --force",
24
+ "build": "tsc --module es2015 --outDir dist/lib && vite build && dts-bundle-generator --config ./dts-bundle-generator.config.ts && npx typedoc --tsconfig tsconfig.json",
25
+ "test": "jest --runInBand",
26
+ "test:coverage": "jest --runInBand --coverage",
27
+ "lint:scripts": "eslint . --ext .ts",
28
+ "lint:styles": "stylelint ./**/*.{css,scss}",
29
+ "format:scripts": "prettier . --write",
30
+ "format:styles": "stylelint ./**/*.{css,scss} --fix",
31
+ "format": "npm run format:scripts && npm run format:styles",
32
+ "emcc:init": "cd emsdk && git pull && cd ../ && .\\emsdk\\emsdk install latest && .\\emsdk\\emsdk activate latest && .\\emsdk\\emsdk_env.bat",
33
+ "c-to-mjs": "emcc -O3 ./emsdk/WebAssembly/hello.cpp -o ./src/wasm/index.mjs -s STANDALONE_WASM",
34
+ "c-to-wasi": "emcc -O2 ./emsdk/WebAssembly/hello.cpp -o ./emsdk/WebAssembly/wasi.js -s STANDALONE_WASM",
35
+ "node:to": "node cToWasm"
26
36
  },
27
37
  "devDependencies": {
28
- "@types/jest": "^29.2.3",
29
- "doctoc": "^2.2.1",
30
- "jest": "^29.3.1",
31
- "prettier": "^2.8.0",
32
- "ts-jest": "^29.0.3",
33
- "tslint": "^6.1.3",
34
- "tslint-config-prettier": "^1.18.0",
38
+ "@types/jest": "^29.0.0",
39
+ "@types/jsdom": "^20.0.0",
40
+ "@types/node": "^18.7.16",
41
+ "@typescript-eslint/eslint-plugin": "^5.36.2",
42
+ "@typescript-eslint/parser": "^5.36.2",
43
+ "dts-bundle-generator": "^6.13.0",
44
+ "eslint": "^8.23.0",
45
+ "eslint-config-prettier": "^8.5.0",
46
+ "eslint-plugin-prettier": "^4.2.1",
47
+ "husky": "^8.0.1",
48
+ "inquirer": "8.0.0",
49
+ "jest": "^28.1.3",
50
+ "lint-staged": "^13.0.3",
51
+ "mxdraw": "^0.1.127",
52
+ "prettier": "^2.7.1",
53
+ "stylelint": "^14.11.0",
54
+ "stylelint-config-recommended": "^9.0.0",
55
+ "stylelint-config-sass-guidelines": "^9.0.1",
56
+ "three": "0.113.2",
57
+ "ts-jest": "^28.0.8",
58
+ "ts-node": "^10.9.1",
35
59
  "typedoc": "^0.23.21",
36
- "typescript": "^4.9.3"
60
+ "typescript": "^4.8.3",
61
+ "vite": "^3.1.0",
62
+ "vite-plugin-top-level-await": "^1.2.2",
63
+ "vite-plugin-wasm": "^3.1.0"
37
64
  }
38
65
  }
package/lib/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export declare const getVersion: () => string;
package/lib/index.js DELETED
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getVersion = void 0;
4
- var getVersion = function () { return "Version 1.0.0"; };
5
- exports.getVersion = getVersion;
@@ -1,5 +0,0 @@
1
- /*** webAssembly 请求加载wasm文件 获取示例结果
2
- * @param url wasm 文件路径
3
- * @param importObject 导入对象
4
- * */
5
- export declare function fetchAndInstantiate(url: string, importObject: WebAssembly.Imports): Promise<WebAssembly.WebAssemblyInstantiatedSource>;
@@ -1,63 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.fetchAndInstantiate = void 0;
40
- /*** webAssembly 请求加载wasm文件 获取示例结果
41
- * @param url wasm 文件路径
42
- * @param importObject 导入对象
43
- * */
44
- function fetchAndInstantiate(url, importObject) {
45
- return __awaiter(this, void 0, void 0, function () {
46
- var response, bytes, results;
47
- return __generator(this, function (_a) {
48
- switch (_a.label) {
49
- case 0: return [4 /*yield*/, fetch(url)];
50
- case 1:
51
- response = _a.sent();
52
- return [4 /*yield*/, response.arrayBuffer()];
53
- case 2:
54
- bytes = _a.sent();
55
- return [4 /*yield*/, WebAssembly.instantiate(bytes, importObject)];
56
- case 3:
57
- results = _a.sent();
58
- return [2 /*return*/, results];
59
- }
60
- });
61
- });
62
- }
63
- exports.fetchAndInstantiate = fetchAndInstantiate;