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.
- package/LICENSE.md +9 -0
- package/README.md +60 -0
- package/dist/mxcad.d.ts +30 -0
- package/dist/mxcad.es.js +1270 -0
- package/dist/mxcad.umd.js +38 -0
- package/package.json +54 -27
- package/lib/index.d.ts +0 -1
- package/lib/index.js +0 -5
- package/lib/utles/index.d.ts +0 -5
- package/lib/utles/index.js +0 -63
|
@@ -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
|
-
"
|
|
4
|
-
"
|
|
5
|
-
"main": "
|
|
6
|
-
"
|
|
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
|
-
"
|
|
10
|
+
"dist"
|
|
9
11
|
],
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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.
|
|
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.
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
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.
|
|
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
package/lib/utles/index.d.ts
DELETED
package/lib/utles/index.js
DELETED
|
@@ -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;
|