mxdraw 0.1.120 → 0.1.121
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/dist/index.d.ts +19 -0
- package/dist/lib/MxModule/MxDbEntity/index.d.ts +10 -0
- package/dist/lib/MxModule/MxDbEntity/index.js +1 -1
- package/dist/lib/MxModule/MxDbSVG/index.js +1 -1
- package/dist/lib/MxModule/MxDrawObject/index.d.ts +9 -0
- package/dist/lib/MxModule/MxDrawObject/index.js +1 -1
- package/dist/lib/MxModule/loadCoreCode/mxfun.es5.js +1 -1
- package/dist/mxdraw.es.js +1 -1
- package/dist/mxdraw.umd.js +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -787,6 +787,16 @@ declare abstract class MxDbEntity {
|
|
|
787
787
|
* @returns void
|
|
788
788
|
*/
|
|
789
789
|
removeEvent(name: string): void;
|
|
790
|
+
/**
|
|
791
|
+
* 把一个对象变成一个json字体串.
|
|
792
|
+
* @returns void
|
|
793
|
+
*/
|
|
794
|
+
toJsonString(type?: MxType.MxCloneType): string;
|
|
795
|
+
/**
|
|
796
|
+
* 从一个josn字符串加载数据.
|
|
797
|
+
* @returns void
|
|
798
|
+
*/
|
|
799
|
+
fromJsonString(str: string): boolean;
|
|
790
800
|
}
|
|
791
801
|
|
|
792
802
|
/** @module MxDbGroup */
|
|
@@ -1761,6 +1771,15 @@ declare class MxDrawObject {
|
|
|
1761
1771
|
* ```
|
|
1762
1772
|
*/
|
|
1763
1773
|
getAllLayoutName(): string[];
|
|
1774
|
+
/**
|
|
1775
|
+
* 得到数据库Json字符串数据.
|
|
1776
|
+
* @example
|
|
1777
|
+
* ```typescript
|
|
1778
|
+
*
|
|
1779
|
+
*
|
|
1780
|
+
* ```
|
|
1781
|
+
*/
|
|
1782
|
+
getDtabaseJsonString(): string;
|
|
1764
1783
|
}
|
|
1765
1784
|
|
|
1766
1785
|
/**
|
|
@@ -352,4 +352,14 @@ export default abstract class MxDbEntity {
|
|
|
352
352
|
* @returns void
|
|
353
353
|
*/
|
|
354
354
|
removeEvent(name: string): void;
|
|
355
|
+
/**
|
|
356
|
+
* 把一个对象变成一个json字体串.
|
|
357
|
+
* @returns void
|
|
358
|
+
*/
|
|
359
|
+
toJsonString(type?: MxType.MxCloneType): string;
|
|
360
|
+
/**
|
|
361
|
+
* 从一个josn字符串加载数据.
|
|
362
|
+
* @returns void
|
|
363
|
+
*/
|
|
364
|
+
fromJsonString(str: string): boolean;
|
|
355
365
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import _ from"lodash";import MxType from"../MxType";import store from"../store";export var DataType;!function(t){t[t.Default=0]="Default",t[t.Color=1]="Color",t[t.Vector2=2]="Vector2",t[t.Vector3=3]="Vector3",t[t.Vector4=4]="Vector4",t[t.Matrix3=5]="Matrix3",t[t.Matrix4=6]="Matrix4"}(DataType||(DataType={}));export const MXDBDATATYPE="datatype";const propertyDbKeys=["color","renderOrder","opacity","visible","userData","sGuid","dLineWidth","lineWidthByPixels","dDashArray","dDashRatio","layer"];function getDwgKeyVal(t,e){let i,r="";return _.isObject(e)?(i=e.default,r=e.key):"string"==typeof e&&(r=e),[r,void 0===t[r]?i:t[r]]}export default class MxDbEntity{constructor(){this.color=16777215,this.renderOrder=30,this.opacity=1,this.visible=!0,this.userData={},this.sGuid="",this.dLineWidth=0,this.lineWidthByPixels=!0,this.dDashArray=0,this.dDashRatio=0,this.layer="",this._event={}}initGuid(t){this.sGuid.length>0?console.log("mx: init guid error"):this.sGuid=t}dwgInHelp(t,e,i){let r=this;const s=t.type===MxType.MxCloneType.kMxFileClone||t.type===MxType.MxCloneType.kSaveDwgClone,a=t=>{if(!t)return;const{value:e,[MXDBDATATYPE]:r}=t;switch(r){case DataType.Color:return new THREE.Color(...e);case DataType.Vector2:return new THREE.Vector2(...e);case DataType.Vector3:return new THREE.Vector3(...e);case DataType.Vector4:return new THREE.Vector4(...e);case DataType.Matrix3:return(new THREE.Matrix3).fromArray(e);case DataType.Matrix4:return(new THREE.Matrix4).fromArray(e)}return i&&i.getCacheVal?i.getCacheVal(t):void 0};function n(t){return t instanceof THREE.Color||t instanceof THREE.Vector2||t instanceof THREE.Vector3||t instanceof THREE.Vector4||t instanceof THREE.Matrix3||t instanceof THREE.Matrix4?t.clone():i&&i.getVal?i.getVal(t):void 0}return e.forEach(e=>{const[i,
|
|
1
|
+
import _ from"lodash";import MxType from"../MxType";import store from"../store";export var DataType;!function(t){t[t.Default=0]="Default",t[t.Color=1]="Color",t[t.Vector2=2]="Vector2",t[t.Vector3=3]="Vector3",t[t.Vector4=4]="Vector4",t[t.Matrix3=5]="Matrix3",t[t.Matrix4=6]="Matrix4"}(DataType||(DataType={}));export const MXDBDATATYPE="datatype";const propertyDbKeys=["color","renderOrder","opacity","visible","userData","sGuid","dLineWidth","lineWidthByPixels","dDashArray","dDashRatio","layer"];function getDwgKeyVal(t,e){let i,r="";return _.isObject(e)?(i=e.default,r=e.key):"string"==typeof e&&(r=e),[r,void 0===t[r]?i:t[r]]}export default class MxDbEntity{constructor(){this.color=16777215,this.renderOrder=30,this.opacity=1,this.visible=!0,this.userData={},this.sGuid="",this.dLineWidth=0,this.lineWidthByPixels=!0,this.dDashArray=0,this.dDashRatio=0,this.layer="",this._event={}}initGuid(t){this.sGuid.length>0?console.log("mx: init guid error"):this.sGuid=t}dwgInHelp(t,e,i){let r=this;const s=t.type===MxType.MxCloneType.kMxFileClone||t.type===MxType.MxCloneType.kSaveDwgClone,a=t=>{if(!t)return;const{value:e,[MXDBDATATYPE]:r}=t;switch(r){case DataType.Color:return new THREE.Color(...e);case DataType.Vector2:return new THREE.Vector2(...e);case DataType.Vector3:return new THREE.Vector3(...e);case DataType.Vector4:return new THREE.Vector4(...e);case DataType.Matrix3:return(new THREE.Matrix3).fromArray(e);case DataType.Matrix4:return(new THREE.Matrix4).fromArray(e)}return i&&i.getCacheVal?i.getCacheVal(t):void 0};function n(t){return t instanceof THREE.Color||t instanceof THREE.Vector2||t instanceof THREE.Vector3||t instanceof THREE.Vector4||t instanceof THREE.Matrix3||t instanceof THREE.Matrix4?t.clone():i&&i.getVal?i.getVal(t):void 0}return e.forEach(e=>{const[i,o]=getDwgKeyVal(t,e);r[i]=_.cloneDeepWith(o,s?a:n)}),!0}dwgOutHelp(t,e){const i=t=>t instanceof THREE.Color?{[MXDBDATATYPE]:DataType.Color,value:t.toArray()}:t instanceof THREE.Vector2?{[MXDBDATATYPE]:DataType.Vector2,value:t.toArray()}:t instanceof THREE.Vector3?{[MXDBDATATYPE]:DataType.Vector3,value:t.toArray()}:t instanceof THREE.Vector4?{[MXDBDATATYPE]:DataType.Vector4,value:t.toArray()}:t instanceof THREE.Matrix3?{[MXDBDATATYPE]:DataType.Matrix3,value:t.toArray()}:t instanceof THREE.Matrix4?{[MXDBDATATYPE]:DataType.Matrix4,value:t.toArray()}:void 0;let r=this;const s=t.type===MxType.MxCloneType.kMxFileClone||t.type===MxType.MxCloneType.kSaveDwgClone;return e.forEach(e=>{const[a,n]=getDwgKeyVal(r,e);t[a]=s?_.cloneDeepWith(n,i):n}),t}callEvent(t,e){return void 0!=this._event[t]?this._event[t](e):void 0}create(t){return new(0,this.constructor)(t)}transformBy(t){}getGeomExtents(){return null}getClosestPointTo(t,e=0){return null}getImp(){return this.MxDbEntityImp}setNeedUpdateDisplay(t){let e=this.getImp();return!!e&&(t?e.upDisplay():e.setDirtyDisplay(!0),!0)}getMxObject(){let t=this.getImp();return t?t.getMxObject():null}onViewChange(){return!1}objectId(){let t=this.getImp();return t?t.objectId():0}erase(){let t=this.getImp();return!!t&&t.erase()}setLayer(t){let e=this.getImp();e&&e.nodifySetLayer(),this.layer=t}getLayer(){return this.layer}setColor(t){return this.color=t,this}getColor(){return this.color||16777215}clone(t){let e=this.create(),i={type:t||MxType.MxCloneType.kClone};return this.dwgOut(i),e.dwgIn(i),e.sGuid="",e}onDwgIn(t){this.color=t.color,this.renderOrder=t.renderOrder,this.opacity=t.opacity,this.visible=t.visible,t.userData?this.userData=JSON.parse(JSON.stringify(t.userData)):this.userData={},this.dLineWidth=t.lineWidth,this.lineWidthByPixels=t.lineWidthByPixels,this.dDashArray=t.dashArray,this.dDashRatio=t.dashRatio,this.layer=t.layer,t.guid&&(this.sGuid=t.guid)}onDwgOut(t){t.color=this.color,t.renderOrder=this.renderOrder,t.opacity=this.opacity,t.visible=this.visible,t.lineWidth=this.dLineWidth,t.lineWidthByPixels=this.lineWidthByPixels,t.dashArray=this.dDashArray,t.dashRatio=this.dDashRatio,t.layer=this.layer,t.guid=this.sGuid,Object.keys(this.userData).length>0&&(t.userData=this.userData)}rxInit(){store.state.MxFun.initMxDbEntityType(this)}setRenderOrder(t){this.renderOrder=t}getRenderOrder(){return this.renderOrder}setLineWidthByPixels(t){return this.lineWidthByPixels=t,this}getLineWidthByPixels(){return this.lineWidthByPixels}setLineWidth(t){return this.dLineWidth=t,this}getLineWidth(){return this.dLineWidth}getGetLength(){return 0}setDashLen(t){let e=this.getGetLength();if(e<1e-6||t<1e-6)return this;let i=Math.floor(e/t);return i<1e-6&&(this.dDashRatio=0),this.dDashArray=1/i,this}setDashRatio(t){return this.dDashRatio=t,this}setDashArray(t){return this.dDashArray=t,this}setDash(t,e){return this.dDashArray=t,this.dDashRatio=e,0==this.dLineWidth&&(this.dLineWidth=6,this.lineWidthByPixels=!0),this}getDash(){return{dDashArray:this.dDashArray,dDashRatio:this.dDashRatio}}setDashLineDisplay(t){return t?(this.dDashArray<1e-5&&(this.dDashArray=.03),this.dDashRatio<1e-5&&(this.dDashRatio=.1),0==this.dLineWidth&&(this.dLineWidth=6,this.lineWidthByPixels=!0)):(this.dDashArray=0,this.dDashRatio=0),this}isDashLineDisplay(){return this.dDashArray>0&&this.dDashRatio>0}guid(){return this.sGuid}onEndGripEidt(){this.callEvent("onEndGripEidt")}onStartGripEidt(){return this.callEvent("onStartGripEidt")}addEvent(t,e){this._event[t]=e}removeEvent(t){this._event[t]=void 0}toJsonString(t=MxType.MxCloneType.kMxFileClone){let e={type:t};return this.dwgOut(e),e.TypeName=this.getTypeName(),JSON.stringify(e)}fromJsonString(t){let e=JSON.parse(t);return(e.type==MxType.MxCloneType.kMxFileClone||e.type==MxType.MxCloneType.kClone)&&this.dwgIn(e)}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(t,e,s,i){return new(s||(s=Promise))(function(o,r){function n(t){try{a(i.next(t))}catch(t){r(t)}}function g(t){try{a(i.throw(t))}catch(t){r(t)}}function a(t){var e;t.done?o(t.value):(e=t.value,e instanceof s?e:new s(function(t){t(e)})).then(n,g)}a((i=i.apply(t,e||[])).next())})};import McGiWorldDrawType from"../McGiWorldDrawType";import MxDbEntity from"../MxDbEntity";import MxDbSVGText from"../MxDbSVGText";import MxFun from"../MxFun";import MxThreeJS from"../MxThreeJS";import MxType from"../MxType";export default class MxDbSVG extends MxDbEntity{constructor(){super(...arguments),this.svgPos=new THREE.Vector3,this.svg=null,this.svgPath="",this.svgSize=new THREE.Vector2(50,50),this.svgAlignmentRatio=new THREE.Vector2(0,0),this.svgRotate=0,this.svgReverse=!1,this.svgMirror=!1,this.svgChildColor=[],this.svgMargin=new THREE.Vector2(0,0),this.isSvgDirtyLocation=!1,this.isLoadFromPath=!0,this.aryText=[],this.svgBoxSize=null,this.fixedSize=!1,this.useSvgColor=!1}setSvgChildColor(t){if(this.svgChildColor=t,!this.useSvgColor&&this.svg){let t=new THREE.Color(this.getColor()),e=0,s=this;this.svg.traverse(function(i){i.material&&(e<s.svgChildColor.length?i.material.color=new THREE.Color(s.svgChildColor[e]):i.material.color=t,e++)}),this.setNeedUpdateDisplay(!0)}}getSvgChildColor(){return this.svgChildColor}calcVewSize(t){let e=this.svgSize.x,s=this.svgSize.y;return s<=0&&(s=this.svgBoxSize?this.svgBoxSize.y/this.svgBoxSize.x*e:e),this.fixedSize&&(e=t.screenCoordLong2Doc(e),s=t.screenCoordLong2Doc(s)),[e,s]}calcSvgDrawRect(t){if(!t)return;this.calcSvgPosition(t);let[e,s]=this.calcVewSize(t),i=new THREE.Matrix4;i.makeScale(this.svgMirror?-1:1,this.svgReverse?-1:1,1);let o=new THREE.Matrix4;o.makeRotationZ(this.svgRotate);let r=new THREE.Matrix4,n=new THREE.Vector3(this.svgPos.x-e*this.svgAlignmentRatio.x,this.svgPos.y-s*this.svgAlignmentRatio.y,0);r.makeTranslation(n.x,n.y,n.z),o.multiply(i),o.premultiply(r);let g=new THREE.Vector3(0,0,0),a=new THREE.Vector3(e,0,0),l=new THREE.Vector3(e,s,0),h=new THREE.Vector3(0,s,0);return g.applyMatrix4(o),a.applyMatrix4(o),l.applyMatrix4(o),h.applyMatrix4(o),{pt1:g,pt2:l,pt3:a,pt4:h,cenpt:l.clone().add(g.clone().sub(l).multiplyScalar(.5)),sizew:e,sizeh:s}}worldDraw(t){let e=t.getMxObject(),s=this.calcSvgDrawRect(e),i=s.pt1,o=s.pt2,r=s.pt3,n=s.pt4,g=s.cenpt,a=s.sizew,l=this;if(t.getType()!=McGiWorldDrawType.kSelectDraw&&this.aryText.forEach((s,i)=>{if(s.txt.length>0){let n=new THREE.Vector3(s.txtPos.x,s.txtPos.y,0);this.fixedSize&&(s.txtPos.x>0?n.x=this.svgPos.x+e.screenCoordLong2Doc(s.txtPos.x):n.x=this.svgPos.x-e.screenCoordLong2Doc(s.txtPos.x),s.txtPos.y>0?n.y=this.svgPos.y+e.screenCoordLong2Doc(s.txtPos.y):n.y=this.svgPos.y-e.screenCoordLong2Doc(s.txtPos.y));let h=void 0;s.color&&(h=t.getColor(),t.setColor(s.color));let x=s.txtHeight;l.fixedSize&&(x=e.screenCoordLong2Doc(s.txtHeight)),t.setXData({type:"text",txt:s.txt,index:i});let c=t.drawText(s.txt,x,0,n,void 0,t=>{let e="";return e=s.fontStyle.length>0?`${s.fontStyle} ${t}px Arial`:`normal ${t}px Arial`});if(t.getType()==McGiWorldDrawType.kWorldDraw&&(s._txtObject=c),s.underline&&s._txtObject){const e=new THREE.Box3;e.expandByObject(s._txtObject);let i=new THREE.Vector3(e.min.x,e.min.y+.1*x,0),n=new THREE.Vector3(e.max.x,e.min.y+.1*x,0);var o=new THREE.Geometry;let g=new THREE.LineBasicMaterial({color:t.getColor(),transparent:!0,depthTest:!1});o.vertices.push(i,n);var r=new THREE.Line(o,g);t.drawEntity(r),t.getType()==McGiWorldDrawType.kWorldDraw&&(s._underLine=r)}if(s._txtAspectRatio=-1,h&&t.setColor(h),s.drawConnectingLine){let e=g.clone().sub(n);if(e.length()>x+a){e.normalize();let i=g.clone().sub(e.clone().multiplyScalar(a)),l=n.clone().add(e.clone().multiplyScalar(x));o=new THREE.Geometry;let h=new THREE.LineBasicMaterial({color:t.getColor(),transparent:!0,depthTest:!1});o.vertices.push(i,l);r=new THREE.Line(o,h);t.setXData({type:"line"}),t.drawEntity(r),t.getType()==McGiWorldDrawType.kWorldDraw&&(s._connectingLine=r)}}}}),1==t.getType()){if(this.svg)t.setXData({type:"svg"}),t.drawEntity(this.svg);else if(this.svgPath.length>0&&this.isLoadFromPath){let s=this,i=t.getMxObject();MxThreeJS.loadSVG(this.svgPath,void 0,o=>{if(o){let r=o;if(r.boxSize)s.svgBoxSize=r.boxSize.clone();else{let t=(new THREE.Box3).setFromObject(o);s.svgBoxSize||(s.svgBoxSize=new THREE.Vector3),s.svgBoxSize.x=t.max.x-t.min.x,s.svgBoxSize.y=t.max.y-t.min.y}let[n,g]=s.calcVewSize(e);s.svgBoxSize&&(o.scale.x=n/s.svgBoxSize.x,o.scale.y=g/s.svgBoxSize.y),o.scale.z=o.scale.x,s.svgReverse&&(o.scale.y*=-1),s.svgMirror&&(o.scale.x*=-1),o.rotateZ(s.svgRotate),s.isSvgDirtyLocation=!0;let a=new THREE.Color(t.getColor()),l=0;o.traverse(function(t){t.material&&(t.material=t.material.clone(),t.material.transparent=!0,t.material.depthTest=!1,s.useSvgColor||(l<s.svgChildColor.length?t.material.color=new THREE.Color(s.svgChildColor[l]):t.material.color=a),l++)}),s.svg=o,s.setNeedUpdateDisplay(),i.updateDisplay()}else console.log("mx LoadSVG:"+s.svgPath+" failed");s.isLoadFromPath=!1})}this.fixedSize||(t.drawSelectLine(i,o),t.drawSelectLine(r,n),t.drawSelectLine(i,r),t.drawSelectLine(r,o),t.drawSelectLine(o,n),t.drawSelectLine(n,i))}else t.drawLine(i,r),t.drawLine(r,o),t.drawLine(o,n),t.drawLine(n,i)}setSvgPath(t,e=!1){return __awaiter(this,void 0,void 0,function*(){this.svgPath=t,this.svg=null,this.isLoadFromPath=!0,this.svgBoxSize=null,e&&(yield MxThreeJS.loadSVG(t))})}getSvgPath(){return this.svgPath}setSvgPostion(t){this.svgPos=t.clone(),this.isSvgDirtyLocation=!0}getSvgPostion(){return this.svgPos}setSvgSize(t){this.svgSize=t,this.isSvgDirtyLocation=!0}getSvgSize(){return this.svgSize}setSvgAlignmentRatio(t){this.svgAlignmentRatio=t,this.isSvgDirtyLocation=!0}getSvgAlignmentRatio(){return this.svgAlignmentRatio}getText(t){return t<this.aryText.length?this.aryText[t]:null}addText(t){this.aryText.push(t)}getGripPoints(){let t=[];t.push(this.svgPos);let e=0;for(;e<this.aryText.length;e++){let s=this.aryText[e];if(s.move){let e=new THREE.Vector3(s.txtPos.x,s.txtPos.y,0);if(this.fixedSize){let t=MxFun.getCurrentDraw();s.txtPos.x>0?e.x=this.svgPos.x+t.screenCoordLong2Doc(s.txtPos.x):e.x=this.svgPos.x-t.screenCoordLong2Doc(s.txtPos.x),s.txtPos.y>0?e.y=this.svgPos.y+t.screenCoordLong2Doc(s.txtPos.y):e.y=this.svgPos.y-t.screenCoordLong2Doc(s.txtPos.y)}t.push(e)}}return t}moveGripPointsAt(t,e){if(0==t)this.svgPos.add(e),this.fixedSize||this.aryText.forEach(t=>{t.txtPos.add(e)});else if(t-1>=0&&t-1<this.aryText.length){let s=this.aryText[t-1];if(s.move)if(this.fixedSize){let t=MxFun.getCurrentDraw();s.txtPos.x+=t.docCoordLong2Screen(e.x),s.txtPos.y+=t.docCoordLong2Screen(e.y)}else s.txtPos.add(e)}return this.isSvgDirtyLocation=!0,!0}calcSvgPosition(t){if(!this.svg||!this.isSvgDirtyLocation)return;this.isSvgDirtyLocation=!1;let[e,s]=this.calcVewSize(t);this.svg.position.x=this.svgPos.x-e*this.svgAlignmentRatio.x-this.svgMargin.x*e,this.svg.position.y=this.svgPos.y-s*this.svgAlignmentRatio.y-this.svgMargin.y*s}dwgIn(t){this.onDwgIn(t),this.fixedSize=t.fixedSize,this.fixedSize?this.svg=null:t.type==MxType.MxCloneType.kClone&&t.svg&&(this.svg=t.svg.clone()),this.svgPos.copy(t.svgPos),this.svgPath=t.svgPath.substr(0),this.svgSize.copy(t.svgSize),this.svgAlignmentRatio.copy(t.svgAlignmentRatio),this.isSvgDirtyLocation=!0,this.svg||(this.isLoadFromPath=!0),this.svgBoxSize=null;let e=t.txts;return this.aryText=[],e.forEach(t=>{let e=new MxDbSVGText;e.txt=t.txt,e.txtHeight=t.txtHeight,e.txtPos.copy(t.txtPos),e.move=t.move,e.drawConnectingLine=t.drawConnectingLine,this.aryText.push(e)}),this.svgRotate=t.svgRotate,this.useSvgColor=t.useSvgColor,this.svgReverse=t.svgReverse,this.svgMirror=t.svgMirror,this.svgMargin=t.svgMargin,t.svgChildColor?this.svgChildColor=t.svgChildColor:this.svgChildColor=[],!0}dwgOut(t){return this.onDwgOut(t),t.type==MxType.MxCloneType.kClone&&(t.svg=this.svg),t.svgPath=this.svgPath,t.svgPos=this.svgPos,t.svgSize=this.svgSize,t.svgAlignmentRatio=this.svgAlignmentRatio,t.txts=[],this.aryText.forEach(e=>{let s={txtPos:e.txtPos,txt:e.txt,txtHeight:e.txtHeight,color:e.color,_txtAspectRatio:e._txtAspectRatio,move:e.move,drawConnectingLine:e.drawConnectingLine};t.txts.push(s)}),t.fixedSize=this.fixedSize,t.svgRotate=this.svgRotate,t.useSvgColor=this.useSvgColor,t.svgReverse=this.svgReverse,t.svgMirror=this.svgMirror,t.svgMargin=this.svgMargin,t.svgChildColor=this.svgChildColor,t}create(){return new MxDbSVG}transformBy(t){this.svgPos.applyMatrix4(t),this.isSvgDirtyLocation=!0,this.fixedSize||this.aryText.forEach(e=>{e.txtPos.applyMatrix4(t)})}getTypeName(){return"MxDbSVG"}setColor(t){if(super.setColor(t),this.svg){let t=new THREE.Color(this.color);this.svg.traverse(function(e){e.material&&(e.material.color=t)})}return this}setSvg(t){this.svg=t,this.isLoadFromPath=!1,this.svgBoxSize=null}calcSvgBoxSize(t){if(!this.svgBoxSize)if(t.boxSize)this.svgBoxSize=t.boxSize.clone();else{let e=(new THREE.Box3).setFromObject(t);this.svgBoxSize||(this.svgBoxSize=new THREE.Vector3),this.svgBoxSize.x=e.max.x-e.min.x,this.svgBoxSize.y=e.max.y-e.min.y}}reComputeSVG(){if(!this.svg)return;let t=this.getMxObject();if(!t)return;this.calcSvgBoxSize(this.svg);let[e,s]=this.calcVewSize(t);this.svgBoxSize&&(this.svg.scale.x=e/this.svgBoxSize.x,this.svg.scale.y=s/this.svgBoxSize.y),this.svg.scale.z=this.svg.scale.x,this.svgReverse&&(this.svg.scale.y*=-1),this.svgMirror&&(this.svg.scale.x*=-1),this.isSvgDirtyLocation=!0,this.calcSvgPosition(t)}onViewChange(){if(!this.fixedSize)return!1;let t=this.getMxObject();if(null==t)return!1;if(this.svg){this.calcSvgBoxSize(this.svg);let[e,s]=this.calcVewSize(t);this.svgBoxSize&&(this.svg.scale.x=e/this.svgBoxSize.x,this.svg.scale.y=s/this.svgBoxSize.y),this.svg.scale.z=this.svg.scale.x,this.svgReverse&&(this.svg.scale.y*=-1),this.svgMirror&&(this.svg.scale.x*=-1),this.isSvgDirtyLocation=!0,this.calcSvgPosition(t)}let e=this.calcSvgDrawRect(t),s=e.cenpt,i=e.sizew,o=this;return this.aryText.forEach(e=>{if(e._txtObject&&t){let n=t.screenCoordLong2Doc(e.txtHeight);if(n>1e-5){e._txtAspectRatio<=0&&(e._txtAspectRatio=e._txtObject.scale.x/e._txtObject.scale.y),e._txtObject.scale.set(e._txtAspectRatio*n*1.5,1.5*n,1),e.txtPos.x>0?e._txtObject.position.x=o.svgPos.x+t.screenCoordLong2Doc(e.txtPos.x):e._txtObject.position.x=o.svgPos.x-t.screenCoordLong2Doc(e.txtPos.x),e.txtPos.y>0?e._txtObject.position.y=o.svgPos.y+t.screenCoordLong2Doc(e.txtPos.y):e._txtObject.position.y=o.svgPos.y-t.screenCoordLong2Doc(e.txtPos.y);let g=e._txtObject.position;if(e._txtObject.updateMatrix(),e._underLine){const t=new THREE.Box3;let s=e._txtObject.parent;e._txtObject.parent=null,t.expandByObject(e._txtObject),e._txtObject.parent=s;let i=new THREE.Vector3(t.min.x,t.min.y+.1*n,0),o=new THREE.Vector3(t.max.x,t.min.y+.1*n,0);(r=new THREE.Geometry).vertices.push(i,o),e._underLine.geometry=r}if(e._connectingLine){let t=s.clone().sub(g);t.normalize();let o=s.clone().sub(t.clone().multiplyScalar(i)),a=g.clone().add(t.clone().multiplyScalar(n));var r;(r=new THREE.Geometry).vertices.push(o,a),e._connectingLine.geometry=r}}}}),!0}};
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(t,e,i,s){return new(i||(i=Promise))(function(o,r){function n(t){try{l(s.next(t))}catch(t){r(t)}}function g(t){try{l(s.throw(t))}catch(t){r(t)}}function l(t){var e;t.done?o(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(n,g)}l((s=s.apply(t,e||[])).next())})};import McGiWorldDrawType from"../McGiWorldDrawType";import MxDbEntity from"../MxDbEntity";import MxDbSVGText from"../MxDbSVGText";import MxFun from"../MxFun";import MxThreeJS from"../MxThreeJS";import MxType from"../MxType";export default class MxDbSVG extends MxDbEntity{constructor(){super(...arguments),this.svgPos=new THREE.Vector3,this.svg=null,this.svgPath="",this.svgSize=new THREE.Vector2(50,50),this.svgAlignmentRatio=new THREE.Vector2(0,0),this.svgRotate=0,this.svgReverse=!1,this.svgMirror=!1,this.svgChildColor=[],this.svgMargin=new THREE.Vector2(0,0),this.isSvgDirtyLocation=!1,this.isLoadFromPath=!0,this.aryText=[],this.svgBoxSize=null,this.fixedSize=!1,this.useSvgColor=!1}setSvgChildColor(t){if(this.svgChildColor=t,!this.useSvgColor&&this.svg){let t=new THREE.Color(this.getColor()),e=0,i=this;this.svg.traverse(function(s){s.material&&(e<i.svgChildColor.length?s.material.color=new THREE.Color(i.svgChildColor[e]):s.material.color=t,e++)}),this.setNeedUpdateDisplay(!0)}}getSvgChildColor(){return this.svgChildColor}calcVewSize(t){let e=this.svgSize.x,i=this.svgSize.y;return i<=0&&(i=this.svgBoxSize?this.svgBoxSize.y/this.svgBoxSize.x*e:e),this.fixedSize&&(e=t.screenCoordLong2Doc(e),i=t.screenCoordLong2Doc(i)),[e,i]}calcSvgDrawRect(t){if(!t)return;this.calcSvgPosition(t);let[e,i]=this.calcVewSize(t),s=new THREE.Matrix4;s.makeScale(this.svgMirror?-1:1,this.svgReverse?-1:1,1);let o=new THREE.Matrix4;o.makeRotationZ(this.svgRotate);let r=new THREE.Matrix4,n=new THREE.Vector3(this.svgPos.x-e*this.svgAlignmentRatio.x,this.svgPos.y-i*this.svgAlignmentRatio.y,0);r.makeTranslation(n.x,n.y,n.z),o.multiply(s),o.premultiply(r);let g=new THREE.Vector3(0,0,0),l=new THREE.Vector3(e,0,0),a=new THREE.Vector3(e,i,0),h=new THREE.Vector3(0,i,0);return g.applyMatrix4(o),l.applyMatrix4(o),a.applyMatrix4(o),h.applyMatrix4(o),{pt1:g,pt2:a,pt3:l,pt4:h,cenpt:a.clone().add(g.clone().sub(a).multiplyScalar(.5)),sizew:e,sizeh:i}}worldDraw(t){let e=t.getMxObject(),i=this.calcSvgDrawRect(e),s=i.pt1,o=i.pt2,r=i.pt3,n=i.pt4,g=i.cenpt,l=i.sizew,a=this;if(t.getType()!=McGiWorldDrawType.kSelectDraw&&this.aryText.forEach((i,s)=>{if(i.txt.length>0){let n=new THREE.Vector3(i.txtPos.x,i.txtPos.y,0);this.fixedSize&&(i.txtPos.x>0?n.x=this.svgPos.x+e.screenCoordLong2Doc(i.txtPos.x):n.x=this.svgPos.x-e.screenCoordLong2Doc(i.txtPos.x),i.txtPos.y>0?n.y=this.svgPos.y+e.screenCoordLong2Doc(i.txtPos.y):n.y=this.svgPos.y-e.screenCoordLong2Doc(i.txtPos.y));let h=void 0;i.color&&(h=t.getColor(),t.setColor(i.color));let c=i.txtHeight;a.fixedSize&&(c=e.screenCoordLong2Doc(i.txtHeight)),t.setXData({type:"text",txt:i.txt,index:s});let x=t.drawText(i.txt,c,0,n,void 0,t=>{let e="";return e=i.fontStyle.length>0?`${i.fontStyle} ${t}px Arial`:`normal ${t}px Arial`});if(t.getType()==McGiWorldDrawType.kWorldDraw&&(i._txtObject=x),i.underline&&i._txtObject){const e=new THREE.Box3;e.expandByObject(i._txtObject);let s=new THREE.Vector3(e.min.x,e.min.y+.1*c,0),n=new THREE.Vector3(e.max.x,e.min.y+.1*c,0);var o=new THREE.Geometry;let g=new THREE.LineBasicMaterial({color:t.getColor(),transparent:!0,depthTest:!1});o.vertices.push(s,n);var r=new THREE.Line(o,g);t.drawEntity(r),t.getType()==McGiWorldDrawType.kWorldDraw&&(i._underLine=r)}if(i._txtAspectRatio=-1,h&&t.setColor(h),i.drawConnectingLine){let e=g.clone().sub(n);if(e.length()>c+l){e.normalize();let s=g.clone().sub(e.clone().multiplyScalar(l)),a=n.clone().add(e.clone().multiplyScalar(c));o=new THREE.Geometry;let h=new THREE.LineBasicMaterial({color:t.getColor(),transparent:!0,depthTest:!1});o.vertices.push(s,a);r=new THREE.Line(o,h);t.setXData({type:"line"}),t.drawEntity(r),t.getType()==McGiWorldDrawType.kWorldDraw&&(i._connectingLine=r)}}}}),1==t.getType()){if(this.svg)t.setXData({type:"svg"}),t.drawEntity(this.svg);else if(this.svgPath.length>0&&this.isLoadFromPath){let i=this,s=t.getMxObject();MxThreeJS.loadSVG(this.svgPath,void 0,o=>{if(o){let r=o;if(r.boxSize)i.svgBoxSize=r.boxSize.clone();else{let t=(new THREE.Box3).setFromObject(o);i.svgBoxSize||(i.svgBoxSize=new THREE.Vector3),i.svgBoxSize.x=t.max.x-t.min.x,i.svgBoxSize.y=t.max.y-t.min.y}let[n,g]=i.calcVewSize(e);i.svgBoxSize&&(o.scale.x=n/i.svgBoxSize.x,o.scale.y=g/i.svgBoxSize.y),o.scale.z=o.scale.x,i.svgReverse&&(o.scale.y*=-1),i.svgMirror&&(o.scale.x*=-1),o.rotateZ(i.svgRotate),i.isSvgDirtyLocation=!0;let l=new THREE.Color(t.getColor()),a=0;o.traverse(function(t){t.material&&(t.material=t.material.clone(),t.material.transparent=!0,t.material.depthTest=!1,i.useSvgColor||(a<i.svgChildColor.length?t.material.color=new THREE.Color(i.svgChildColor[a]):t.material.color=l),a++)}),i.svg=o,i.setNeedUpdateDisplay(),s.updateDisplay()}else console.log("mx LoadSVG:"+i.svgPath+" failed");i.isLoadFromPath=!1})}this.fixedSize||(t.drawSelectLine(s,o),t.drawSelectLine(r,n),t.drawSelectLine(s,r),t.drawSelectLine(r,o),t.drawSelectLine(o,n),t.drawSelectLine(n,s))}else t.drawLine(s,r),t.drawLine(r,o),t.drawLine(o,n),t.drawLine(n,s)}setSvgPath(t,e=!1){return __awaiter(this,void 0,void 0,function*(){this.svgPath=t,this.svg=null,this.isLoadFromPath=!0,this.svgBoxSize=null,e&&(yield MxThreeJS.loadSVG(t))})}getSvgPath(){return this.svgPath}setSvgPostion(t){this.svgPos=t.clone(),this.isSvgDirtyLocation=!0}getSvgPostion(){return this.svgPos}setSvgSize(t){this.svgSize=t,this.isSvgDirtyLocation=!0}getSvgSize(){return this.svgSize}setSvgAlignmentRatio(t){this.svgAlignmentRatio=t,this.isSvgDirtyLocation=!0}getSvgAlignmentRatio(){return this.svgAlignmentRatio}getText(t){return t<this.aryText.length?this.aryText[t]:null}addText(t){this.aryText.push(t)}getGripPoints(){let t=[];t.push(this.svgPos);let e=0;for(;e<this.aryText.length;e++){let i=this.aryText[e];if(i.move){let e=new THREE.Vector3(i.txtPos.x,i.txtPos.y,0);if(this.fixedSize){let t=MxFun.getCurrentDraw();i.txtPos.x>0?e.x=this.svgPos.x+t.screenCoordLong2Doc(i.txtPos.x):e.x=this.svgPos.x-t.screenCoordLong2Doc(i.txtPos.x),i.txtPos.y>0?e.y=this.svgPos.y+t.screenCoordLong2Doc(i.txtPos.y):e.y=this.svgPos.y-t.screenCoordLong2Doc(i.txtPos.y)}t.push(e)}}return t}moveGripPointsAt(t,e){if(0==t)this.svgPos.add(e),this.fixedSize||this.aryText.forEach(t=>{t.txtPos.add(e)});else if(t-1>=0&&t-1<this.aryText.length){let i=this.aryText[t-1];if(i.move)if(this.fixedSize){let t=MxFun.getCurrentDraw();i.txtPos.x+=t.docCoordLong2Screen(e.x),i.txtPos.y+=t.docCoordLong2Screen(e.y)}else i.txtPos.add(e)}return this.isSvgDirtyLocation=!0,!0}calcSvgPosition(t){if(!this.svg||!this.isSvgDirtyLocation)return;this.isSvgDirtyLocation=!1;let[e,i]=this.calcVewSize(t);this.svg.position.x=this.svgPos.x-e*this.svgAlignmentRatio.x-this.svgMargin.x*e,this.svg.position.y=this.svgPos.y-i*this.svgAlignmentRatio.y-this.svgMargin.y*i}dwgIn(t){this.onDwgIn(t),this.fixedSize=t.fixedSize,this.fixedSize?this.svg=null:t.type==MxType.MxCloneType.kClone&&t.svg&&(this.svg=t.svg.clone()),this.svgPos.copy(t.svgPos),this.svgPath=t.svgPath.substr(0),this.svgSize.copy(t.svgSize),this.svgAlignmentRatio.copy(t.svgAlignmentRatio),this.isSvgDirtyLocation=!0,this.svg||(this.isLoadFromPath=!0),this.svgBoxSize=null;let e=t.txts;return this.aryText=[],e.forEach(t=>{let e=new MxDbSVGText;e.txt=t.txt,e.txtHeight=t.txtHeight,e.txtPos.copy(t.txtPos),e.move=t.move,e.drawConnectingLine=t.drawConnectingLine,this.aryText.push(e)}),this.svgRotate=t.svgRotate,this.useSvgColor=t.useSvgColor,this.svgReverse=t.svgReverse,this.svgMirror=t.svgMirror,this.svgMargin=t.svgMargin,t.svgChildColor?this.svgChildColor=t.svgChildColor:this.svgChildColor=[],!0}dwgOut(t){this.onDwgOut(t);let e,i=this.getMxObject();return t.type==MxType.MxCloneType.kClone&&(t.svg=this.svg),t.svgPath=this.svgPath,t.svgPos=this.svgPos,t.svgSize=this.svgSize,t.svgAlignmentRatio=this.svgAlignmentRatio,t.txts=[],t.type==MxType.MxCloneType.kSaveDwgClone&&i&&(e=this.calcSvgDrawRect(i)),this.aryText.forEach(e=>{let i={txtPos:e.txtPos,txt:e.txt,txtHeight:e.txtHeight,color:e.color,_txtAspectRatio:e._txtAspectRatio,move:e.move,drawConnectingLine:e.drawConnectingLine};t.type==MxType.MxCloneType.kSaveDwgClone&&(e._connectingLine&&(i.connectingLine=e._connectingLine.geometry.vertice),e._underLine&&(i._underLine=e._underLine.geometry.vertice)),t.txts.push(i)}),t.fixedSize=this.fixedSize,t.svgRotate=this.svgRotate,t.useSvgColor=this.useSvgColor,t.svgReverse=this.svgReverse,t.svgMirror=this.svgMirror,t.svgMargin=this.svgMargin,t.svgChildColor=this.svgChildColor,t.type==MxType.MxCloneType.kSaveDwgClone&&(t.svgRect=e),t}create(){return new MxDbSVG}transformBy(t){this.svgPos.applyMatrix4(t),this.isSvgDirtyLocation=!0,this.fixedSize||this.aryText.forEach(e=>{e.txtPos.applyMatrix4(t)})}getTypeName(){return"MxDbSVG"}setColor(t){if(super.setColor(t),this.svg){let t=new THREE.Color(this.color);this.svg.traverse(function(e){e.material&&(e.material.color=t)})}return this}setSvg(t){this.svg=t,this.isLoadFromPath=!1,this.svgBoxSize=null}calcSvgBoxSize(t){if(!this.svgBoxSize)if(t.boxSize)this.svgBoxSize=t.boxSize.clone();else{let e=(new THREE.Box3).setFromObject(t);this.svgBoxSize||(this.svgBoxSize=new THREE.Vector3),this.svgBoxSize.x=e.max.x-e.min.x,this.svgBoxSize.y=e.max.y-e.min.y}}reComputeSVG(){if(!this.svg)return;let t=this.getMxObject();if(!t)return;this.calcSvgBoxSize(this.svg);let[e,i]=this.calcVewSize(t);this.svgBoxSize&&(this.svg.scale.x=e/this.svgBoxSize.x,this.svg.scale.y=i/this.svgBoxSize.y),this.svg.scale.z=this.svg.scale.x,this.svgReverse&&(this.svg.scale.y*=-1),this.svgMirror&&(this.svg.scale.x*=-1),this.isSvgDirtyLocation=!0,this.calcSvgPosition(t)}onViewChange(){if(!this.fixedSize)return!1;let t=this.getMxObject();if(null==t)return!1;if(this.svg){this.calcSvgBoxSize(this.svg);let[e,i]=this.calcVewSize(t);this.svgBoxSize&&(this.svg.scale.x=e/this.svgBoxSize.x,this.svg.scale.y=i/this.svgBoxSize.y),this.svg.scale.z=this.svg.scale.x,this.svgReverse&&(this.svg.scale.y*=-1),this.svgMirror&&(this.svg.scale.x*=-1),this.isSvgDirtyLocation=!0,this.calcSvgPosition(t)}let e=this.calcSvgDrawRect(t),i=e.cenpt,s=e.sizew,o=this;return this.aryText.forEach(e=>{if(e._txtObject&&t){let n=t.screenCoordLong2Doc(e.txtHeight);if(n>1e-5){e._txtAspectRatio<=0&&(e._txtAspectRatio=e._txtObject.scale.x/e._txtObject.scale.y),e._txtObject.scale.set(e._txtAspectRatio*n*1.5,1.5*n,1),e.txtPos.x>0?e._txtObject.position.x=o.svgPos.x+t.screenCoordLong2Doc(e.txtPos.x):e._txtObject.position.x=o.svgPos.x-t.screenCoordLong2Doc(e.txtPos.x),e.txtPos.y>0?e._txtObject.position.y=o.svgPos.y+t.screenCoordLong2Doc(e.txtPos.y):e._txtObject.position.y=o.svgPos.y-t.screenCoordLong2Doc(e.txtPos.y);let g=e._txtObject.position;if(e._txtObject.updateMatrix(),e._underLine){const t=new THREE.Box3;let i=e._txtObject.parent;e._txtObject.parent=null,t.expandByObject(e._txtObject),e._txtObject.parent=i;let s=new THREE.Vector3(t.min.x,t.min.y+.1*n,0),o=new THREE.Vector3(t.max.x,t.min.y+.1*n,0);(r=new THREE.Geometry).vertices.push(s,o),e._underLine.geometry=r}if(e._connectingLine){let t=i.clone().sub(g);t.normalize();let o=i.clone().sub(t.clone().multiplyScalar(s)),l=g.clone().add(t.clone().multiplyScalar(n));var r;(r=new THREE.Geometry).vertices.push(o,l),e._connectingLine.geometry=r}}}}),!0}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(e,r,t,o){return new(t||(t=Promise))(function(n,a){function d(e){try{s(o.next(e))}catch(e){a(e)}}function i(e){try{s(o.throw(e))}catch(e){a(e)}}function s(e){var r;e.done?n(e.value):(r=e.value,r instanceof t?r:new t(function(e){e(r)})).then(d,i)}s((o=o.apply(e,r||[])).next())})};import MxCADObject from"../MxCADObject";import MxDbDatabase from"../MxDbDatabase";import MxThreeJS from"../MxThreeJS";export default class MxDrawObject{constructor(e){this._mxdrawObj=e}getScene(){return this._mxdrawObj.getScene()}getCamera(){return this._mxdrawObj.getCamera()}getRenderer(){return this._mxdrawObj.renderer}setMouseRightRotate(e=!0){return this._mxdrawObj.setMouseRightRotate(e)}getFullDisplayRange(){return this._mxdrawObj.getFullDisplayRange()}getCanvas(){return this._mxdrawObj.getCanvas()}updateDisplay(){return this._mxdrawObj.updateDisplay()}createCanvasImageData(e,r){return this._mxdrawObj.createCanvasImageData(e,r)}setViewColor(e){return this._mxdrawObj.setViewColor(e)}setSize(e,r){return this._mxdrawObj.setSize(e,r)}getIntersectObjects(e){return this._mxdrawObj.getIntersectObjects(e)}addObject(e,r=!0){return this._mxdrawObj.addObject(e,r)}addViewObject(e){return this._mxdrawObj.addViewObject(e)}getViewWidth(){return this._mxdrawObj.getViewWidth()}getViewHeight(){return this._mxdrawObj.getViewHeight()}removeObject(e,r=!0){return this._mxdrawObj.removeObject(e,r)}zoomInitialStates(){return this._mxdrawObj.zoomInitialStates()}zoomScale(e){return this._mxdrawObj.zoomScale(e)}zoomW(e,r,t){return this._mxdrawObj.zoomW(e,r,t)}zoomCenter(e,r){return this._mxdrawObj.zoomCenter(e,r)}initZoomW(e,r){return this._mxdrawObj.initZoomW(e,r)}addEvent(e,r){return this._mxdrawObj.addEvent(e,r)}on(e,r){return this._mxdrawObj.addEvent(e,r)}setIniset(e){return this._mxdrawObj.setIniset(e)}screenCoord2World(e,r,t){return this._mxdrawObj.screenCoord2World(e,r,t)}worldCoord2Screen(e,r,t){return this._mxdrawObj.worldCoord2Screen(e,r,t)}screenCoord2Doc(e,r){return this._mxdrawObj.screenCoord2Doc(e,r,0)}worldCoordLong2Doc(e){return this._mxdrawObj.worldCoordLong2Doc(e)}docCoordLong2World(e){return this._mxdrawObj.docCoordLong2World(e)}docCoord2World(e,r,t){return this._mxdrawObj.docCoord2World(e,r,t)}docCoord2World2(e){return this._mxdrawObj.docCoord2World(e.x,e.y,e.z)}worldCoord2Doc(e,r,t){return this._mxdrawObj.worldCoord2Doc(e,r,t)}worldCoord2Doc2(e){return this._mxdrawObj.worldCoord2Doc(e.x,e.y,e.z)}docCoord2Screen(e,r){return this._mxdrawObj.docCoord2Screen(e,r,0)}screenCoordLong2Doc(e){return this._mxdrawObj.screenCoordLong2Doc(e)}docCoordLong2Screen(e){return this._mxdrawObj.docCoordLong2Screen(e)}screenCoordLong2World(e){return this._mxdrawObj.screenCoordLong2World(e)}worldCoordLong2Screen(e){return this._mxdrawObj.worldCoordLong2Screen(e)}initRendererParam(e){return this._mxdrawObj.initRendererParam(e)}addMxEntity(e){return this._mxdrawObj.addMxEntity(e)}getMxCurrentSelect(){let e=this._mxdrawObj.getMxAllSelect();return 0==e.length&&(e=this._mxdrawObj.getPrvCommandSelect()),e}addMxCurrentSelect(e){return this._mxdrawObj.addMxCurrentSelect(e)}clearMxCurrentSelect(){return this._mxdrawObj.clearMxCurrentSelect()}getMxEntity(e){return this._mxdrawObj.getMxEntityUserObject(e)}findMxEntityAtPoint(e,r,t){return this._mxdrawObj.findMxEntityAtPoint(e,r,t)}getAllMxEntity(){return this._mxdrawObj.getAllMxEntity()}setMouseMiddlePan(e){return this._mxdrawObj.setMouseMiddlePan(e)}resetThreeJSControls(){return this._mxdrawObj.resetThreeJSControls()}enableZoom(e){return this._mxdrawObj.enableZoom(e)}enablePan(e){return this._mxdrawObj.enablePan(e)}eraseMxEntity(e){return this._mxdrawObj.eraseMxEntity(e)}removeViewObject(e){this._mxdrawObj.removeViewObject(e)}saveMxEntityToJson(e){return JSON.stringify(this._mxdrawObj.saveMxEntityToJson(e))}saveMxEntityToObject(e){return this._mxdrawObj.saveMxEntityToJson(e)}loadMxEntityFromJson(e,r=null){return __awaiter(this,void 0,void 0,function*(){if(r){let e=r.length;for(let t=0;t<e;t++)yield MxThreeJS.loadSVG(r[t])}return this.getAllMxEntity().forEach(e=>{for(let r in e)Reflect.deleteProperty(e,r)}),"string"==typeof e?this._mxdrawObj.loadMxEntityFromJson(JSON.parse(e)):this._mxdrawObj.loadMxEntityFromJson(e)})}eraseAllMxEntity(){return this._mxdrawObj.eraseAllMxEntity()}makeCurrent(){this._mxdrawObj.makeCurrent()}getViewCenterDocCoord(){return this._mxdrawObj.getViewCenterDocCoord()}updateCanvasSize(){this._mxdrawObj.updateCanvasSize()}newFile(e,r,t,o){return this._mxdrawObj.newFile(e,r,t,o)}stopAllLoading(){this._mxdrawObj.stopAllLoading()}getOrbitControls(){return this._mxdrawObj.getOrbitControls()}enableViewControls(e){return this._mxdrawObj.enableViewControls(e)}getMxDatabase(){return new MxDbDatabase(this._mxdrawObj.getMxDatabase())}setZoomSpeed(e){return this._mxdrawObj.setZoomSpeed(e)}getMxCAD(){let e=this._mxdrawObj.getMxCAD();return new MxCADObject(e)}resetRenderer(){return this._mxdrawObj.resetRenderer()}setRequestHeader(e){return this._mxdrawObj.setRequestHeader(e)}closeWebSocket(){return this._mxdrawObj.closeWebSocket()}cadCoord2Doc(e,r,t){return this._mxdrawObj.cadCoord2Doc(e,r,t)}docCoord2Cad(e,r,t){return this._mxdrawObj.docCoord2Cad(e,r,t)}setViewAngle(e){return this._mxdrawObj.setViewAngle(e)}getViewAngle(){return this._mxdrawObj.getViewAngle()}getSysVar(e){return this._mxdrawObj.sysVariable().getSysVar()}setSysVar(e,r){return this._mxdrawObj.sysVariable().setSysVar(e,r)}isMxCAD(){return this._mxdrawObj.isMxCAD()}getMxObjectImplement(){return this._mxdrawObj}getAllLayoutName(){return this._mxdrawObj.getAllLayoutName()}};
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(e,r,t,o){return new(t||(t=Promise))(function(n,a){function d(e){try{s(o.next(e))}catch(e){a(e)}}function i(e){try{s(o.throw(e))}catch(e){a(e)}}function s(e){var r;e.done?n(e.value):(r=e.value,r instanceof t?r:new t(function(e){e(r)})).then(d,i)}s((o=o.apply(e,r||[])).next())})};import MxCADObject from"../MxCADObject";import MxDbDatabase from"../MxDbDatabase";import MxThreeJS from"../MxThreeJS";export default class MxDrawObject{constructor(e){this._mxdrawObj=e}getScene(){return this._mxdrawObj.getScene()}getCamera(){return this._mxdrawObj.getCamera()}getRenderer(){return this._mxdrawObj.renderer}setMouseRightRotate(e=!0){return this._mxdrawObj.setMouseRightRotate(e)}getFullDisplayRange(){return this._mxdrawObj.getFullDisplayRange()}getCanvas(){return this._mxdrawObj.getCanvas()}updateDisplay(){return this._mxdrawObj.updateDisplay()}createCanvasImageData(e,r){return this._mxdrawObj.createCanvasImageData(e,r)}setViewColor(e){return this._mxdrawObj.setViewColor(e)}setSize(e,r){return this._mxdrawObj.setSize(e,r)}getIntersectObjects(e){return this._mxdrawObj.getIntersectObjects(e)}addObject(e,r=!0){return this._mxdrawObj.addObject(e,r)}addViewObject(e){return this._mxdrawObj.addViewObject(e)}getViewWidth(){return this._mxdrawObj.getViewWidth()}getViewHeight(){return this._mxdrawObj.getViewHeight()}removeObject(e,r=!0){return this._mxdrawObj.removeObject(e,r)}zoomInitialStates(){return this._mxdrawObj.zoomInitialStates()}zoomScale(e){return this._mxdrawObj.zoomScale(e)}zoomW(e,r,t){return this._mxdrawObj.zoomW(e,r,t)}zoomCenter(e,r){return this._mxdrawObj.zoomCenter(e,r)}initZoomW(e,r){return this._mxdrawObj.initZoomW(e,r)}addEvent(e,r){return this._mxdrawObj.addEvent(e,r)}on(e,r){return this._mxdrawObj.addEvent(e,r)}setIniset(e){return this._mxdrawObj.setIniset(e)}screenCoord2World(e,r,t){return this._mxdrawObj.screenCoord2World(e,r,t)}worldCoord2Screen(e,r,t){return this._mxdrawObj.worldCoord2Screen(e,r,t)}screenCoord2Doc(e,r){return this._mxdrawObj.screenCoord2Doc(e,r,0)}worldCoordLong2Doc(e){return this._mxdrawObj.worldCoordLong2Doc(e)}docCoordLong2World(e){return this._mxdrawObj.docCoordLong2World(e)}docCoord2World(e,r,t){return this._mxdrawObj.docCoord2World(e,r,t)}docCoord2World2(e){return this._mxdrawObj.docCoord2World(e.x,e.y,e.z)}worldCoord2Doc(e,r,t){return this._mxdrawObj.worldCoord2Doc(e,r,t)}worldCoord2Doc2(e){return this._mxdrawObj.worldCoord2Doc(e.x,e.y,e.z)}docCoord2Screen(e,r){return this._mxdrawObj.docCoord2Screen(e,r,0)}screenCoordLong2Doc(e){return this._mxdrawObj.screenCoordLong2Doc(e)}docCoordLong2Screen(e){return this._mxdrawObj.docCoordLong2Screen(e)}screenCoordLong2World(e){return this._mxdrawObj.screenCoordLong2World(e)}worldCoordLong2Screen(e){return this._mxdrawObj.worldCoordLong2Screen(e)}initRendererParam(e){return this._mxdrawObj.initRendererParam(e)}addMxEntity(e){return this._mxdrawObj.addMxEntity(e)}getMxCurrentSelect(){let e=this._mxdrawObj.getMxAllSelect();return 0==e.length&&(e=this._mxdrawObj.getPrvCommandSelect()),e}addMxCurrentSelect(e){return this._mxdrawObj.addMxCurrentSelect(e)}clearMxCurrentSelect(){return this._mxdrawObj.clearMxCurrentSelect()}getMxEntity(e){return this._mxdrawObj.getMxEntityUserObject(e)}findMxEntityAtPoint(e,r,t){return this._mxdrawObj.findMxEntityAtPoint(e,r,t)}getAllMxEntity(){return this._mxdrawObj.getAllMxEntity()}setMouseMiddlePan(e){return this._mxdrawObj.setMouseMiddlePan(e)}resetThreeJSControls(){return this._mxdrawObj.resetThreeJSControls()}enableZoom(e){return this._mxdrawObj.enableZoom(e)}enablePan(e){return this._mxdrawObj.enablePan(e)}eraseMxEntity(e){return this._mxdrawObj.eraseMxEntity(e)}removeViewObject(e){this._mxdrawObj.removeViewObject(e)}saveMxEntityToJson(e){return JSON.stringify(this._mxdrawObj.saveMxEntityToJson(e))}saveMxEntityToObject(e){return this._mxdrawObj.saveMxEntityToJson(e)}loadMxEntityFromJson(e,r=null){return __awaiter(this,void 0,void 0,function*(){if(r){let e=r.length;for(let t=0;t<e;t++)yield MxThreeJS.loadSVG(r[t])}return this.getAllMxEntity().forEach(e=>{for(let r in e)Reflect.deleteProperty(e,r)}),"string"==typeof e?this._mxdrawObj.loadMxEntityFromJson(JSON.parse(e)):this._mxdrawObj.loadMxEntityFromJson(e)})}eraseAllMxEntity(){return this._mxdrawObj.eraseAllMxEntity()}makeCurrent(){this._mxdrawObj.makeCurrent()}getViewCenterDocCoord(){return this._mxdrawObj.getViewCenterDocCoord()}updateCanvasSize(){this._mxdrawObj.updateCanvasSize()}newFile(e,r,t,o){return this._mxdrawObj.newFile(e,r,t,o)}stopAllLoading(){this._mxdrawObj.stopAllLoading()}getOrbitControls(){return this._mxdrawObj.getOrbitControls()}enableViewControls(e){return this._mxdrawObj.enableViewControls(e)}getMxDatabase(){return new MxDbDatabase(this._mxdrawObj.getMxDatabase())}setZoomSpeed(e){return this._mxdrawObj.setZoomSpeed(e)}getMxCAD(){let e=this._mxdrawObj.getMxCAD();return new MxCADObject(e)}resetRenderer(){return this._mxdrawObj.resetRenderer()}setRequestHeader(e){return this._mxdrawObj.setRequestHeader(e)}closeWebSocket(){return this._mxdrawObj.closeWebSocket()}cadCoord2Doc(e,r,t){return this._mxdrawObj.cadCoord2Doc(e,r,t)}docCoord2Cad(e,r,t){return this._mxdrawObj.docCoord2Cad(e,r,t)}setViewAngle(e){return this._mxdrawObj.setViewAngle(e)}getViewAngle(){return this._mxdrawObj.getViewAngle()}getSysVar(e){return this._mxdrawObj.sysVariable().getSysVar()}setSysVar(e,r){return this._mxdrawObj.sysVariable().setSysVar(e,r)}isMxCAD(){return this._mxdrawObj.isMxCAD()}getMxObjectImplement(){return this._mxdrawObj}getAllLayoutName(){return this._mxdrawObj.getAllLayoutName()}getDtabaseJsonString(){return this._mxdrawObj.getDtabaseJsonString()}};
|