mxcad 1.0.0 → 1.0.4
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 +55 -0
- package/dist/mxcad.es.js +1443 -0
- package/dist/mxcad.umd.js +49 -0
- package/package.json +57 -29
- 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,49 @@
|
|
|
1
|
+
(function(x,d){typeof exports=="object"&&typeof module<"u"?d(exports,require("mxdraw")):typeof define=="function"&&define.amd?define(["exports","mxdraw"],d):(x=typeof globalThis<"u"?globalThis:x||self,d(x.mxcad={},x.Mx))})(this,function(x,d){"use strict";async function Bt(r,s){const f=await(await fetch(r)).arrayBuffer();return await WebAssembly.instantiate(f,s)}const je=r=>new Promise((s,n)=>{const f=new FileReader;f.onload=()=>{s(f.result)},f.onerror=({target:{error:{code:a}}})=>{n(Error(`File could not be read! Code=${a}`))},f.readAsArrayBuffer(r)}),Ct=async r=>{let s=r;return typeof r>"u"?new Uint8Array:(typeof r=="string"?/data:_data\/([a-zA-Z]*);base64,([^"]*)/.test(r)?s=atob(r.split(",")[1]).split("").map(n=>n.charCodeAt(0)):s=await(await fetch(new URL(r,typeof document>"u"&&typeof location>"u"?new(require("url")).URL("file:"+__filename).href:typeof document>"u"?location.href:document.currentScript&&document.currentScript.src||new URL("mxcad.umd.js",document.baseURI).href).href)).arrayBuffer():(r instanceof File||r instanceof Blob)&&(s=await je(r)),new Uint8Array(s))},Dt=async(r,s)=>{console.log("info",`fetch ${r}`);const n=await(await fetch(r)).arrayBuffer();console.log("info",`${r} file size = ${n.byteLength} bytes`);const f=new Blob([n],{type:s}),a=URL.createObjectURL(f);return console.log("info",`${r} blob URL = ${a}`),a};function Oe(r){return btoa(unescape(encodeURIComponent(r)))}function ke(r){return decodeURIComponent(escape(atob(r)))}function Ve(r){let s=JSON.stringify(r);d.MxFun.callCommand("MxCAD_SetEntityData",s)}const xe={b64Encode:Oe,b64Decode:ke,setMcDbEntity:Ve};async function wt(){const r=new d.MrxDbgUiPrPoint;r.setMessage(`
|
|
2
|
+
\u6307\u5B9A\u63D2\u5165\u4F4D\u7F6E:`);let s=await r.go();if(s==null)return;let n="\u6D4B\u8BD5";if(n.length<=0)return;let f=d.MxFun.screenCoordLong2Doc(50);n=xe.b64Encode(n);const a={postx:s.x,posty:s.y,text:n,height:f};d.MxFun.call("Mx_Text",a)}class xt extends d.MxDbCircleShape{getGripPoints(){const{x:s,y:n,z:f}=this.center;let a=new THREE.Vector3(s,n+this.radius,f),M=new THREE.Vector3(s,n-this.radius,f),p=new THREE.Vector3(s-this.radius,n,f),E=new THREE.Vector3(s+this.radius,n,f);return[this.center,a,M,p,E]}moveGripPointsAt(s,n){const[f,a,M,p,E]=this.getGripPoints();return s===0&&(this.center=f.add(n)),s===1&&(this.radius=a.add(n).distanceTo(this.center)),s===2&&(this.radius=M.add(n).distanceTo(this.center)),s===3&&(this.radius=p.add(n).distanceTo(this.center)),s===4&&(this.radius=E.add(n).distanceTo(this.center)),!0}}const He=r=>{const[s,n,f]=r,{x:a,y:M,z:p}=s,{x:E,y:P,z:g}=n,{x:D,y:b,z:W}=f,_=M*g-P*p-M*W+b*p+P*W-b*g,w=-(a*g-E*p-a*W+D*p+E*W-D*g),L=a*P-E*M-a*b+D*M+E*b-D*P,B=-(a*P*W-a*b*g-E*M*W+E*b*p+D*M*g-D*P*p),C=2*(E-a),K=2*(P-M),O=2*(g-p),J=a*a+M*M+p*p-E*E-P*P-g*g,H=2*(D-a),U=2*(b-M),z=2*(W-p),Y=a*a+M*M+p*p-D*D-b*b-W*W,fe=-(w*O*Y-w*z*J-K*L*Y+K*z*B+U*L*J-U*O*B)/(_*K*z-_*U*O-C*w*z+C*U*L+H*w*O-H*K*L),de=(_*O*Y-_*z*J-C*L*Y+C*z*B+H*L*J-H*O*B)/(_*K*z-_*U*O-C*w*z+C*U*L+H*w*O-H*K*L),j=-(_*K*Y-_*U*J-C*w*Y+C*U*B+H*w*J-H*K*B)/(_*K*z-_*U*O-C*w*z+C*U*L+H*w*O-H*K*L);return new THREE.Vector3(fe,de,j)};function Ue(){const r=new d.MrxDbgUiPrPoint;let s=new xt;d.MxPaintBrush.use(s),s.closed=!1;let n=0,f="default",a=!0;const M=()=>{r.setUserDraw((_,w)=>{s.radius=a?s.center.distanceTo(_):s.center.distanceTo(_)/2,w.drawCustomEntity(s),w.drawLine(s.center,_)})},p=_=>{if(f==="default"){if(_===d.MrxDbgUiPrBaseReturn.kOk){if(n===0)r.setMessage(`
|
|
3
|
+
\u6307\u5B9A\u5706\u7684\u534A\u5F84:`),r.setKeyWords("[\u76F4\u5F84(D)]"),s.center=r.value(),M();else if(n===1)return d.MxFun.getCurrentDraw().addMxEntity(s),!0;n++}_===d.MrxDbgUiPrBaseReturn.kKeyWord&&r.isKeyWordPicked("D")&&(a=!1,M(),r.setMessage(`
|
|
4
|
+
\u6307\u5B9A\u5706\u7684\u76F4\u5F84:`),r.setKeyWords(""))}};let E=[];const P=_=>{if(f==="3P"&&(r.setMessage(`
|
|
5
|
+
\u6307\u5B9A\u5706\u4E0A\u7684\u7B2C\u4E00\u4E2A\u70B9:`),_===d.MrxDbgUiPrBaseReturn.kOk)){if(n===0&&(E.push(r.value()),r.setUserDraw((w,L)=>{L.drawLine(E[0],w)}),r.setMessage(`
|
|
6
|
+
\u6307\u5B9A\u5706\u4E0A\u7684\u7B2C\u4E8C\u4E2A\u70B9:`)),n===1&&(E.push(r.value()),r.setUserDraw((w,L)=>{const[B,C]=E,K=w;s.center=He([B,C,K]),s.radius=s.center.distanceTo(B),L.drawCustomEntity(s)}),r.setMessage(`
|
|
7
|
+
\u6307\u5B9A\u5706\u4E0A\u7684\u7B2C\u4E09\u4E2A\u70B9:`)),n===2)return E.push(r.value()),s.center=He(E),s.radius=s.center.distanceTo(E[0]),d.MxFun.getCurrentDraw().addMxEntity(s),!0;n++}};let g;const D=(_,w)=>{new THREE.Line3(_,w).getCenter(s.center),s.radius=w.distanceTo(_)/2},b=_=>{if(f==="2P"&&(r.setMessage(`
|
|
8
|
+
\u6307\u5B9A\u5706\u76F4\u5F84\u7684\u7B2C\u4E00\u4E2A\u7AEF\u70B9:`),_===d.MrxDbgUiPrBaseReturn.kOk)){if(n===0&&(g=r.value(),r.setUserDraw((w,L)=>{D(g,w),L.drawCustomEntity(s),L.drawLine(g,w)}),r.setMessage(`
|
|
9
|
+
\u6307\u5B9A\u5706\u76F4\u5F84\u7684\u7B2C\u4E8C\u4E2A\u7AEF\u70B9:`)),n===1)return D(g,r.value()),d.MxFun.getCurrentDraw().addMxEntity(s),!0;n++}},W=_=>{if(f==="T"){if(r.setMessage(`
|
|
10
|
+
\u6307\u5B9A\u5BF9\u8C61\u4E0E\u5706\u7684\u7B2C\u4E00\u4E2A\u5207\u70B9:`),_===d.MrxDbgUiPrBaseReturn.kOk){if(n===0){const w=r.value();console.log(w),d.MxFun.getCurrentDraw()}n++}return!0}};r.setMessage(`
|
|
11
|
+
\u6307\u5B9A\u5706\u7684\u5706\u5FC3\u6216[\u4E09\u70B9(3P)/\u4E24\u70B9(2P)/\u5207\u70B9\u3001\u5207\u70B9\u3001\u534A\u5F84(T)]:`),r.setKeyWords("3P 2P T"),r.goWhile(_=>{if(_===d.MrxDbgUiPrBaseReturn.kKeyWord&&(r.isKeyWordPicked("3P")?f="3P":r.isKeyWordPicked("2P")?f="2P":r.isKeyWordPicked("T")&&(f="T")),p(_))return{exit:!0};if(P(_))return{exit:!0};if(b(_))return{exit:!0};if(W(_))return{exit:!0}},_=>{_===d.MrxDbgUiPrBaseReturn.kCancel&&d.MxFun.getCurrentDraw().addMxEntity(s)})}d.store.events.on("MxDbEntityRegister",()=>{d.MxFun.addCommand("Mx_Circle",Ue)});const ze=()=>d.store.state.MxFun.stopRunCommand();function me(r,s,n,f){const a=r-n,M=s-f;let p=0;return a==0?p=Math.PI/2:p=Math.atan(Math.abs(M/a)),a<0&&M>=0?p=Math.PI-p:a<0&&M<0?p=Math.PI+p:a>=0&&M<0&&(p=Math.PI*2-p),p}async function Ne(){const r=new d.MrxDbgUiPrPoint;let s=new d.MxDbLine,n=[];r.setMessage(`
|
|
12
|
+
\u6307\u5B9A\u7B2C\u4E00\u70B9:`);let f=await r.go();r.setUserDraw((M,p)=>{n.forEach(E=>{p.drawCustomEntity(E)}),p.drawLine(f,M)});const a=()=>{r.setMessage(`
|
|
13
|
+
\u6307\u5B9A\u4E0B\u4E00\u4E2A\u70B9:`),n.length>1?r.setKeyWords("[\u9000\u51FA(E)/\u95ED\u5408(C)/\u653E\u5F03(U)]"):r.setKeyWords("[\u9000\u51FA(E)/\u653E\u5F03(U)]")};a(),r.goWhile(M=>{if(M===d.MrxDbgUiPrBaseReturn.kOk&&(s=new d.MxDbLine,d.MxPaintBrush.use(s),s.pt1=f,s.pt2=r.value(),f=s.pt2.clone(),n.push(s),a()),M===d.MrxDbgUiPrBaseReturn.kKeyWord){if(r.isKeyWordPicked("E"))ze();else if(r.isKeyWordPicked("C")){const p=new d.MxDbLine;return p.pt1=f.clone(),p.pt2=n[0].pt1.clone(),d.MxPaintBrush.use(p),n.push(p),f=p.pt2.clone(),ze(),{exit:!0}}}},M=>{if(M===d.MrxDbgUiPrBaseReturn.kCancel)return n.forEach(p=>{d.MxFun.getCurrentDraw().addMxEntity(p)}),{exit:!0}})}d.store.events.on("MxDbEntityRegister",()=>{d.MxFun.addCommand("Mx_Line",Ne)});async function mt(){const r=new d.MrxDbgUiPrPoint;r.setMessage(`
|
|
14
|
+
\u6307\u5B9A\u63D2\u5165\u4F4D\u7F6E:`);let s=await r.go();if(s==null)return;let n=`\u6D4B\u8BD5
|
|
15
|
+
\u6D4B\u8BD5`;if(n.length<=0)return;let f=d.MxFun.screenCoordLong2Doc(50);n=xe.b64Encode(n);const a={postx:s.x,posty:s.y,text:n,height:f};d.MxFun.call("Mx_MText",a)}async function Rt(){const r=new d.MrxDbgUiPrPoint,s=new d.MxDbPolyline;d.MxPaintBrush.use(s),r.setMessage(`
|
|
16
|
+
\u6307\u5B9A\u8D77\u70B9:`);let n;r.setUserDraw((f,a)=>{a.drawCustomEntity(s),n&&a.drawLine(n,f)}),r.goWhile(f=>{if(f===d.MrxDbgUiPrBaseReturn.kOk){const a=r.value();s.points.push(r.value()),n=a,r.setMessage(`
|
|
17
|
+
\u6307\u5B9A\u4E0B\u4E00\u4E2A\u70B9:`),r.setKeyWords("[\u5706\u5F27(A)/\u5BBD\u5EA6(W)]")}else f===d.MrxDbgUiPrBaseReturn.kKeyWord&&(r.isKeyWordPicked("A"),r.isKeyWordPicked("W"))},f=>{f===d.MrxDbgUiPrBaseReturn.kCancel&&d.MxFun.getCurrentDraw().addMxEntity(s)})}async function bt(){const r=new d.MrxDbgUiPrPoint;let s=new d.MxDbRegularPolygon;d.MxPaintBrush.use(s),r.setMessage(`
|
|
18
|
+
\u8F93\u5165\u8FB9\u7684\u6570\u76EE<5>:`);let n=3,f=[n];for(;n<25;)f.push(n++);r.setKeyWords(f.join(" "));let a=0;r.goWhile(M=>{if(M===d.MrxDbgUiPrBaseReturn.kOk)if(a===1)s.centerPoint=r.value(),r.setMessage(`
|
|
19
|
+
[\u5185\u63A5\u4E8E\u5706(I)/\u5916\u5207\u4E8E\u5706(C)]<\u5916\u5207>:`),r.setKeyWords("I C");else if(a===2)r.setMessage(`
|
|
20
|
+
\u6307\u5B9A\u8FB9\u7684\u7B2C\u4E8C\u4E2A\u7AEF\u70B9:`),a++;else{if(a===3)return r.setMessage(`
|
|
21
|
+
\u6307\u5B9A\u8FB9\u7684\u7B2C\u4E8C\u4E2A\u7AEF\u70B9:`),{exit:!0};if(a===4)return s.otherPoint=r.value(),d.MxFun.getCurrentDraw().addMxEntity(s),{exit:!0};a===5&&r.setMessage(`
|
|
22
|
+
\u5916\u5207\u4E8E\u5706(C)\u65E0\u6CD5\u7ED8\u5236:`)}if(M===d.MrxDbgUiPrBaseReturn.kKeyWord){const p=r.keyWordPicked(),E=Number(p);!Number.isNaN(E)&&a===0&&(s.sidesNumber=E,r.setMessage(`
|
|
23
|
+
\u6307\u5B9A\u6B63\u591A\u8FB9\u5F62\u7684\u4E2D\u5FC3\u70B9\u6216 [\u8FB9(E)]:`),r.setKeyWords("E"),a++),a===1&&(r.isKeyWordPicked("E")&&(r.setMessage(`
|
|
24
|
+
\u6307\u5B9A\u8FB9\u7684\u7B2C\u4E00\u4E2A\u7AEF\u70B9:`),a++),r.isKeyWordPicked("I")?(r.setUserDraw((P,g)=>{s.otherPoint=P,g.drawCustomEntity(s)}),r.setMessage(`
|
|
25
|
+
\u6307\u5B9A\u5706\u7684\u534A\u5F84:`),a++,a++,a++):r.isKeyWordPicked("C")&&(r.setMessage(`
|
|
26
|
+
\u5916\u5207\u4E8E\u5706(C)\u65E0\u6CD5\u7ED8\u5236:`),a++,a++,a++,a++))}})}function Ft(r,s,n){const f=r.x,a=s.x,M=n.x,p=r.y,E=s.y,P=n.y,g=f-a,D=p-E,b=f-M,W=p-P,_=(f*f-a*a+(p*p-E*E))/2,w=(f*f-M*M+(p*p-P*P))/2,L=D*b-g*W,B=-(W*_-D*w)/L,C=-(g*w-b*_)/L;return new THREE.Vector3(B,C,0)}function Tt(r,s){const n=r.x,f=r.y,a=s.x,M=s.y;return Math.sqrt((n-a)*(n-a)+(f-M)*(f-M))}function Wt(r,s,n){let f;r<n?f=n-r:f=n-r+360;let a;return r<s?a=s-r:a=s-r+360,a>f}function Re(r,s,n){const f=r.x,a=s.x,M=r.y,p=s.y;let E,P,g;return E=(M-p)/n,P=(f-a)/n,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 X=(r,s,n)=>{const f=()=>{r.go(a=>{if(a===d.MrxDbgUiPrBaseReturn.kKeyWord&&n()&&f(),a===d.MrxDbgUiPrBaseReturn.kOk&&s()&&f(),a===d.MrxDbgUiPrBaseReturn.kNone&&f(),a===d.MrxDbgUiPrBaseReturn.kCancel)return{exit:!0}})};return f};class be extends d.MxDbCircleShape{constructor(){super(),this._propertyDbKeys=[...this._propertyDbKeys,"bulge"]}getTypeName(){return"MxDbCircle"}create(){return new be}getArcBulge(s,n,f){const a=s.distanceTo(n);let E=2*new THREE.Line3(s,n).getCenter(new THREE.Vector3).distanceTo(f)/a;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,n,f,a,M){const p=s,E=f*Math.PI/180;let P=a*Math.PI/180;const g=new THREE.Vector3,D=new THREE.Vector3;g.x=p.x+n*Math.cos(E),g.y=p.y+n*Math.sin(E),D.x=p.x+n*Math.cos(P),D.y=p.y+n*Math.sin(P);const b=n;(M?f<a:f>a)&&(P+=Math.PI*2);const W=new THREE.Vector3;return W.x=p.x+b*Math.cos((E+P)/2),W.y=p.y+b*Math.sin((E+P)/2),[g,W,D,this.center]}getGripPoints(){return this.getArcMidPoint(this.center,this.radius,THREE.MathUtils.radToDeg(this.startAngle),THREE.MathUtils.radToDeg(this.endAngle),this.clockwise)}moveGripPointsAt(s,n){if(s===3)return this.center.add(n),!0;const f=this.getGripPoints();return this.upDatePoints(f,s,n),!0}upDatePoints(s,n,f){s[n].add(f);const[a,M,p]=s;this.center=Ft(a,p,M),this.radius=Tt(M,this.center);const E=Re(a,this.center,this.radius),P=Re(p,this.center,this.radius),g=Re(M,this.center,this.radius);this.clockwise=Wt(P.angle,E.angle,g.angle),this.startAngle=THREE.MathUtils.degToRad(E.angle),this.endAngle=THREE.MathUtils.degToRad(P.angle)}}async function Lt(){const r=new d.MrxDbgUiPrPoint;r.setMessage(`
|
|
27
|
+
\u6307\u5B9A\u5706\u5F27\u7684\u8D77\u70B9:`),r.setKeyWords("[\u5706\u5FC3(C)]");let s=new be;s.closed=!1,d.MxPaintBrush.use(s);let n,f,a;const M=X(r,()=>{n=r.value(),r.setMessage(`
|
|
28
|
+
\u6307\u5B9A\u5706\u5F27\u7684\u7B2C\u4E8C\u4E2A\u70B9:`),r.setKeyWords("[\u5706\u5FC3(C)/\u7AEF\u70B9(E)]"),r.setUserDraw((B,C)=>{C.drawLine(n,B)}),w()},()=>{if(r.isKeyWordPicked("C")){const B=new d.MxDbCircleArc;s.center=r.value(),B.center=r.value(),r.setMessage(`
|
|
29
|
+
\u6307\u5B9A\u5706\u5F27\u7684\u5706\u5FC3:`),r.setKeyWords(""),E()}else return!0});let p;const E=X(r,()=>{p=r.value(),a=new d.MxDbCircleArc,a.closed=!1,d.MxPaintBrush.use(a),a.center=p,s.center=p,r.setMessage(`
|
|
30
|
+
\u6307\u5B9A\u5706\u5F27\u7684\u8D77\u70B9:`),r.setUserDraw((B,C)=>{C.drawCustomEntity(a),C.drawLine(p,B)}),D()},()=>{});let P,g;const D=X(r,()=>{P=r.value(),a.endPoint=P,r.setMessage(`
|
|
31
|
+
\u6307\u5B9A\u5706\u5F27\u7684\u7AEF\u70B9(\u6309\u4F4F ctrl \u952E\u53D6\u76F8\u53CD\u65B9\u5411)\u6216 [\u89D2\u5EA6(A)/\u5F26\u957F(L)/\u4FEE\u6539\u534A\u5F84(R)]:`),r.setKeyWords("A L R"),g=new d.MxDbLine,g.setDashLineDisplay(!0),g.setDashArray(.05),g.setLineWidth(2),g.setColor("#ffd30d"),g.pt1=a.center,r.setUserDraw((B,C)=>{a.startPoint=B,g.pt2=B,C.drawCustomEntity(a),C.drawCustomEntity(g)}),W()},()=>{});let b;const W=X(r,()=>{b=r.value(),a.startPoint=b,a.endPoint=P,d.MxFun.getCurrentDraw().addMxEntity(a)},()=>{if(r.isKeyWordPicked("A"))return r.setMessage(`
|
|
32
|
+
\u6307\u5B9A\u5706\u5F27\u7684\u5939\u89D2(\u6309\u4F4F ctrl \u952E\u53D6\u76F8\u53CD\u65B9\u5411)\u6216 [\u4FEE\u6539\u534A\u5F84(R)]:`),r.setKeyWords("R"),r.setUserDraw((B,C)=>{a.startPoint=B,C.drawCustomEntity(a),C.drawCustomEntity(g)}),!0;if(r.isKeyWordPicked("L"))return r.setMessage(`
|
|
33
|
+
\u6307\u5B9A\u5706\u5F27\u7684\u5939\u89D2(\u6309\u4F4F ctrl \u952E\u53D6\u76F8\u53CD\u65B9\u5411)\u6216 [\u4FEE\u6539\u534A\u5F84(R)]:`),r.setKeyWords("R"),r.setUserDraw((B,C)=>{a.startPoint=B,C.drawCustomEntity(a),C.drawCustomEntity(g)}),!0;if(r.isKeyWordPicked("R"))r.setMessage(`
|
|
34
|
+
\u6307\u5B9A\u5706\u5F27\u7684\u534A\u5F84${a.radius?"<"+a.radius+">":""}:`),r.setKeyWords(""),r.setUserDraw((B,C)=>{C.drawLine(B,a.center),a.startPoint=B,C.drawCustomEntity(a)}),D();else return!0});let _;const w=X(r,()=>{_=r.value(),r.setMessage(`
|
|
35
|
+
\u6307\u5B9A\u5706\u5F27\u7684\u7AEF\u70B9:`),f=new d.Mx3PointArc,f.autoClockwise=!0,f.closed=!1,d.MxPaintBrush.use(f),f.point1=n,f.point3=_,s.center,r.setUserDraw((B,C)=>{f.point2=B,C.drawCustomEntity(s)}),L()},()=>{if(r.isKeyWordPicked("C"))a=new d.MxDbCircleArc,a.closed=!1,d.MxPaintBrush.use(a),r.setMessage(`
|
|
36
|
+
\u6307\u5B9A\u5706\u5F27\u7684\u5706\u5FC3`),r.setKeyWords(""),r.setUserDraw((B,C)=>{a.startPoint=n,C.drawLine(B,a.startPoint)}),E();else if(r.isKeyWordPicked("E"))a=new d.MxDbCircleArc,a.closed=!1,d.MxPaintBrush.use(a),r.setMessage(`
|
|
37
|
+
\u6307\u5B9A\u5706\u5F27\u7684\u5706\u5FC3`),r.setKeyWords(""),r.setUserDraw((B,C)=>{a.startPoint=n,C.drawLine(B,a.startPoint)}),E();else return!0}),L=X(r,()=>{f.point1=n,f.point2=r.value(),f.point3=_,d.MxFun.getCurrentDraw().addMxEntity(f)},()=>{if(r.isKeyWordPicked("C"))console.log("C");else if(r.isKeyWordPicked("E"))console.log("E");else return!0});M()}function St(){const r=new d.MrxDbgUiPrPoint,s=new d.MxDbEllipseShape;s.closed=!1,d.MxPaintBrush.use(s),r.setMessage(`
|
|
38
|
+
\u6307\u5B9A\u692D\u5706\u7684\u8F74\u7AEF\u70B9`),r.setKeyWords("[\u4E2D\u5FC3\u70B9(C)]");let n,f=new THREE.Vector3;X(r,()=>{n=r.value(),r.setUserDraw((g,D)=>{const b=new THREE.Line3(n,g);b.getCenter(f),s.center=f,s.xRadius=b.distance()/2,s.yRadius=s.xRadius,s.rotation=me(g.x,g.y,f.x,f.y),D.drawLine(g,n)}),r.setMessage(`
|
|
39
|
+
\u6307\u5B9A\u692D\u5706\u5F27\u8F74\u7684\u53E6\u4E00\u4E2A\u7AEF\u70B9:`),r.setKeyWords(""),M()},()=>{})();const M=X(r,()=>{r.setUserDraw((g,D)=>{s.yRadius=f.distanceTo(g),D.drawLine(f,g),D.drawCustomEntity(s)}),r.setMessage(`
|
|
40
|
+
\u6307\u5B9A\u53E6\u4E00\u6761\u534A\u8F74\u957F\u5EA6`),r.setKeyWords(""),p()},()=>{}),p=X(r,()=>{r.setMessage(`
|
|
41
|
+
\u6307\u5B9A\u8D77\u59CB\u89D2\u5EA6`),r.setKeyWords(""),r.setUserDraw((g,D)=>{s.startAngle=me(g.x,g.y,f.x,f.y)-s.rotation,D.drawLine(f,g),D.drawCustomEntity(s)}),E()},()=>{}),E=X(r,()=>{r.setUserDraw((g,D)=>{s.endAngle=me(g.x,g.y,f.x,f.y)-s.rotation,D.drawLine(f,g),D.drawCustomEntity(s)}),r.setMessage(`
|
|
42
|
+
\u6307\u5B9A\u7EC8\u6B62\u89D2\u5EA6`),r.setKeyWords(""),P()},()=>{}),P=X(r,()=>{d.MxFun.getCurrentDraw().addMxEntity(s)},()=>{})}var le=(()=>{var r=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(r=r||__filename),function(s){s=s||{};var n;n||(n=typeof s<"u"?s:{});var f,a;n.ready=new Promise(function(e,t){f=e,a=t});var M=Object.assign({},n),p=typeof window=="object",E=typeof importScripts=="function",P="",g,D,b,W,_,w;typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"?(P=E?require("path").dirname(P)+"/":__dirname+"/",w=()=>{_||(W=require("fs"),_=require("path"))},g=function(e,t){return w(),e=_.normalize(e),W.readFileSync(e,t?void 0:"utf8")},b=e=>(e=g(e,!0),e.buffer||(e=new Uint8Array(e)),e),D=(e,t,i)=>{w(),e=_.normalize(e),W.readFile(e,function(u,l){u?i(u):t(l.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]"}):(p||E)&&(E?P=self.location.href:typeof document<"u"&&document.currentScript&&(P=document.currentScript.src),r&&(P=r),P=P.indexOf("blob:")!==0?P.substr(0,P.replace(/[?#].*/,"").lastIndexOf("/")+1):"",g=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},E&&(b=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),D=(e,t,i)=>{var u=new XMLHttpRequest;u.open("GET",e,!0),u.responseType="arraybuffer",u.onload=()=>{u.status==200||u.status==0&&u.response?t(u.response):i()},u.onerror=i,u.send(null)});var L=n.print||console.log.bind(console),B=n.printErr||console.warn.bind(console);Object.assign(n,M),M=null;function C(e){K||(K={}),K[e]||(K[e]=1,B(e))}var K,O;n.wasmBinary&&(O=n.wasmBinary),n.noExitRuntime,typeof WebAssembly!="object"&&se("no native wasm support detected");var J,H=!1,U=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function z(e,t,i){var u=t+i;for(i=t;e[i]&&!(i>=u);)++i;if(16<i-t&&e.buffer&&U)return U.decode(e.subarray(t,i));for(u="";t<i;){var l=e[t++];if(l&128){var o=e[t++]&63;if((l&224)==192)u+=String.fromCharCode((l&31)<<6|o);else{var c=e[t++]&63;l=(l&240)==224?(l&15)<<12|o<<6|c:(l&7)<<18|o<<12|c<<6|e[t++]&63,65536>l?u+=String.fromCharCode(l):(l-=65536,u+=String.fromCharCode(55296|l>>10,56320|l&1023))}}else u+=String.fromCharCode(l)}return u}function Y(e,t){return e?z(q,e,t):""}function fe(e,t,i,u){if(!(0<u))return 0;var l=i;u=i+u-1;for(var o=0;o<e.length;++o){var c=e.charCodeAt(o);if(55296<=c&&57343>=c){var y=e.charCodeAt(++o);c=65536+((c&1023)<<10)|y&1023}if(127>=c){if(i>=u)break;t[i++]=c}else{if(2047>=c){if(i+1>=u)break;t[i++]=192|c>>6}else{if(65535>=c){if(i+2>=u)break;t[i++]=224|c>>12}else{if(i+3>=u)break;t[i++]=240|c>>18,t[i++]=128|c>>12&63}t[i++]=128|c>>6&63}t[i++]=128|c&63}}return t[i]=0,i-l}var de,j,q,m,pe,ye;function Xe(){var e=J.buffer;de=e,n.HEAP8=j=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=pe=new Float32Array(e),n.HEAPF64=ye=new Float64Array(e)}var Ye,Ze=[],Qe=[],Je=[];function Kt(){var e=n.preRun.shift();Ze.unshift(e)}var ue=0,ce=null;n.preloadedImages={},n.preloadedAudios={};function se(e){throw n.onAbort&&n.onAbort(e),e="Aborted("+e+")",B(e),H=!0,e=new WebAssembly.RuntimeError(e+". Build with -s ASSERTIONS=1 for more info."),a(e),e}function qe(){return G.startsWith("data:application/octet-stream;base64,")}var G;if(G="mxdrawassembly_min.wasm.wasm",!qe()){var et=G;G=n.locateFile?n.locateFile(et,P):P+et}function tt(){var e=G;try{if(e==G&&O)return new Uint8Array(O);if(b)return b(e);throw"both async and sync fetching of the wasm failed"}catch(t){se(t)}}function jt(){if(!O&&(p||E)){if(typeof fetch=="function"&&!G.startsWith("file://"))return fetch(G,{credentials:"same-origin"}).then(function(e){if(!e.ok)throw"failed to load wasm binary file at '"+G+"'";return e.arrayBuffer()}).catch(function(){return tt()});if(D)return new Promise(function(e,t){D(G,function(i){e(new Uint8Array(i))},t)})}return Promise.resolve().then(function(){return tt()})}function Fe(e){for(;0<e.length;){var t=e.shift();if(typeof t=="function")t(n);else{var i=t.Da;typeof i=="number"?t.da===void 0?nt(i)():nt(i)(t.da):i(t.da===void 0?null:t.da)}}}var he=[];function nt(e){var t=he[e];return t||(e>=he.length&&(he.length=e+1),he[e]=t=Ye.get(e)),t}function rt(e,t){if(0>=e)return e;var i=32>=t?Math.abs(1<<t-1):Math.pow(2,t-1);return e>=i&&(32>=t||e>i)&&(e=-2*i+e),e}function it(e,t){return 0<=e?e:32>=t?2*Math.abs(1<<t-1)+e:Math.pow(2,t)+e}function Ot(e,t){function i($){var Ke=u;return($==="double"||$==="i64")&&Ke&7&&(Ke+=4),u=Ke,$==="double"?($=Number(ye[u>>3]),u+=8):$=="i64"?($=[m[u>>2],m[u+4>>2]],u+=8):($=m[u>>2],u+=4),$}for(var u=t,l=[],o,c;;){var y=e;if(o=j[e>>0],o===0)break;if(c=j[e+1>>0],o==37){var R=!1,v=t=!1,F=!1,ne=!1;e:for(;;){switch(c){case 43:R=!0;break;case 45:t=!0;break;case 35:v=!0;break;case 48:if(F)break e;F=!0;break;case 32:ne=!0;break;default:break e}e++,c=j[e+1>>0]}var V=0;if(c==42)V=i("i32"),e++,c=j[e+1>>0];else for(;48<=c&&57>=c;)V=10*V+(c-48),e++,c=j[e+1>>0];var k=!1,I=-1;if(c==46){if(I=0,k=!0,e++,c=j[e+1>>0],c==42)I=i("i32"),e++;else for(;c=j[e+1>>0],!(48>c||57<c);)I=10*I+(c-48),e++;c=j[e+1>>0]}switch(0>I&&(I=6,k=!1),String.fromCharCode(c)){case"h":if(c=j[e+2>>0],c==104){e++;var T=1}else T=2;break;case"l":c=j[e+2>>0],c==108?(e++,T=8):T=4;break;case"L":case"q":case"j":T=8;break;case"z":case"t":case"I":T=4;break;default:T=null}switch(T&&e++,c=j[e+1>>0],String.fromCharCode(c)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":y=c==100||c==105,T=T||4,o=i("i"+8*T),T==8&&(o=c==117?(o[0]>>>0)+4294967296*(o[1]>>>0):(o[0]>>>0)+4294967296*o[1]),4>=T&&(o=(y?rt:it)(o&Math.pow(256,T)-1,8*T));var ie=Math.abs(o);if(y="",c==100||c==105)var A=rt(o,8*T).toString(10);else if(c==117)A=it(o,8*T).toString(10),o=Math.abs(o);else if(c==111)A=(v?"0":"")+ie.toString(8);else if(c==120||c==88){if(y=v&&o!=0?"0x":"",0>o){for(o=-o,A=(ie-1).toString(16),ie=[],v=0;v<A.length;v++)ie.push((15-parseInt(A[v],16)).toString(16));for(A=ie.join("");A.length<2*T;)A="f"+A}else A=ie.toString(16);c==88&&(y=y.toUpperCase(),A=A.toUpperCase())}else c==112&&(ie===0?A="(nil)":(y="0x",A=ie.toString(16)));if(k)for(;A.length<I;)A="0"+A;for(0<=o&&(R?y="+"+y:ne&&(y=" "+y)),A.charAt(0)=="-"&&(y="-"+y,A=A.substr(1));y.length+A.length<V;)t?A+=" ":F?A="0"+A:y=" "+y;A=y+A,A.split("").forEach(function($){l.push($.charCodeAt(0))});break;case"f":case"F":case"e":case"E":case"g":case"G":if(o=i("double"),isNaN(o))A="nan",F=!1;else if(isFinite(o)){if(k=!1,T=Math.min(I,20),(c==103||c==71)&&(k=!0,I=I||1,T=parseInt(o.toExponential(T).split("e")[1],10),I>T&&-4<=T?(c=(c==103?"f":"F").charCodeAt(0),I-=T+1):(c=(c==103?"e":"E").charCodeAt(0),I--),T=Math.min(I,20)),c==101||c==69?(A=o.toExponential(T),/[eE][-+]\d$/.test(A)&&(A=A.slice(0,-1)+"0"+A.slice(-1))):(c==102||c==70)&&(A=o.toFixed(T),o===0&&(0>o||o===0&&1/o===-1/0)&&(A="-"+A)),y=A.split("e"),k&&!v)for(;1<y[0].length&&y[0].includes(".")&&(y[0].slice(-1)=="0"||y[0].slice(-1)==".");)y[0]=y[0].slice(0,-1);else for(v&&A.indexOf(".")==-1&&(y[0]+=".");I>T++;)y[0]+="0";A=y[0]+(1<y.length?"e"+y[1]:""),c==69&&(A=A.toUpperCase()),0<=o&&(R?A="+"+A:ne&&(A=" "+A))}else A=(0>o?"-":"")+"inf",F=!1;for(;A.length<V;)A=t?A+" ":!F||A[0]!="-"&&A[0]!="+"?(F?"0":" ")+A:A[0]+"0"+A.slice(1);97>c&&(A=A.toUpperCase()),A.split("").forEach(function($){l.push($.charCodeAt(0))});break;case"s":if(F=(R=i("i8*"))?Mt(R):6,k&&(F=Math.min(F,I)),!t)for(;F<V--;)l.push(32);if(R)for(v=0;v<F;v++)l.push(q[R++>>0]);else l=l.concat(lt("(null)".substr(0,F),!0));if(t)for(;F<V--;)l.push(32);break;case"c":for(t&&l.push(i("i8"));0<--V;)l.push(32);t||l.push(i("i8"));break;case"n":t=i("i32*"),m[t>>2]=l.length;break;case"%":l.push(o);break;default:for(v=y;v<e+2;v++)l.push(j[v>>0])}e+=2}else l.push(o),e+=1}return l}function Te(e){if(!e||!e.callee||!e.callee.name)return[null,"",""];var t=e.callee.name,i="(",u=!0,l;for(l in e){var o=e[l];u||(i+=", "),u=!1,i=typeof o=="number"||typeof o=="string"?i+o:i+("("+typeof o+")")}return i+=")",e=(e=e.callee.caller)?e.arguments:[],u&&(i=""),[e,t,i]}function kt(e){e:{var t=Error();if(!t.stack){try{throw Error()}catch(I){t=I}if(!t.stack){t="(no stack trace available)";break e}}t=t.stack.toString()}t=t.slice(t.indexOf(`
|
|
43
|
+
`,Math.max(t.lastIndexOf("_emscripten_log"),t.lastIndexOf("_emscripten_get_callstack")))+1),e&32&&C("EM_LOG_DEMANGLE is deprecated; ignoring"),e&8&&typeof emscripten_source_map>"u"&&(C('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 i=null;if(e&128)for(i=Te(arguments);i[1].includes("_emscripten_");)i=Te(i[0]);var u=t.split(`
|
|
44
|
+
`);t="";var l=RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)"),o=RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?"),c=RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)"),y;for(y in u){var R=u[y],v;if((v=c.exec(R))&&v.length==5){R=v[1];var F=v[2],ne=v[3];v=v[4]}else if((v=l.exec(R))||(v=o.exec(R)),v&&4<=v.length)R=v[1],F=v[2],ne=v[3],v=v[4]|0;else{t+=R+`
|
|
45
|
+
`;continue}var V=!1;if(e&8){var k=emscripten_source_map.Ia({line:ne,ua:v});(V=k&&k.source)&&(e&64&&(k.source=k.source.substring(k.source.replace(/\\/g,"/").lastIndexOf("/")+1)),t+=" at "+R+" ("+k.source+":"+k.line+":"+k.ua+`)
|
|
46
|
+
`)}(e&16||!V)&&(e&64&&(F=F.substring(F.replace(/\\/g,"/").lastIndexOf("/")+1)),t+=(V?" = "+R:" at "+R)+" ("+F+":"+ne+":"+v+`)
|
|
47
|
+
`),e&128&&i[0]&&(i[1]==R&&0<i[2].length&&(t=t.replace(/\s+$/,""),t+=" with values: "+i[1]+i[2]+`
|
|
48
|
+
`),i=Te(i[0]))}return t=t.replace(/\s+$/,"")}function Vt(e){var t=e.getExtension("ANGLE_instanced_arrays");t&&(e.vertexAttribDivisor=function(i,u){t.vertexAttribDivisorANGLE(i,u)},e.drawArraysInstanced=function(i,u,l,o){t.drawArraysInstancedANGLE(i,u,l,o)},e.drawElementsInstanced=function(i,u,l,o,c){t.drawElementsInstancedANGLE(i,u,l,o,c)})}function Ht(e){var t=e.getExtension("OES_vertex_array_object");t&&(e.createVertexArray=function(){return t.createVertexArrayOES()},e.deleteVertexArray=function(i){t.deleteVertexArrayOES(i)},e.bindVertexArray=function(i){t.bindVertexArrayOES(i)},e.isVertexArray=function(i){return t.isVertexArrayOES(i)})}function Ut(e){var t=e.getExtension("WEBGL_draw_buffers");t&&(e.drawBuffers=function(i,u){t.drawBuffersWEBGL(i,u)})}var ut=1,Ee=[],ee=[],te=[],We=[],st=[1,1,2,2,4,4,4,2,3,4,8];function oe(e){Me||(Me=e)}function ge(e){for(var t=ut++,i=e.length;i<t;i++)e[i]=null;return t}function Le(e){return 32-Math.clz32(e===0?0:e-1)}function zt(e,t){e.fa||(e.fa=e.getContext,e.getContext=function(u,l){return(l=e.fa(u,l))||(l=e.fa(u)),u=="webgl"==l instanceof WebGLRenderingContext?l:null});var i=1<t.na?e.getContext("webgl2",t):e.getContext("webgl",t);return i?Nt(i,t):0}function Nt(e,t){var i=ge(We),u={Ea:i,attributes:t,version:t.na,ba:e};for(e.canvas&&(e.canvas.ya=u),We[i]=u,(typeof t.ma>"u"||t.ma)&&Gt(u),u.oa=u.ba.getParameter(34921),u.X=[],e=0;e<u.oa;e++)u.X[e]={enabled:!1,ea:!1,size:0,type:0,pa:0,ga:0,R:0,ta:null};for(e=Le(2097152),u.U=[],u.qa=[],u.U.length=u.qa.length=e+1,u.aa=[],u.ha=[],u.aa.length=u.ha.length=e+1,u.S=[],u.S.length=e+1,t=0;t<=e;++t){u.S[t]=null,u.U[t]=u.qa[t]=0,u.aa[t]=[],u.ha[t]=[];var l=u.aa[t],o=u.ha[t];l.length=o.length=64;for(var c=0;64>c;++c)l[c]=o[c]=null}return i}function Gt(e){if(e||(e=S),!e.xa){e.xa=!0;var t=e.ba;Vt(t),Ht(t),Ut(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(i){i.includes("lose_context")||i.includes("debug")||t.getExtension(i)})}}var Me,S,Se,$t=["default","low-power","high-performance"],Xt=[0,typeof document<"u"?document:0,typeof window<"u"?window:0];function ot(e){return e.slice(-1)=="]"&&e.lastIndexOf("[")}function at(e){var t=h.va;if(t){var i=t.V[e];return typeof i=="number"&&(t.V[e]=i=h.getUniformLocation(t,t.ra[e]+(0<i?"["+i+"]":""))),i}oe(1282)}for(var ct=[],h,Yt=new Float32Array(288),Ae=0;288>Ae;++Ae)ct[Ae]=Yt.subarray(0,Ae+1);function lt(e,t){for(var i=0,u=0;u<e.length;++u){var l=e.charCodeAt(u);55296<=l&&57343>=l&&(l=65536+((l&1023)<<10)|e.charCodeAt(++u)&1023),127>=l?++i:i=2047>=l?i+2:65535>=l?i+3:i+4}return i=Array(i+1),e=fe(e,i,0,i.length),t&&(i.length=e),i}var Zt={c:function(){se("")},a:function(e,t,i){t=Ot(t,i),t=z(t,0),e&24&&(t=t.replace(/\s+$/,""),t+=(0<t.length?`
|
|
49
|
+
`:"")+kt(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?B(t):L(t)},o:function(e,t,i){q.copyWithin(e,t,t+i)},n:function(e){var t=q.length;if(e>>>=0,2147483648<e)return!1;for(var i=1;4>=i;i*=2){var u=t*(1+.2/i);u=Math.min(u,e+100663296);var l=Math;u=Math.max(e,u),l=l.min.call(l,2147483648,u+(65536-u%65536)%65536);e:{try{J.grow(l-de.byteLength+65535>>>16),Xe();var o=1;break e}catch{}o=void 0}if(o)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:$t[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?Y(e):e,e=Xt[e]||(typeof document<"u"?document.querySelector(e):void 0),!e||t.wa?0:zt(e,t)},e:function(e){return S=We[e],n.za=h=S&&S.ba,!e||h?0:-5},d:function(e,t){h.attachShader(ee[e],te[t])},A:function(e,t,i){h.bindAttribLocation(ee[e],t,Y(i))},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,i,u){2<=S.version?i?h.bufferData(e,q,u,i,t):h.bufferData(e,t,u):h.bufferData(e,i?q.subarray(i,i+t):t,u)},v:function(e){h.clear(e)},w:function(e,t,i,u){h.clearColor(e,t,i,u)},t:function(e){h.compileShader(te[e])},j:function(){var e=ge(ee),t=h.createProgram();return t.name=e,t.$=t.Y=t.Z=0,t.ia=1,ee[e]=t,e},C:function(e){var t=ge(te);return te[t]=h.createShader(e),t},q:function(e,t,i,u){if(!h.ka){var l=1*st[i-5120]*t,o=Le(l),c=S.S[o];c?o=c:(c=h.getParameter(34965),S.S[o]=h.createBuffer(),h.bindBuffer(34963,S.S[o]),h.bufferData(34963,1<<o,35048),h.bindBuffer(34963,c),o=S.S[o]),h.bindBuffer(34963,o),h.bufferSubData(34963,0,q.subarray(u,u+l)),u=0}for(Se=!1,l=0;l<S.oa;++l)if(o=S.X[l],o.ea&&o.enabled){Se=!0,c=o.ga,c=0<c?t*c:o.size*st[o.type-5120]*t;var y=Le(c),R=S.aa[y],v=S.U[y];S.U[y]=S.U[y]+1&63;var F=R[v];F?y=F:(F=h.getParameter(34964),R[v]=h.createBuffer(),h.bindBuffer(34962,R[v]),h.bufferData(34962,1<<y,35048),h.bindBuffer(34962,F),y=R[v]),h.bindBuffer(34962,y),h.bufferSubData(34962,0,q.subarray(o.R,o.R+c)),o.ta.call(h,l,o.size,o.type,o.pa,o.ga,0)}h.drawElements(e,t,i,u),Se&&h.bindBuffer(34962,Ee[h.ja]),h.ka||h.bindBuffer(34963,null)},s:function(e){S.X[e].enabled=!0,h.enableVertexAttribArray(e)},g:function(e,t){for(var i=0;i<e;i++){var u=h.createBuffer(),l=u&&ge(Ee);u?(u.name=l,Ee[l]=u):oe(1282),m[t+4*i>>2]=l}},p:function(){var e=h.getError()||Me;return Me=0,e},x:function(e,t,i){if(i)if(e>=ut)oe(1281);else if(e=ee[e],t==35716)e=h.getProgramInfoLog(e),e===null&&(e="(unknown error)"),m[i>>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[i>>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[i>>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[i>>2]=e.Z}else m[i>>2]=h.getProgramParameter(e,t);else oe(1281)},l:function(e,t,i,u){e=h.getShaderInfoLog(te[e]),e===null&&(e="(unknown error)"),t=0<t&&u?fe(e,q,u,t):0,i&&(m[i>>2]=t)},m:function(e,t,i){i?t==35716?(e=h.getShaderInfoLog(te[e]),e===null&&(e="(unknown error)"),m[i>>2]=e?e.length+1:0):t==35720?(e=h.getShaderSource(te[e]),m[i>>2]=e?e.length+1:0):m[i>>2]=h.getShaderParameter(te[e],t):oe(1281)},i:function(e,t){if(t=Y(t),e=ee[e]){var i=e,u=i.V,l=i.sa,o;if(!u)for(i.V=u={},i.ra={},o=0;o<h.getProgramParameter(i,35718);++o){var c=h.getActiveUniform(i,o),y=c.name;c=c.size;var R=ot(y);R=0<R?y.slice(0,R):y;var v=i.ia;for(i.ia+=c,l[R]=[c,v],y=0;y<c;++y)u[v]=y,i.ra[v++]=R}if(i=e.V,u=0,l=t,o=ot(t),0<o&&(u=parseInt(t.slice(o+1))>>>0,l=t.slice(0,o)),(l=e.sa[l])&&u<l[0]&&(u+=l[1],i[u]=i[u]||h.getUniformLocation(e,t)))return u}else oe(1281);return-1},z:function(e){e=ee[e],h.linkProgram(e),e.V=0,e.sa={}},B:function(e,t,i,u){for(var l="",o=0;o<t;++o){var c=u?m[u+4*o>>2]:-1;l+=Y(m[i+4*o>>2],0>c?void 0:c)}h.shaderSource(te[e],l)},h:function(e,t,i,u){if(2<=S.version)h.uniformMatrix4fv(at(e),!!i,pe,u>>2,16*t);else{if(18>=t){var l=ct[16*t-1],o=pe;u>>=2;for(var c=0;c<16*t;c+=16){var y=u+c;l[c]=o[y],l[c+1]=o[y+1],l[c+2]=o[y+2],l[c+3]=o[y+3],l[c+4]=o[y+4],l[c+5]=o[y+5],l[c+6]=o[y+6],l[c+7]=o[y+7],l[c+8]=o[y+8],l[c+9]=o[y+9],l[c+10]=o[y+10],l[c+11]=o[y+11],l[c+12]=o[y+12],l[c+13]=o[y+13],l[c+14]=o[y+14],l[c+15]=o[y+15]}}else l=pe.subarray(u>>2,u+64*t>>2);h.uniformMatrix4fv(at(e),!!i,l)}},u:function(e){e=ee[e],h.useProgram(e),h.va=e},y:function(e){h.validateProgram(ee[e])},r:function(e,t,i,u,l,o){var c=S.X[e];h.ja?(c.ea=!1,h.vertexAttribPointer(e,t,i,!!u,l,o)):(c.size=t,c.type=i,c.pa=u,c.ga=l,c.R=o,c.ea=!0,c.ta=function(y,R,v,F,ne,V){this.vertexAttribPointer(y,R,v,F,ne,V)})}};(function(){function e(l){n.asm=l.exports,J=n.asm.D,Xe(),Ye=n.asm.M,Qe.unshift(n.asm.E),ue--,n.monitorRunDependencies&&n.monitorRunDependencies(ue),ue==0&&ce&&(l=ce,ce=null,l())}function t(l){e(l.instance)}function i(l){return jt().then(function(o){return WebAssembly.instantiate(o,u)}).then(function(o){return o}).then(l,function(o){B("failed to asynchronously prepare wasm: "+o),se(o)})}var u={a:Zt};if(ue++,n.monitorRunDependencies&&n.monitorRunDependencies(ue),n.instantiateWasm)try{return n.instantiateWasm(u,e)}catch(l){return B("Module.instantiateWasm callback failed with error: "+l),!1}return function(){return O||typeof WebAssembly.instantiateStreaming!="function"||qe()||G.startsWith("file://")||typeof fetch!="function"?i(t):fetch(G,{credentials:"same-origin"}).then(function(l){return WebAssembly.instantiateStreaming(l,u).then(t,function(o){return B("wasm streaming compile failed: "+o),B("falling back to ArrayBuffer instantiation"),i(t)})})}().catch(a),{}})(),n.___wasm_call_ctors=function(){return(n.___wasm_call_ctors=n.asm.E).apply(null,arguments)};var ft=n._emscripten_bind_VoidPtr___destroy___0=function(){return(ft=n._emscripten_bind_VoidPtr___destroy___0=n.asm.F).apply(null,arguments)},dt=n._emscripten_bind_McObject_updateDisplay_2=function(){return(dt=n._emscripten_bind_McObject_updateDisplay_2=n.asm.G).apply(null,arguments)},pt=n._emscripten_bind_McObject_test_0=function(){return(pt=n._emscripten_bind_McObject_test_0=n.asm.H).apply(null,arguments)},yt=n._emscripten_bind_McApp_McApp_0=function(){return(yt=n._emscripten_bind_McApp_McApp_0=n.asm.I).apply(null,arguments)},ht=n._emscripten_bind_McApp_Init_0=function(){return(ht=n._emscripten_bind_McApp_Init_0=n.asm.J).apply(null,arguments)},Et=n._emscripten_bind_McApp_CreateMxDraw_3=function(){return(Et=n._emscripten_bind_McApp_CreateMxDraw_3=n.asm.K).apply(null,arguments)},gt=n._emscripten_bind_McApp___destroy___0=function(){return(gt=n._emscripten_bind_McApp___destroy___0=n.asm.L).apply(null,arguments)},Mt=n._strlen=function(){return(Mt=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;ce=function e(){Pe||Ie(),Pe||(ce=e)};function Ie(){function e(){if(!Pe&&(Pe=!0,n.calledRun=!0,!H)){if(Fe(Qe),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();Je.unshift(t)}Fe(Je)}}if(!(0<ue)){if(n.preRun)for(typeof n.preRun=="function"&&(n.preRun=[n.preRun]);n.preRun.length;)Kt();Fe(Ze),0<ue||(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 N(){}N.prototype=Object.create(N.prototype),N.prototype.constructor=N,N.prototype.T=N,N.W={},n.WrapperObject=N;function _e(e){return(e||N).W}n.getCache=_e;function ve(e,t){var i=_e(t),u=i[e];return u||(u=Object.create((t||N).prototype),u.R=e,i[e]=u)}n.wrapPointer=ve,n.castObject=function(e,t){return ve(e.R,t)},n.NULL=ve(0),n.destroy=function(e){if(!e.__destroy__)throw"Error: Cannot destroy object. (Did you create it yourself?)";e.__destroy__(),delete _e(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,Be=0,Ce=0,De=[],we=0;function At(){if(we){for(var e=0;e<De.length;e++)n._free(De[e]);De.length=0,n._free(ae),ae=0,Be+=we,we=0}ae||(Be+=128,(ae=n._malloc(Be))||se(void 0)),Ce=0}function Pt(e,t){return ae||se(void 0),e=e.length*t.BYTES_PER_ELEMENT,e=e+7&-8,Ce+e>=Be?(0<e||se(void 0),we+=e,t=n._malloc(e),De.push(t)):(t=ae+Ce,Ce+=e),t}function _t(e,t,i){switch(i>>>=0,t.BYTES_PER_ELEMENT){case 2:i>>>=1;break;case 4:i>>>=2;break;case 8:i>>>=3}for(var u=0;u<e.length;u++)t[i+u]=e[u]}function vt(e){if(typeof e=="object"){var t=Pt(e,ye);return _t(e,ye,t),t}return e}function re(){throw"cannot construct a VoidPtr, no constructor in IDL"}re.prototype=Object.create(N.prototype),re.prototype.constructor=re,re.prototype.T=re,re.W={},n.VoidPtr=re,re.prototype.__destroy__=function(){ft(this.R)};function Z(){throw"cannot construct a McObject, no constructor in IDL"}Z.prototype=Object.create(N.prototype),Z.prototype.constructor=Z,Z.prototype.T=Z,Z.W={},n.McObject=Z,Z.prototype.updateDisplay=function(e,t){var i=this.R;return At(),typeof e=="object"&&(e=vt(e)),typeof t=="object"&&(t=vt(t)),!!dt(i,e,t)},Z.prototype.test=Z.prototype.test=function(){pt(this.R)};function Q(){this.R=yt(),_e(Q)[this.R]=this}return Q.prototype=Object.create(N.prototype),Q.prototype.constructor=Q,Q.prototype.T=Q,Q.W={},n.McApp=Q,Q.prototype.Init=function(){ht(this.R)},Q.prototype.CreateMxDraw=function(e,t,i){var u=this.R;if(At(),e&&typeof e=="object"&&(e=e.R),t&&typeof t=="object"&&(t=t.R),i&&typeof i=="object")i=i.R;else if(typeof i=="string"){i=lt(i);var l=Pt(i,j);_t(i,j,l),i=l}return ve(Et(u,e,t,i),Z)},Q.prototype.__destroy__=function(){gt(this.R)},s.ready}})();typeof x=="object"&&typeof module=="object"?module.exports=le:typeof define=="function"&&define.amd?define([],function(){return le}):typeof x=="object"&&(x.mxdrawassembly=le);const Ge=(r,s)=>new URL(r,s||self.location.href).toString();x.MxCpp=void 0;function $e(r,s=Ge){le({locateFile:s}).then(n=>{let f=new n.McApp;f.Init(),x.MxCpp=n,x.MxCpp.McApp=f,r(x.MxCpp)})}const It={loadMxdrawassembly:$e,getWasmURL:Ge};x.MxTools=xe,x.b64Decode=ke,x.b64Encode=Oe,x.default=It,x.drawArc=Lt,x.drawCircle=Ue,x.drawEllipticalArc=St,x.drawLine=Ne,x.drawMText=mt,x.drawPolyLine=Rt,x.drawPolygon=bt,x.drawText=wt,x.fetchAndInstantiate=Bt,x.fetchFile=Ct,x.loadMxdrawassembly=$e,x.readFromBlobOrFile=je,x.setMcDbEntity=Ve,x.toBlobURL=Dt,Object.defineProperties(x,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
package/package.json
CHANGED
|
@@ -1,38 +1,66 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mxcad",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
3
|
+
"version": "1.0.4",
|
|
4
|
+
"main": "./dist/mxcad.umd.js",
|
|
5
|
+
"module": "./dist/mxcad.es.js",
|
|
6
|
+
"typings": "dist/mxcad.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"require": "./dist/mxcad.umd.js",
|
|
10
|
+
"module": "./dist/mxcad.es.js"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"description": "mxcad cad编辑版",
|
|
7
14
|
"files": [
|
|
8
|
-
"
|
|
15
|
+
"dist"
|
|
9
16
|
],
|
|
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"
|
|
21
|
-
},
|
|
22
|
-
"author": "",
|
|
23
|
-
"license": "ISC",
|
|
24
17
|
"peerDependencies": {
|
|
25
|
-
"mxdraw": "
|
|
18
|
+
"mxdraw": "^0.1.127"
|
|
19
|
+
},
|
|
20
|
+
"scripts": {
|
|
21
|
+
"dev": "vite --host --force",
|
|
22
|
+
"build": "tsc && vite build && dts-bundle-generator --config ./dts-bundle-generator.config.ts && npx typedoc --tsconfig tsconfig.json",
|
|
23
|
+
"preview": "vite preview",
|
|
24
|
+
"test": "jest --runInBand",
|
|
25
|
+
"test:coverage": "jest --runInBand --coverage",
|
|
26
|
+
"lint:scripts": "eslint . --ext .ts",
|
|
27
|
+
"lint:styles": "stylelint ./**/*.{css,scss}",
|
|
28
|
+
"format:scripts": "prettier . --write",
|
|
29
|
+
"format:styles": "stylelint ./**/*.{css,scss} --fix",
|
|
30
|
+
"format": "npm run format:scripts && npm run format:styles",
|
|
31
|
+
"emcc:init": "cd emsdk && git pull && cd ../ && .\\emsdk\\emsdk install latest && .\\emsdk\\emsdk activate latest && .\\emsdk\\emsdk_env.bat",
|
|
32
|
+
"c-to-mjs": "emcc -O3 ./emsdk/WebAssembly/hello.cpp -o ./src/wasm/index.mjs -s STANDALONE_WASM",
|
|
33
|
+
"c-to-wasi": "emcc -O2 ./emsdk/WebAssembly/hello.cpp -o ./emsdk/WebAssembly/wasi.js -s STANDALONE_WASM",
|
|
34
|
+
"node:to": "node cToWasm"
|
|
26
35
|
},
|
|
27
36
|
"devDependencies": {
|
|
28
|
-
"@types/jest": "^29.
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
37
|
+
"@types/jest": "^29.0.0",
|
|
38
|
+
"@types/jsdom": "^20.0.0",
|
|
39
|
+
"@types/node": "^18.7.16",
|
|
40
|
+
"@types/offscreencanvas": "^2019.7.0",
|
|
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.
|
|
37
|
-
|
|
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"
|
|
64
|
+
},
|
|
65
|
+
"license": "MIT"
|
|
38
66
|
}
|
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;
|