mxdraw 0.1.113 → 0.1.115
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 +290 -58
- package/dist/lib/MxModule/McGiWorldDraw/index.d.ts +11 -0
- package/dist/lib/MxModule/MrxDbgUtils/index.d.ts +1 -1
- package/dist/lib/MxModule/MrxDbgUtils/index.js +1 -1
- package/dist/lib/MxModule/MxDb2LineAngularDimension/index.d.ts +20 -20
- package/dist/lib/MxModule/MxDbAlignedDimension/index.d.ts +16 -16
- package/dist/lib/MxModule/MxDbAnyLine/index.d.ts +1 -1
- package/dist/lib/MxModule/MxDbEntity/index.d.ts +17 -3
- package/dist/lib/MxModule/MxDbEntity/index.js +1 -1
- package/dist/lib/MxModule/MxDbGradientLine/index.d.ts +6 -6
- package/dist/lib/MxModule/MxDbSVG/index.d.ts +1 -0
- package/dist/lib/MxModule/MxDbSVG/index.js +1 -1
- package/dist/lib/MxModule/MxDbText/MxDbText.d.ts +138 -0
- package/dist/lib/MxModule/MxDbText/MxDbText.js +1 -0
- package/dist/lib/MxModule/MxDbText/MxDbText_old.d.ts +23 -0
- package/dist/lib/MxModule/MxDbText/MxDbText_old.js +1 -0
- package/dist/lib/MxModule/MxDbText/SpriteText.d.ts +54 -0
- package/dist/lib/MxModule/MxDbText/SpriteText.js +1 -0
- package/dist/lib/MxModule/MxDbText/index.d.ts +2 -23
- package/dist/lib/MxModule/MxDbText/index.js +1 -1
- package/dist/lib/MxModule/MxDrawObject/index.d.ts +20 -2
- package/dist/lib/MxModule/MxDrawObject/index.js +1 -1
- package/dist/lib/MxModule/MxFun/index.d.ts +10 -0
- package/dist/lib/MxModule/MxFun/index.js +1 -1
- package/dist/lib/MxModule/MxType/MxType.d.ts +2 -9
- package/dist/lib/MxModule/MxType/MxType.js +1 -1
- package/dist/lib/MxModule/MxType/index.d.ts +3 -47
- package/dist/lib/MxModule/MxType/index.js +1 -1
- package/dist/lib/MxModule/loadCoreCode/mxfun.es5.js +1 -1
- package/dist/lib/tools/three/index.d.ts +19 -0
- package/dist/lib/tools/three/index.js +1 -1
- package/dist/mxdraw.es.js +1 -1
- package/dist/mxdraw.umd.js +1 -1
- package/package.json +1 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import McGiWorldDraw from '../McGiWorldDraw';
|
|
2
2
|
import MxDrawObject from '../MxDrawObject';
|
|
3
|
-
import { MxColorType, UnstableColor } from '../MxType';
|
|
3
|
+
import MxType, { MxColorType, UnstableColor } from '../MxType';
|
|
4
4
|
export declare enum DataType {
|
|
5
5
|
Default = 0,
|
|
6
6
|
Color = 1,
|
|
@@ -144,7 +144,10 @@ export default abstract class MxDbEntity {
|
|
|
144
144
|
* }
|
|
145
145
|
* ```
|
|
146
146
|
*/
|
|
147
|
-
abstract dwgIn(obj:
|
|
147
|
+
abstract dwgIn(obj: {
|
|
148
|
+
type: MxType.MxCloneType;
|
|
149
|
+
[x: string]: any;
|
|
150
|
+
}): boolean;
|
|
148
151
|
/**
|
|
149
152
|
* 自定义对象数据输出,必须要实现该函数
|
|
150
153
|
* @param
|
|
@@ -159,7 +162,10 @@ export default abstract class MxDbEntity {
|
|
|
159
162
|
* }
|
|
160
163
|
* ```
|
|
161
164
|
*/
|
|
162
|
-
abstract dwgOut(obj:
|
|
165
|
+
abstract dwgOut(obj: {
|
|
166
|
+
type: MxType.MxCloneType;
|
|
167
|
+
[x: string]: any;
|
|
168
|
+
}): object;
|
|
163
169
|
/**
|
|
164
170
|
* 自定义实体的矩阵 坐标变换 (需要重写该方法实现如果通过矩阵对自定义实体进行操作 默认不会进行任何操作)
|
|
165
171
|
* @param _mat THREE.Matrix4 变化矩阵
|
|
@@ -172,6 +178,14 @@ export default abstract class MxDbEntity {
|
|
|
172
178
|
* @returns void
|
|
173
179
|
*/
|
|
174
180
|
getGeomExtents(): THREE.Box3 | null;
|
|
181
|
+
/**
|
|
182
|
+
* 对一个点到这个对象的最近点 。
|
|
183
|
+
* iOperationType == 0正常操作求值最近点.
|
|
184
|
+
* iOperationType == 1点选择操作求值最近点.
|
|
185
|
+
* @param
|
|
186
|
+
* @returns void
|
|
187
|
+
*/
|
|
188
|
+
getClosestPointTo(pt: THREE.Vector3, iOperationType?: number): THREE.Vector3 | null;
|
|
175
189
|
private getImp;
|
|
176
190
|
/**
|
|
177
191
|
* 更新显示
|
|
@@ -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,h]=getDwgKeyVal(t,e);r[i]=_.cloneDeepWith(h,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}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}};
|
|
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,h]=getDwgKeyVal(t,e);r[i]=_.cloneDeepWith(h,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}};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import MxDbEntity from
|
|
1
|
+
import McGiWorldDraw from '../McGiWorldDraw';
|
|
2
|
+
import MxDbEntity from '../MxDbEntity';
|
|
3
3
|
/***
|
|
4
4
|
* 渐变线段
|
|
5
5
|
* @augments MxDbEntity
|
|
@@ -33,13 +33,13 @@ export default class MxDbGradientLine extends MxDbEntity {
|
|
|
33
33
|
* 当curveType为catmullrom时,定义catmullrom的张力。 张力: 数值越大,曲线越弯曲。值为0将导致没有插值。默认值是0
|
|
34
34
|
* @access public
|
|
35
35
|
*
|
|
36
|
-
|
|
36
|
+
*/
|
|
37
37
|
tension: number;
|
|
38
38
|
/**
|
|
39
39
|
* 如果没有提供张力,但bezierType赋值为'quadratic'| 'cubic',则使用点集合中的点绘制一条bezier线 默认: undefined
|
|
40
40
|
* @summary quadratic: 三维二次贝塞尔曲线 => 起点 – 中间的控制点 – 终点
|
|
41
41
|
* @summary cubic: 三维三次贝塞尔曲线 => 起点v – 第一个控制点 – 第二个控制点 – 终点
|
|
42
|
-
|
|
42
|
+
*/
|
|
43
43
|
bezierType: 'quadratic' | 'cubic' | undefined;
|
|
44
44
|
protected curve?: THREE.CatmullRomCurve3 | THREE.CurvePath<THREE.Vector3>;
|
|
45
45
|
create(): MxDbGradientLine;
|
|
@@ -47,9 +47,9 @@ export default class MxDbGradientLine extends MxDbEntity {
|
|
|
47
47
|
setPoints(points: THREE.Vector3[]): this;
|
|
48
48
|
setColors(colors: (THREE.Color | string | number)[]): this;
|
|
49
49
|
addColor(color: THREE.Color): this;
|
|
50
|
-
setLinecap(linecap:
|
|
50
|
+
setLinecap(linecap: 'butt' | 'round' | 'square'): void;
|
|
51
51
|
setClosed(closed: boolean): void;
|
|
52
|
-
setCurveType(curveType:
|
|
52
|
+
setCurveType(curveType: 'chordal' | 'centripetal' | 'catmullrom'): void;
|
|
53
53
|
setTension(tension: number): void;
|
|
54
54
|
setBezierType(bezierType: 'quadratic' | 'cubic'): void;
|
|
55
55
|
worldDraw(pWorldDraw: McGiWorldDraw): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(t,s,e,i){return new(e||(e=Promise))(function(o,r){function g(t){try{
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(t,s,e,i){return new(e||(e=Promise))(function(o,r){function g(t){try{n(i.next(t))}catch(t){r(t)}}function h(t){try{n(i.throw(t))}catch(t){r(t)}}function n(t){var s;t.done?o(t.value):(s=t.value,s instanceof e?s:new e(function(t){t(s)})).then(g,h)}n((i=i.apply(t,s||[])).next())})};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()),s=0,e=this;this.svg.traverse(function(i){i.material&&(s<e.svgChildColor.length?i.material.color=new THREE.Color(e.svgChildColor[s]):i.material.color=t,s++)}),this.setNeedUpdateDisplay(!0)}}getSvgChildColor(){return this.svgChildColor}calcVewSize(t){let s=this.svgSize.x,e=this.svgSize.y;return e<=0&&(e=this.svgBoxSize?this.svgBoxSize.y/this.svgBoxSize.x*s:s),this.fixedSize&&(s=t.screenCoordLong2Doc(s),e=t.screenCoordLong2Doc(e)),[s,e]}calcSvgDrawRect(t){if(!t)return;this.calcSvgPosition(t);let[s,e]=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,g=new THREE.Vector3(this.svgPos.x-s*this.svgAlignmentRatio.x,this.svgPos.y-e*this.svgAlignmentRatio.y,0);r.makeTranslation(g.x,g.y,g.z),o.multiply(i),o.premultiply(r);let h=new THREE.Vector3(0,0,0),n=new THREE.Vector3(s,0,0),a=new THREE.Vector3(s,e,0),l=new THREE.Vector3(0,e,0);return h.applyMatrix4(o),n.applyMatrix4(o),a.applyMatrix4(o),l.applyMatrix4(o),{pt1:h,pt2:a,pt3:n,pt4:l,cenpt:a.clone().add(h.clone().sub(a).multiplyScalar(.5)),sizew:s,sizeh:e}}worldDraw(t){let s=t.getMxObject(),e=this.calcSvgDrawRect(s),i=e.pt1,o=e.pt2,r=e.pt3,g=e.pt4,h=e.cenpt,n=e.sizew;if(this.aryText.forEach((e,i)=>{if(e.txt.length>0){let o=new THREE.Vector3(e.txtPos.x,e.txtPos.y,0);this.fixedSize&&(e.txtPos.x>0?o.x=this.svgPos.x+s.screenCoordLong2Doc(e.txtPos.x):o.x=this.svgPos.x-s.screenCoordLong2Doc(e.txtPos.x),e.txtPos.y>0?o.y=this.svgPos.y+s.screenCoordLong2Doc(e.txtPos.y):o.y=this.svgPos.y-s.screenCoordLong2Doc(e.txtPos.y));let r=void 0;e.color&&(r=t.getColor(),t.setColor(e.color));let g=e.txtHeight;if(this.fixedSize&&(g=s.screenCoordLong2Doc(e.txtHeight)),t.setXData({type:"text",txt:e.txt,index:i}),e._txtObject=t.drawText(e.txt,g,0,o),e._txtAspectRatio=-1,r&&t.setColor(r),e.drawConnectingLine){let s=h.clone().sub(o);if(s.length()>e.txtHeight+n){s.normalize();let i=h.clone().sub(s.clone().multiplyScalar(n)),r=o.clone().add(s.clone().multiplyScalar(e.txtHeight));t.setXData({type:"line"}),t.drawLine(i,r)}}}}),1==t.getType()){if(this.svg)t.setXData({type:"svg"}),t.drawEntity(this.svg);else if(this.svgPath.length>0&&this.isLoadFromPath){let e=this,i=t.getMxObject();MxThreeJS.loadSVG(this.svgPath,void 0,o=>{if(o){let r=o;if(r.boxSize)e.svgBoxSize=r.boxSize.clone();else{let t=(new THREE.Box3).setFromObject(o);e.svgBoxSize||(e.svgBoxSize=new THREE.Vector3),e.svgBoxSize.x=t.max.x-t.min.x,e.svgBoxSize.y=t.max.y-t.min.y}let[g,h]=e.calcVewSize(s);e.svgBoxSize&&(o.scale.x=g/e.svgBoxSize.x,o.scale.y=h/e.svgBoxSize.y),o.scale.z=o.scale.x,e.svgReverse&&(o.scale.y*=-1),e.svgMirror&&(o.scale.x*=-1),o.rotateZ(e.svgRotate),e.isSvgDirtyLocation=!0;let n=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,e.useSvgColor||(a<e.svgChildColor.length?t.material.color=new THREE.Color(e.svgChildColor[a]):t.material.color=n),a++)}),e.svg=o,e.setNeedUpdateDisplay(),i.updateDisplay()}else console.log("mx LoadSVG:"+e.svgPath+" failed");e.isLoadFromPath=!1})}}else t.drawLine(i,r),t.drawLine(r,o),t.drawLine(o,g),t.drawLine(g,i)}setSvgPath(t,s=!1){return __awaiter(this,void 0,void 0,function*(){this.svgPath=t,this.svg=null,this.isLoadFromPath=!0,this.svgBoxSize=null,s&&(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 s=0;for(;s<this.aryText.length;s++){let e=this.aryText[s];if(e.move){let s=new THREE.Vector3(e.txtPos.x,e.txtPos.y,0);if(this.fixedSize){let t=MxFun.getCurrentDraw();e.txtPos.x>0?s.x=this.svgPos.x+t.screenCoordLong2Doc(e.txtPos.x):s.x=this.svgPos.x-t.screenCoordLong2Doc(e.txtPos.x),e.txtPos.y>0?s.y=this.svgPos.y+t.screenCoordLong2Doc(e.txtPos.y):s.y=this.svgPos.y-t.screenCoordLong2Doc(e.txtPos.y)}t.push(s)}}return t}moveGripPointsAt(t,s){if(0==t)this.svgPos.add(s),this.fixedSize||this.aryText.forEach(t=>{t.txtPos.add(s)});else if(t-1>=0&&t-1<this.aryText.length){let e=this.aryText[t-1];if(e.move)if(this.fixedSize){let t=MxFun.getCurrentDraw();e.txtPos.x+=t.docCoordLong2Screen(s.x),e.txtPos.y+=t.docCoordLong2Screen(s.y)}else e.txtPos.add(s)}return this.isSvgDirtyLocation=!0,!0}calcSvgPosition(t){if(!this.svg||!this.isSvgDirtyLocation)return;this.isSvgDirtyLocation=!1;let[s,e]=this.calcVewSize(t);this.svg.position.x=this.svgPos.x-s*this.svgAlignmentRatio.x-this.svgMargin.x*s,this.svg.position.y=this.svgPos.y-e*this.svgAlignmentRatio.y-this.svgMargin.y*e}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 s=t.txts;return this.aryText=[],s.forEach(t=>{let s=new MxDbSVGText;s.txt=t.txt,s.txtHeight=t.txtHeight,s.txtPos.copy(t.txtPos),s.move=t.move,s.drawConnectingLine=t.drawConnectingLine,this.aryText.push(s)}),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(s=>{let e={txtPos:s.txtPos,txt:s.txt,txtHeight:s.txtHeight,color:s.color,_txtAspectRatio:s._txtAspectRatio,move:s.move,drawConnectingLine:s.drawConnectingLine};t.txts.push(e)}),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(s=>{s.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(s){s.material&&(s.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 s=(new THREE.Box3).setFromObject(t);this.svgBoxSize||(this.svgBoxSize=new THREE.Vector3),this.svgBoxSize.x=s.max.x-s.min.x,this.svgBoxSize.y=s.max.y-s.min.y}}reComputeSVG(){if(!this.svg)return;let t=this.getMxObject();if(!t)return;this.calcSvgBoxSize(this.svg);let[s,e]=this.calcVewSize(t);this.svgBoxSize&&(this.svg.scale.x=s/this.svgBoxSize.x,this.svg.scale.y=e/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[s,e]=this.calcVewSize(t);this.svgBoxSize&&(this.svg.scale.x=s/this.svgBoxSize.x,this.svg.scale.y=e/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 s=this;return this.aryText.forEach(e=>{if(e._txtObject&&t){let i=t.screenCoordLong2Doc(e.txtHeight);i>1e-5&&(e._txtAspectRatio<=0&&(e._txtAspectRatio=e._txtObject.scale.x/e._txtObject.scale.y),e._txtObject.scale.set(e._txtAspectRatio*i,i,1),e.txtPos.x>0?e._txtObject.position.x=s.svgPos.x+t.screenCoordLong2Doc(e.txtPos.x):e._txtObject.position.x=s.svgPos.x-t.screenCoordLong2Doc(e.txtPos.x),e.txtPos.y>0?e._txtObject.position.y=s.svgPos.y+t.screenCoordLong2Doc(e.txtPos.y):e._txtObject.position.y=s.svgPos.y-t.screenCoordLong2Doc(e.txtPos.y),e._txtObject.updateMatrix())}}),!0}};
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { Color } from "three";
|
|
2
|
+
import McGiWorldDraw from "../McGiWorldDraw";
|
|
3
|
+
import MxDbEntity from "../MxDbEntity";
|
|
4
|
+
import { SpriteTextObj, SpriteTextColorType } from "./SpriteText";
|
|
5
|
+
/**
|
|
6
|
+
* MxDbText 绘制文字
|
|
7
|
+
* @describe 适用于标签标注类型的文字(永远面向相机的平面)
|
|
8
|
+
* @example
|
|
9
|
+
* ``` js
|
|
10
|
+
* obj = new MxDbText()
|
|
11
|
+
obj.rxInit()
|
|
12
|
+
obj.position = new THREE.Vector3()
|
|
13
|
+
obj.backgroundColor = '#ff0000'
|
|
14
|
+
obj.padding = 5
|
|
15
|
+
obj.strokeWidth = 3
|
|
16
|
+
obj.strokeColor = "#3a8bd2"
|
|
17
|
+
obj.borderColor = "#ff00ff"
|
|
18
|
+
obj.borderWidth = 2
|
|
19
|
+
obj.borderRadius = 2
|
|
20
|
+
obj.opacity = 0.8
|
|
21
|
+
obj.text = 'This is\nsome multi-line\ntext'
|
|
22
|
+
obj.height = 100000
|
|
23
|
+
obj.color = "#fff000"
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export declare class MxDbText extends MxDbEntity {
|
|
27
|
+
/** 文字所在位置*/
|
|
28
|
+
position: import("three").Vector3;
|
|
29
|
+
setPosition(position: THREE.Vector3): this;
|
|
30
|
+
private _text;
|
|
31
|
+
/** 文字内容*/
|
|
32
|
+
get text(): string;
|
|
33
|
+
set text(text: string);
|
|
34
|
+
setText(text: string): this;
|
|
35
|
+
private _height;
|
|
36
|
+
/** 文字高度*/
|
|
37
|
+
get height(): number;
|
|
38
|
+
set height(height: number);
|
|
39
|
+
setHeight(height: number): this;
|
|
40
|
+
private _backgroundColor;
|
|
41
|
+
/** 背景颜色 */
|
|
42
|
+
get backgroundColor(): SpriteTextColorType;
|
|
43
|
+
set backgroundColor(color: SpriteTextColorType);
|
|
44
|
+
setBackgroundColor(backgroundColor: SpriteTextColorType): this;
|
|
45
|
+
private _padding;
|
|
46
|
+
/** 填充范围 */
|
|
47
|
+
get padding(): number | number[];
|
|
48
|
+
set padding(padding: number | number[]);
|
|
49
|
+
setPadding(padding: number | number[]): this;
|
|
50
|
+
private _borderWidth;
|
|
51
|
+
/** 边框宽度 */
|
|
52
|
+
get borderWidth(): number;
|
|
53
|
+
set borderWidth(borderWidth: number);
|
|
54
|
+
setBorderWidth(borderWidth: number): this;
|
|
55
|
+
private _borderRadius;
|
|
56
|
+
/** 边框圆角 */
|
|
57
|
+
get borderRadius(): number;
|
|
58
|
+
set borderRadius(borderRadius: number);
|
|
59
|
+
setBorderRadius(borderRadius: number): this;
|
|
60
|
+
private _borderColor;
|
|
61
|
+
/** 边框颜色 */
|
|
62
|
+
get borderColor(): SpriteTextColorType;
|
|
63
|
+
set borderColor(borderColor: SpriteTextColorType);
|
|
64
|
+
setBorderColor(borderColor: SpriteTextColorType): this;
|
|
65
|
+
private _fontFace;
|
|
66
|
+
/** 字体 */
|
|
67
|
+
get fontFace(): string;
|
|
68
|
+
set fontFace(fontFace: string);
|
|
69
|
+
setFontFace(fontFace: string): this;
|
|
70
|
+
private _fontSize;
|
|
71
|
+
/** 字体大小 */
|
|
72
|
+
get fontSize(): number;
|
|
73
|
+
set fontSize(fontSize: number);
|
|
74
|
+
setFontSize(fontSize: number): this;
|
|
75
|
+
private _fontWeight;
|
|
76
|
+
/** 字体粗细 */
|
|
77
|
+
get fontWeight(): string;
|
|
78
|
+
set fontWeight(fontWeight: string);
|
|
79
|
+
setFontWeight(fontWeight: string): this;
|
|
80
|
+
private _strokeWidth;
|
|
81
|
+
/** 笔划宽度 */
|
|
82
|
+
get strokeWidth(): number;
|
|
83
|
+
set strokeWidth(strokeWidth: number);
|
|
84
|
+
setStrokeWidth(strokeWidth: number): this;
|
|
85
|
+
private _strokeColor;
|
|
86
|
+
/** 笔划颜色 */
|
|
87
|
+
get strokeColor(): SpriteTextColorType;
|
|
88
|
+
set strokeColor(strokeColor: SpriteTextColorType);
|
|
89
|
+
setStrokeColor(strokeColor: SpriteTextColorType): this;
|
|
90
|
+
private _textAlign;
|
|
91
|
+
/** 文本格式 */
|
|
92
|
+
get textAlign(): CanvasTextAlign;
|
|
93
|
+
set textAlign(textAlign: CanvasTextAlign);
|
|
94
|
+
setTextAlign(textAlign: CanvasTextAlign): this;
|
|
95
|
+
private _textShadowBlur;
|
|
96
|
+
/** 文字阴影模糊程度 */
|
|
97
|
+
get textShadowBlur(): number;
|
|
98
|
+
set textShadowBlur(textShadowBlur: number);
|
|
99
|
+
setTextShadowBlur(textShadowBlur: number): this;
|
|
100
|
+
private _textShadowColor;
|
|
101
|
+
/** 文字阴影颜色*/
|
|
102
|
+
get textShadowColor(): string | number | Color | undefined;
|
|
103
|
+
set textShadowColor(textShadowColor: string | number | Color | undefined);
|
|
104
|
+
setTextShadowColor(textShadowColor: string | number | Color | undefined): this;
|
|
105
|
+
private _textShadowOffsetX;
|
|
106
|
+
/** 文字阴影X轴偏移量 */
|
|
107
|
+
get textShadowOffsetX(): number;
|
|
108
|
+
set textShadowOffsetX(textShadowOffsetX: number);
|
|
109
|
+
setTextShadowOffsetX(textShadowOffsetX: number): this;
|
|
110
|
+
private _textShadowOffsetY;
|
|
111
|
+
/** 文字阴影X轴偏移量 */
|
|
112
|
+
get textShadowOffsetY(): number;
|
|
113
|
+
set textShadowOffsetY(textShadowOffsetY: number);
|
|
114
|
+
setTextShadowOffsetY(textShadowOffsetY: number): this;
|
|
115
|
+
private _angle;
|
|
116
|
+
/** 角度*/
|
|
117
|
+
get angle(): number;
|
|
118
|
+
set angle(angle: number);
|
|
119
|
+
setAngle(angle: number): this;
|
|
120
|
+
private _scale;
|
|
121
|
+
/** 缩放倍数 */
|
|
122
|
+
get scale(): number;
|
|
123
|
+
set scale(scale: number);
|
|
124
|
+
setScale(scale: number): this;
|
|
125
|
+
/** SpriteText实例 */
|
|
126
|
+
protected spriteText: SpriteTextObj;
|
|
127
|
+
getTypeName(): string;
|
|
128
|
+
worldDraw(pWorldDraw: McGiWorldDraw): void;
|
|
129
|
+
/**创建精灵文字对象 */
|
|
130
|
+
protected createSpriteText(): void;
|
|
131
|
+
getGripPoints(): THREE.Vector3[];
|
|
132
|
+
moveGripPointsAt(index: number, offset: THREE.Vector3): boolean;
|
|
133
|
+
create(): MxDbEntity;
|
|
134
|
+
dwgIn(obj: any): boolean;
|
|
135
|
+
dwgOut(obj: any): object;
|
|
136
|
+
getGeomExtents(): THREE.Box3 | null;
|
|
137
|
+
erase(): boolean;
|
|
138
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import McGiWorldDrawType from"../McGiWorldDrawType";import MxDbEntity from"../MxDbEntity";import MxType from"../MxType";import{getSpriteTextClass}from"./SpriteText";const propertyDbKeys=["text","position","height","backgroundColor","padding","borderWidth","borderRadius","borderColor","fontFace","fontSize","fontWeight","strokeWidth","strokeColor","angle","textAlign","textShadowBlur","textShadowColor","textShadowOffsetX","textShadowOffsetY","scale"];export class MxDbText extends MxDbEntity{constructor(){super(...arguments),this.position=new THREE.Vector3,this._text="",this._height=16,this._angle=0,this._scale=1}setPosition(t){return this.position=t,this}get text(){return this.spriteText?this.spriteText.text:this._text}set text(t){this.spriteText?this.spriteText.text=t:this._text=t}setText(t){return this.text=t,this}get height(){return this.spriteText?this.spriteText.textHeight:this._height}set height(t){this.spriteText?this.spriteText.textHeight=t:this._height=t}setHeight(t){return this.height=t,this}get backgroundColor(){return this.spriteText?this.spriteText.backgroundColor:this._backgroundColor}set backgroundColor(t){this.spriteText?this.spriteText.backgroundColor=t:this._backgroundColor=t}setBackgroundColor(t){return this.backgroundColor=t,this}get padding(){return this.spriteText?this.spriteText.padding:this._padding}set padding(t){this.spriteText?this.spriteText.padding=t:this._padding=t}setPadding(t){return this.padding=t,this}get borderWidth(){return this.spriteText?this.spriteText.borderWidth:this._borderWidth}set borderWidth(t){this.spriteText?this.spriteText.borderWidth=t:this._borderWidth=t}setBorderWidth(t){return this.borderWidth=t,this}get borderRadius(){return this.spriteText?this.spriteText.borderRadius:this._borderRadius}set borderRadius(t){this.spriteText?this.spriteText.borderRadius=t:this._borderRadius=t}setBorderRadius(t){return this.borderRadius=t,this}get borderColor(){return this.spriteText?this.spriteText.borderColor:this._borderColor}set borderColor(t){this.spriteText?this.spriteText.borderColor=t:this._borderColor=t}setBorderColor(t){return this.borderColor=t,this}get fontFace(){return this.spriteText?this.spriteText.fontFace:this._fontFace}set fontFace(t){this.spriteText?this.spriteText.fontFace=t:this._fontFace=t}setFontFace(t){return this.fontFace=t,this}get fontSize(){return this.spriteText?this.spriteText.fontSize:this._fontSize}set fontSize(t){this.spriteText?this.spriteText.fontSize=t:this._fontSize=t}setFontSize(t){return this.fontSize=t,this}get fontWeight(){return this.spriteText?this.spriteText.fontWeight:this._fontWeight}set fontWeight(t){this.spriteText?this.spriteText.fontWeight=t:this._fontWeight=t}setFontWeight(t){return this.fontWeight=t,this}get strokeWidth(){return this.spriteText?this.spriteText.strokeWidth:this._strokeWidth}set strokeWidth(t){this.spriteText?this.spriteText.strokeWidth=t:this._strokeWidth=t}setStrokeWidth(t){return this.strokeWidth=t,this}get strokeColor(){return this.spriteText?this.spriteText.strokeColor:this._strokeColor}set strokeColor(t){this.spriteText?this.spriteText.strokeColor=t:this._strokeColor=t}setStrokeColor(t){return this.strokeColor=t,this}get textAlign(){return this.spriteText?this.spriteText.textAlign:this._textAlign}set textAlign(t){this.spriteText?this.spriteText.textAlign=t:this._textAlign=t}setTextAlign(t){return this.textAlign=t,this}get textShadowBlur(){return this.spriteText?this.spriteText.textShadowBlur:this._textShadowBlur}set textShadowBlur(t){this.spriteText?this.spriteText.textShadowBlur=t:this._textShadowBlur=t}setTextShadowBlur(t){return this.textShadowBlur=t,this}get textShadowColor(){return this.spriteText?this.spriteText.textShadowColor:this._textShadowColor}set textShadowColor(t){this.spriteText?this.spriteText.textShadowColor=t:this._textShadowColor=t}setTextShadowColor(t){return this.textShadowColor=t,this}get textShadowOffsetX(){return this.spriteText?this.spriteText.textShadowOffsetX:this._textShadowOffsetX}set textShadowOffsetX(t){this.spriteText?this.spriteText.textShadowOffsetX=t:this._textShadowOffsetX=t}setTextShadowOffsetX(t){return this.textShadowOffsetX=t,this}get textShadowOffsetY(){return this.spriteText?this.spriteText.textShadowOffsetY:this._textShadowOffsetY}set textShadowOffsetY(t){this.spriteText?this.spriteText.textShadowOffsetY=t:this._textShadowOffsetY=t}setTextShadowOffsetY(t){return this.textShadowOffsetY=t,this}get angle(){return this.spriteText?this.spriteText.angle:this._angle}set angle(t){this.spriteText?this.spriteText.angle=t:this._angle=t}setAngle(t){return this.angle=t,this}get scale(){return this.spriteText?this.spriteText.textScale:this._scale}set scale(t){this.spriteText?this.spriteText.textScale=t:this._scale=t}setScale(t){return this.scale=t,this}getTypeName(){return"MxDbTagText"}worldDraw(t){if(this.text.length>0){t.getType()!==McGiWorldDrawType.kWorldDraw||this.spriteText||this.createSpriteText(),this.color!==this.spriteText.color&&(this.spriteText.color=this.color),this.spriteText.material.setValues({opacity:this.opacity,visible:this.visible});const{x:e,y:i,z:s}=this.position;this.spriteText.position.set(e,i,s),t.drawEntity(this.spriteText)}}createSpriteText(){const t=getSpriteTextClass(),{text:e,height:i,color:s,backgroundColor:r,padding:o,borderWidth:h,borderRadius:x,borderColor:n,strokeWidth:d,strokeColor:p,fontFace:a,fontSize:T,fontWeight:l,textAlign:g,textShadowBlur:u,textShadowColor:f,textShadowOffsetX:S,textShadowOffsetY:w,angle:c,scale:b}=this;this.spriteText=new t({text:e,textHeight:i,color:s,backgroundColor:r,padding:o,borderWidth:h,borderRadius:x,borderColor:n,strokeWidth:d,strokeColor:p,fontFace:a,fontSize:T,fontWeight:l,textAlign:g,textShadowBlur:u,textShadowColor:f,textShadowOffsetX:S,textShadowOffsetY:w,angle:c,scale:b})}getGripPoints(){return[this.position]}moveGripPointsAt(t,e){return 0===t&&this.position.add(e),!0}create(){return new MxDbText}dwgIn(t){return this.onDwgIn(t),this.dwgInHelp(t,propertyDbKeys),t.type===MxType.MxCloneType.kMxFileClone?this.createSpriteText():this.spriteText=t.spriteText,!0}dwgOut(t){return this.onDwgOut(t),this.dwgOutHelp(t,propertyDbKeys),t.type===MxType.MxCloneType.kMxFileClone?t.spriteText=void 0:t.spriteText=this.spriteText,t}getGeomExtents(){return(new THREE.Box3).expandByObject(this.spriteText)}erase(){return super.erase(),this.spriteText&&this.spriteText.dispose(),!0}};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import McGiWorldDraw from '../McGiWorldDraw';
|
|
2
|
+
import MxDbEntity from '../MxDbEntity';
|
|
3
|
+
/**
|
|
4
|
+
* MxDbText 绘制文字
|
|
5
|
+
*/
|
|
6
|
+
export default class MxDbText extends MxDbEntity {
|
|
7
|
+
/** 文字所在位置*/
|
|
8
|
+
position: import("three").Vector3;
|
|
9
|
+
/** 文字内容*/
|
|
10
|
+
text: string;
|
|
11
|
+
/** 文字高度*/
|
|
12
|
+
height: number;
|
|
13
|
+
/** 角度*/
|
|
14
|
+
angle: number;
|
|
15
|
+
getTypeName(): string;
|
|
16
|
+
worldDraw(pWorldDraw: McGiWorldDraw): void;
|
|
17
|
+
getGripPoints(): THREE.Vector3[];
|
|
18
|
+
moveGripPointsAt(index: number, offset: THREE.Vector3): boolean;
|
|
19
|
+
create(): MxDbEntity;
|
|
20
|
+
dwgIn(obj: any): boolean;
|
|
21
|
+
dwgOut(obj: any): object;
|
|
22
|
+
getGeomExtents(): THREE.Box3 | null;
|
|
23
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{formatString}from"../../tools/formatting";import McGiWorldDrawType from"../McGiWorldDrawType";import MxDbEntity from"../MxDbEntity";import MxThreeJS from"../MxThreeJS";export default class MxDbText extends MxDbEntity{constructor(){super(...arguments),this.position=new THREE.Vector3,this.text="",this.height=1,this.angle=0}getTypeName(){return"MxDbText"}worldDraw(t){if(this.text.length>0&&(t.drawText(this.text,this.height,this.angle,this.position),t.getType()===McGiWorldDrawType.kSelectDraw)){let i=MxThreeJS.creatTextSprite(this.text,this.position,this.height,this.angle,16777215);if(i){const e=new THREE.Box3;e.expandByObject(i);const n=e.min,o=e.max,s={x:n.x,y:o.y},r={x:o.x,y:n.y};t.drawLine(n.x,n.y,s.x,s.y),t.drawLine(s.x,s.y,o.x,o.y),t.drawLine(o.x,o.y,r.x,r.y),t.drawLine(r.x,r.y,n.x,n.y)}}}getGripPoints(){return[this.position]}moveGripPointsAt(t,i){return 0===t&&this.position.add(i),!0}create(){return new MxDbText}dwgIn(t){return this.onDwgIn(t),this.position.copy(t.position),this.text=t.text.substr(0),this.height=t.height,this.angle=t.angle,!0}dwgOut(t){return this.onDwgOut(t),t.position=this.position,t.text=this.text,t.height=this.height,t.angle=this.angle,t}getGeomExtents(){var t=document.createElement("canvas").getContext("2d");if(null==t)return null;var i=formatString("normal {0}px Arial","256");t.font=i;let e=t.measureText(this.text).width/256,n=this.position.x-e*this.height*.5,o=this.position.y-.5*this.height,s=this.position.x+e*this.height*.5,r=this.position.y+.5*this.height;return new THREE.Box3(new THREE.Vector3(n,o,this.position.z),new THREE.Vector3(s,r,this.position.z))}};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export declare type SpriteTextColorType = THREE.Color | string | number | CanvasGradient | CanvasPattern | undefined;
|
|
2
|
+
export declare type SpriteTextClass = typeof SpriteText;
|
|
3
|
+
export declare type SpriteTextObj = SpriteText;
|
|
4
|
+
declare class SpriteText extends THREE.Sprite {
|
|
5
|
+
constructor(options?: SpriteTextOptions);
|
|
6
|
+
text: string;
|
|
7
|
+
textHeight: number;
|
|
8
|
+
color: SpriteTextColorType;
|
|
9
|
+
backgroundColor: SpriteTextColorType;
|
|
10
|
+
padding: number | number[];
|
|
11
|
+
borderWidth: number;
|
|
12
|
+
borderRadius: number;
|
|
13
|
+
borderColor: SpriteTextColorType;
|
|
14
|
+
fontFace: string;
|
|
15
|
+
fontSize: number;
|
|
16
|
+
fontWeight: string;
|
|
17
|
+
strokeWidth: number;
|
|
18
|
+
strokeColor: SpriteTextColorType;
|
|
19
|
+
textAlign: CanvasTextAlign;
|
|
20
|
+
textShadowBlur: number;
|
|
21
|
+
textShadowColor: string | number | THREE.Color | undefined;
|
|
22
|
+
textShadowOffsetX: number;
|
|
23
|
+
textShadowOffsetY: number;
|
|
24
|
+
angle: number;
|
|
25
|
+
textScale: number;
|
|
26
|
+
private _genCanvas;
|
|
27
|
+
dispose(): void;
|
|
28
|
+
}
|
|
29
|
+
export interface SpriteTextOptions {
|
|
30
|
+
text?: string;
|
|
31
|
+
textHeight?: number;
|
|
32
|
+
color?: SpriteTextColorType;
|
|
33
|
+
backgroundColor?: SpriteTextColorType | undefined;
|
|
34
|
+
padding?: number | number[];
|
|
35
|
+
borderWidth?: number;
|
|
36
|
+
borderRadius?: number;
|
|
37
|
+
borderColor?: SpriteTextColorType;
|
|
38
|
+
strokeWidth?: number;
|
|
39
|
+
strokeColor?: SpriteTextColorType;
|
|
40
|
+
fontFace?: string;
|
|
41
|
+
fontSize?: number;
|
|
42
|
+
fontWeight?: string;
|
|
43
|
+
textAlign?: CanvasTextAlign;
|
|
44
|
+
textBaseline?: CanvasTextBaseline;
|
|
45
|
+
textShadowBlur?: number;
|
|
46
|
+
textShadowColor?: string | number | THREE.Color | undefined;
|
|
47
|
+
textShadowOffsetX?: number;
|
|
48
|
+
textShadowOffsetY?: number;
|
|
49
|
+
angle?: number;
|
|
50
|
+
scale?: number;
|
|
51
|
+
}
|
|
52
|
+
export declare function getSpriteTextColor(color: SpriteTextColorType): string | CanvasGradient | CanvasPattern;
|
|
53
|
+
export declare function getSpriteTextClass(): SpriteTextClass;
|
|
54
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let _SpriteText;export function getSpriteTextColor(t){return t?t instanceof THREE.Color?t.getStyle():"number"==typeof t?new THREE.Color(t).getStyle():t:"#fff"};export function getSpriteTextClass(){if(!_SpriteText){class t extends THREE.Sprite{constructor(t){super(new THREE.SpriteMaterial);const{text:e,textHeight:i,color:o,backgroundColor:s,padding:h,borderWidth:r,borderRadius:a,borderColor:n,strokeWidth:d,strokeColor:l,fontFace:g,fontSize:x,fontWeight:f,textAlign:_,textShadowBlur:c,textShadowColor:S,textShadowOffsetX:u,textShadowOffsetY:C,angle:w,scale:p}=t||{};this._text=`${e}`,this._textHeight=i||10,this._color=o,this._backgroundColor=s,this._padding=h||0,this._borderWidth=r||0,this._borderRadius=a||0,this._borderColor=n||"white",this._strokeWidth=d||0,this._strokeColor=l||"white",this._fontFace=g||"Arial",this._fontSize=x||90,this._fontWeight=f||"normal",this._textAlign=_||"start",this._textShadowBlur=c||0,this._textShadowColor=S,this._textShadowOffsetX=u||0,this._textShadowOffsetY=C||0,this._angle=w||0,this._textScale=p||1,this._canvas=document.createElement("canvas"),this._genCanvas()}get text(){return this._text}set text(t){this._text=t,this._genCanvas()}get textHeight(){return this._textHeight}set textHeight(t){this._textHeight=t,this._genCanvas()}get color(){return this._color}set color(t){this._color=t,this._genCanvas()}get backgroundColor(){return this._backgroundColor}set backgroundColor(t){this._backgroundColor=t,this._genCanvas()}get padding(){return this._padding}set padding(t){this._padding=t,this._genCanvas()}get borderWidth(){return this._borderWidth}set borderWidth(t){this._borderWidth=t,this._genCanvas()}get borderRadius(){return this._borderRadius}set borderRadius(t){this._borderRadius=t,this._genCanvas()}get borderColor(){return this._borderColor}set borderColor(t){this._borderColor=t,this._genCanvas()}get fontFace(){return this._fontFace}set fontFace(t){this._fontFace=t,this._genCanvas()}get fontSize(){return this._fontSize}set fontSize(t){this._fontSize=t,this._genCanvas()}get fontWeight(){return this._fontWeight}set fontWeight(t){this._fontWeight=t,this._genCanvas()}get strokeWidth(){return this._strokeWidth}set strokeWidth(t){this._strokeWidth=t,this._genCanvas()}get strokeColor(){return this._strokeColor}set strokeColor(t){this._strokeColor=t,this._genCanvas()}get textAlign(){return this._textAlign}set textAlign(t){this._textAlign=t,this._genCanvas()}get textShadowBlur(){return this._textShadowBlur}set textShadowBlur(t){this._textShadowBlur=t,this._genCanvas()}get textShadowColor(){return this._textShadowColor}set textShadowColor(t){this._textShadowColor=t,this._genCanvas()}get textShadowOffsetX(){return this._textShadowOffsetX}set textShadowOffsetX(t){this._textShadowOffsetX=t,this._genCanvas()}get textShadowOffsetY(){return this._textShadowOffsetY}set textShadowOffsetY(t){this._textShadowOffsetY=t,this._genCanvas()}get angle(){return this._angle}set angle(t){this._angle=t,this._genCanvas()}get textScale(){return this._textScale}set textScale(t){this._textScale=t,this._genCanvas()}_genCanvas(){const t=this._canvas,e=t.getContext("2d"),i=Array.isArray(this.borderWidth)?this.borderWidth:[this.borderWidth,this.borderWidth],o=i.map(t=>t*this.fontSize*.1),s=(Array.isArray(this.borderRadius)?this.borderRadius:[this.borderRadius,this.borderRadius,this.borderRadius,this.borderRadius]).map(t=>t*this.fontSize*.1),h=Array.isArray(this.padding)?this.padding:[this.padding,this.padding],r=h.map(t=>t*this.fontSize*.1),a=this.text.split("\n"),n=`${this.fontWeight} ${this.fontSize}px ${this.fontFace}`;e.font=n;const d=Math.max(...a.map(t=>e.measureText(t).width)),l=this.fontSize*a.length;if(t.width=d+2*o[0]+2*r[0],t.height=l+2*o[1]+2*r[1],this.borderWidth){if(e.strokeStyle=getSpriteTextColor(this.borderColor),o[0]){const i=o[0]/2;e.lineWidth=o[0],e.beginPath(),e.moveTo(i,s[0]),e.lineTo(i,t.height-s[3]),e.moveTo(t.width-i,s[1]),e.lineTo(t.width-i,t.height-s[2]),e.stroke()}if(o[1]){const i=o[1]/2;e.lineWidth=o[1],e.beginPath(),e.moveTo(Math.max(o[0],s[0]),i),e.lineTo(t.width-Math.max(o[0],s[1]),i),e.moveTo(Math.max(o[0],s[3]),t.height-i),e.lineTo(t.width-Math.max(o[0],s[2]),t.height-i),e.stroke()}if(this.borderRadius){const i=Math.max(...o),h=i/2;e.lineWidth=i,e.beginPath(),[!!s[0]&&[s[0],h,h,s[0]],!!s[1]&&[t.width-s[1],t.width-h,h,s[1]],!!s[2]&&[t.width-s[2],t.width-h,t.height-h,t.height-s[2]],!!s[3]&&[s[3],h,t.height-h,t.height-s[3]]].filter(t=>t).forEach(t=>{const[i,o,s,h]=t;e.moveTo(i,s),e.quadraticCurveTo(o,s,o,h)}),e.stroke()}}this.backgroundColor&&(e.fillStyle=getSpriteTextColor(this.backgroundColor),this.borderRadius?(e.beginPath(),e.moveTo(o[0],s[0]),[[o[0],s[0],t.width-s[1],o[1],o[1],o[1]],[t.width-o[0],t.width-o[0],t.width-o[0],o[1],s[1],t.height-s[2]],[t.width-o[0],t.width-s[2],s[3],t.height-o[1],t.height-o[1],t.height-o[1]],[o[0],o[0],o[0],t.height-o[1],t.height-s[3],s[0]]].forEach(([t,i,o,s,h,r])=>{e.quadraticCurveTo(t,s,i,h),e.lineTo(o,r)}),e.closePath(),e.fill()):e.fillRect(o[0],o[1],t.width-2*o[0],t.height-2*o[1])),e.translate(o[0],o[1]),e.translate(r[0],r[1]),e.font=n,e.fillStyle=getSpriteTextColor(this.color),e.textBaseline="bottom",e.shadowBlur=this.textShadowBlur,e.shadowColor=new THREE.Color(this.textShadowColor).getStyle(),e.shadowOffsetX=this.textShadowOffsetX,e.shadowOffsetY=this.textShadowOffsetY;const g=this.strokeWidth>0;g&&(e.lineWidth=this.strokeWidth*this.fontSize/10,e.strokeStyle=getSpriteTextColor(this.strokeColor));const x="center"===this.textAlign,f="start"===this.textAlign||"left"===this.textAlign;a.forEach((t,i)=>{let o=x?2:1;const s=f?0:(d-e.measureText(t).width)/o,h=(i+1)*this.fontSize;g&&e.strokeText(t,s,h),e.fillText(t,s,h)}),this.material.map&&this.material.map.dispose();const _=this.material.map=new THREE.Texture(t);_.minFilter=THREE.LinearFilter,_.needsUpdate=!0;const c=this.textHeight*a.length+2*i[1]+2*h[1],S=c*t.width/t.height;this.scale.set(S,c,this.scale.z),this.material.rotation=this.angle,this.scale.applyMatrix4((new THREE.Matrix4).makeScale(this.textScale,this.textScale,1))}clone(){return new(0,this.constructor)(this.text,this.textHeight,this.color).copy(this)}copy(t){return THREE.Sprite.prototype.copy.call(this,t),this.color=t.color,this.backgroundColor=t.backgroundColor,this.padding=t.padding,this.borderWidth=t.borderWidth,this.borderColor=t.borderColor,this.fontFace=t.fontFace,this.fontSize=t.fontSize,this.fontWeight=t.fontWeight,this.strokeWidth=t.strokeWidth,this.strokeColor=t.strokeColor,this.textAlign=t.textAlign,this.textShadowBlur=t.textShadowBlur,this.textShadowColor=t.textShadowColor,this.textShadowOffsetX=t.textShadowOffsetX,this.textShadowOffsetY=t.textShadowOffsetY,this.angle=t.angle,this.textScale=t.textScale,this}dispose(){var t;null===(t=this.material.map)||void 0===t||t.dispose(),this.material.dispose(),this.geometry.dispose(),this.dispatchEvent({type:"dispose"})}}_SpriteText=t}return _SpriteText};
|
|
@@ -1,23 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* MxDbText 绘制文字
|
|
5
|
-
*/
|
|
6
|
-
export default class MxDbText extends MxDbEntity {
|
|
7
|
-
/** 文字所在位置*/
|
|
8
|
-
position: import("three").Vector3;
|
|
9
|
-
/** 文字内容*/
|
|
10
|
-
text: string;
|
|
11
|
-
/** 文字高度*/
|
|
12
|
-
height: number;
|
|
13
|
-
/** 角度*/
|
|
14
|
-
angle: number;
|
|
15
|
-
getTypeName(): string;
|
|
16
|
-
worldDraw(pWorldDraw: McGiWorldDraw): void;
|
|
17
|
-
getGripPoints(): THREE.Vector3[];
|
|
18
|
-
moveGripPointsAt(index: number, offset: THREE.Vector3): boolean;
|
|
19
|
-
create(): MxDbEntity;
|
|
20
|
-
dwgIn(obj: any): boolean;
|
|
21
|
-
dwgOut(obj: any): object;
|
|
22
|
-
getGeomExtents(): THREE.Box3 | null;
|
|
23
|
-
}
|
|
1
|
+
import { MxDbText } from "./MxDbText";
|
|
2
|
+
export default MxDbText;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{MxDbText}from"./MxDbText";export default MxDbText;
|
|
@@ -45,7 +45,7 @@ export interface MxDrawObjectType {
|
|
|
45
45
|
addMxCurrentSelect(id: number): void;
|
|
46
46
|
clearMxCurrentSelect(): boolean;
|
|
47
47
|
getMxEntityUserObject(id: number): MxDbEntity;
|
|
48
|
-
findMxEntityAtPoint(ptMouse: THREE.Vector3): Array<MxDbEntity>;
|
|
48
|
+
findMxEntityAtPoint(ptMouse: THREE.Vector3, isDocCoord?: boolean, retWordDrawXDataCall?: (id: number, data: any) => void): Array<MxDbEntity>;
|
|
49
49
|
setMouseMiddlePan(isPan: boolean): void;
|
|
50
50
|
resetThreeJSControls(): void;
|
|
51
51
|
getAllMxEntity(): Array<MxDbEntity>;
|
|
@@ -545,7 +545,7 @@ export default class MxDrawObject {
|
|
|
545
545
|
*
|
|
546
546
|
* ```
|
|
547
547
|
*/
|
|
548
|
-
findMxEntityAtPoint(ptMouse: THREE.Vector3): Array<MxDbEntity>;
|
|
548
|
+
findMxEntityAtPoint(ptMouse: THREE.Vector3, isDocCoord?: boolean, retWordDrawXDataCall?: (id: number, data: any) => void): Array<MxDbEntity>;
|
|
549
549
|
/**
|
|
550
550
|
*得到所有用户自绘对象.
|
|
551
551
|
* @returns MxDbEntity[] 返回用户自绘对象数组
|
|
@@ -838,4 +838,22 @@ export default class MxDrawObject {
|
|
|
838
838
|
* ```
|
|
839
839
|
*/
|
|
840
840
|
setSysVar(sName: string, val: any): void;
|
|
841
|
+
/**
|
|
842
|
+
* 是否是MxCAD模式运行.
|
|
843
|
+
* @example
|
|
844
|
+
* ```typescript
|
|
845
|
+
*
|
|
846
|
+
*
|
|
847
|
+
* ```
|
|
848
|
+
*/
|
|
849
|
+
isMxCAD(): boolean;
|
|
850
|
+
/**
|
|
851
|
+
* 得到实执行的内部MxObject对象.
|
|
852
|
+
* @example
|
|
853
|
+
* ```typescript
|
|
854
|
+
*
|
|
855
|
+
*
|
|
856
|
+
* ```
|
|
857
|
+
*/
|
|
858
|
+
getMxObjectImplement(): any;
|
|
841
859
|
}
|
|
@@ -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){return this._mxdrawObj.findMxEntityAtPoint(e)}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)}};
|
|
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}};
|
|
@@ -581,6 +581,16 @@ declare class MxFunClass {
|
|
|
581
581
|
* ```
|
|
582
582
|
*/
|
|
583
583
|
getMxEntity(id: number): MxDbEntity | undefined;
|
|
584
|
+
/**
|
|
585
|
+
* 得到当前鼠标位置,返回的是屏幕坐标 。
|
|
586
|
+
* @returns 返MxDbEntity
|
|
587
|
+
* @example
|
|
588
|
+
* ```typescript
|
|
589
|
+
*
|
|
590
|
+
*
|
|
591
|
+
* ```
|
|
592
|
+
*/
|
|
593
|
+
getCurrentMousePostion(): THREE.Vector3;
|
|
584
594
|
}
|
|
585
595
|
/**
|
|
586
596
|
* MxFun 模块
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createReandomId}from"../../tools/algorithm/random";import{createCanvas,createCanvasParent}from"../../tools/dom/create";import MxDrawObject from"../MxDrawObject";import store from"../store";import useCanvasResizeListener from"../useCanvasResizeListener";import MrxDbgUiPrPoint from"../MrxDbgUiPrPoint";import mxDefaultUiData from"../loadCoreCode/mxUiData";import MxDbDatabase from"../MxDbDatabase";import MxCADObject from"../MxCADObject";let mxUiData=mxDefaultUiData;class MxFunClass{constructor(){this.listenForUpdateCursor=(e=>{mxUiData.mountUpdateCursorFun(e)})}createMxObject({canvasId:e=createReandomId(),cadFile:t="",callback:r,isNewFile:o=!1,useWebsocket:n=!1,isAutoResize:a=!0,mapBox:s,isMxCAD:u=!1,userIdentitySign:i="emptyUserIdentity"}){if(this.initUiDataObject(mxUiData),!n&&o&&(o=!1),s){const e=s.canvas;store.state.MxFun.createMxObject(e,t,t=>{let o=new MxDrawObject(t);t.setIniset({EnableOsnapFunction:!0}),r&&r(o,{canvas:e,canvasParent:void 0})},void 0,o,n,s)}else{const s=createCanvas(e),d=createCanvasParent(s);d.parentNode&&11!=d.parentNode.nodeType||document.body.appendChild(d);let c=void 0;u&&(c=!0,n=!0),store.state.MxFun.createMxObject(e,t,e=>{let t=new MxDrawObject(e);if(u){const t=2;0==i.length&&(i="invalidUserIdentity"),e.initRunMode(t),e.initUserLoginData(i,"")}e.setMouseRightRotate(!1),e.setIniset({EnableOsnapFunction:!0}),e.addEvent("onResize",()=>(d.tabindex=3,{width:d.clientWidth,height:d.clientHeight})),a&&useCanvasResizeListener(t,s),r&&r(t,{canvas:s,canvasParent:d})},c,o,n,void 0)}}setMxServer(e="ws://localhost:5090"){store.state.MxFun.setMxServer(e)}enablStaticLoad(e){store.state.MxFun.enablStaticLoad(e)}setStaticServer(e){store.state.MxFun.setStaticServer(e)}addCommand(e,t){store.state.MxFun.addCommand(e,t)}sendStringToExecute(e,...t){return store.state.MxFun.sendStringToExecute(e,...t)}call(e,t,r){return store.state.MxFun.call(e,t,r)}getCurrentDraw(){return new MxDrawObject(store.state.MxFun.getCurrentDraw())}getCurrentDatabase(){let e=store.state.MxFun.getCurrentDraw();return new MxDbDatabase(e.getMxDatabase())}screenCoordLong2World(e){return store.state.MxFun.screenCoordLong2World(e)}screenCoordLong2Doc(e){return store.state.MxFun.screenCoordLong2Doc(e)}docCoordLong2Screen(e){return store.state.MxFun.docCoordLong2Screen(e)}worldCoordLong2Doc(e){return store.state.MxFun.worldCoordLong2Doc(e)}docCoordLong2World(e){return store.state.MxFun.docCoordLong2World(e)}screenCoord2World(e,t,r){return store.state.MxFun.screenCoord2World(e,t,r)}worldCoord2Screen(e,t,r){return store.state.MxFun.worldCoord2Screen(e,t,r)}docCoord2World(e,t,r){return store.state.MxFun.docCoord2World(e,t,r)}worldCoord2Doc(e,t,r){return store.state.MxFun.worldCoord2Doc(e,t,r)}screenCoord2Doc(e,t){return store.state.MxFun.screenCoord2Doc(e,t,0)}docCoord2Screen(e,t){return store.state.MxFun.docCoord2Screen(e,t,0)}updateDisplay(){return store.state.MxFun.updateDisplay()}addWindowsEvent(e){return store.state.MxFun.addWindowsEvent(e)}isRunningCommand(){return store.state.MxFun.isRunningCommand()}zoomW(e,t,r,o,n){return store.state.MxFun.zoomW(e,t,r,o,n)}showLayer(e,t,r){return store.state.MxFun.showLayer(e,t,r)}getCurrentMxCAD(){let e=store.state.MxFun.getCurrentMxCAD();return new MxCADObject(e)}getQueryString(e){return store.state.MxFun.getQueryString(e)}setIniset(e){return store.state.MxFun.setIniset(e)}upDisplayForLayerData(e){return store.state.MxFun.upDisplayForLayerData(e)}initUiDataObject(e){return mxUiData=e,store.state.MxFun.initUiDataObject(e)}getUIData(){return mxUiData}testMX(e){return 11}loadImageMaterial(e,t){return t?(store.state.MxFun.loadImageMaterial(e,t),new Promise((e,t)=>{e(null)})):new Promise((t,r)=>{store.state.MxFun.loadImageMaterial(e,e=>{t(e||null)})})}openFile(e,t=!1){return store.state.MxFun.openFile(e,t)}addToCurrentSpace(e){return this.getCurrentDraw().addMxEntity(e)}selectEnt(e,t=null){return new Promise((r,o)=>{const n=new MrxDbgUiPrPoint;n.setMessage(e),n.go(e=>{if(0!=e)return void r(0);const o=n.value();let a=this.getCurrentDraw().findMxEntityAtPoint(o),s=0;for(;0!=a.length;){let e=a.length;for(let r=0;r<e;r++){let e=a[r];if(!t||!t.type||t.type==e.getTypeName()){s=e.objectId();break}}break}r(s)})})}listenForCommandLineInput(e){mxUiData.getCmdLine().mountUpDisplayFun(e)}setCommandLineInputData(e,t){mxUiData.getCmdLine().setCmdText(e),mxUiData.onKeydown(t)}listenForCoordTip(e){mxUiData.mountSetCoordFun(e)}getMxFunTHREE(){return store.state.MxFun.getTHREE()}getMxFunThreeTool(){return store.state.MxFun.getMxThreeJS()}ceneratecursor(e=128,t=10,r=!0,o){return store.state.MxFun.ceneratecursor(e,t,r,o)}callCommand(e,t,r){return store.state.MxFun.callCommand(e,t,r)}cadCoord2Doc(e,t,r){return store.state.MxFun.cadCoord2Doc(e,t,r)}docCoord2Cad(e,t,r){return store.state.MxFun.docCoord2Cad(e,t,r)}getMxEntity(e){return store.state.MxFun.getMxEntity(e)}}const MxFun=new MxFunClass;export default MxFun;
|
|
1
|
+
import{createReandomId}from"../../tools/algorithm/random";import{createCanvas,createCanvasParent}from"../../tools/dom/create";import MxDrawObject from"../MxDrawObject";import store from"../store";import useCanvasResizeListener from"../useCanvasResizeListener";import MrxDbgUiPrPoint from"../MrxDbgUiPrPoint";import mxDefaultUiData from"../loadCoreCode/mxUiData";import MxDbDatabase from"../MxDbDatabase";import MxCADObject from"../MxCADObject";let mxUiData=mxDefaultUiData;class MxFunClass{constructor(){this.listenForUpdateCursor=(e=>{mxUiData.mountUpdateCursorFun(e)})}createMxObject({canvasId:e=createReandomId(),cadFile:t="",callback:r,isNewFile:o=!1,useWebsocket:n=!1,isAutoResize:a=!0,mapBox:s,isMxCAD:u=!1,userIdentitySign:i="emptyUserIdentity"}){if(this.initUiDataObject(mxUiData),!n&&o&&(o=!1),s){const e=s.canvas;store.state.MxFun.createMxObject(e,t,t=>{let o=new MxDrawObject(t);t.setIniset({EnableOsnapFunction:!0}),r&&r(o,{canvas:e,canvasParent:void 0})},void 0,o,n,s)}else{const s=createCanvas(e),d=createCanvasParent(s);d.parentNode&&11!=d.parentNode.nodeType||document.body.appendChild(d);let c=void 0;u&&(c=!0,n=!0),store.state.MxFun.createMxObject(e,t,e=>{let t=new MxDrawObject(e);if(u){const t=2;0==i.length&&(i="invalidUserIdentity"),e.initRunMode(t),e.initUserLoginData(i,"")}e.setMouseRightRotate(!1),e.setIniset({EnableOsnapFunction:!0}),e.addEvent("onResize",()=>(d.tabindex=3,{width:d.clientWidth,height:d.clientHeight})),a&&useCanvasResizeListener(t,s),r&&r(t,{canvas:s,canvasParent:d})},c,o,n,void 0)}}setMxServer(e="ws://localhost:5090"){store.state.MxFun.setMxServer(e)}enablStaticLoad(e){store.state.MxFun.enablStaticLoad(e)}setStaticServer(e){store.state.MxFun.setStaticServer(e)}addCommand(e,t){store.state.MxFun.addCommand(e,t)}sendStringToExecute(e,...t){return store.state.MxFun.sendStringToExecute(e,...t)}call(e,t,r){return store.state.MxFun.call(e,t,r)}getCurrentDraw(){return new MxDrawObject(store.state.MxFun.getCurrentDraw())}getCurrentDatabase(){let e=store.state.MxFun.getCurrentDraw();return new MxDbDatabase(e.getMxDatabase())}screenCoordLong2World(e){return store.state.MxFun.screenCoordLong2World(e)}screenCoordLong2Doc(e){return store.state.MxFun.screenCoordLong2Doc(e)}docCoordLong2Screen(e){return store.state.MxFun.docCoordLong2Screen(e)}worldCoordLong2Doc(e){return store.state.MxFun.worldCoordLong2Doc(e)}docCoordLong2World(e){return store.state.MxFun.docCoordLong2World(e)}screenCoord2World(e,t,r){return store.state.MxFun.screenCoord2World(e,t,r)}worldCoord2Screen(e,t,r){return store.state.MxFun.worldCoord2Screen(e,t,r)}docCoord2World(e,t,r){return store.state.MxFun.docCoord2World(e,t,r)}worldCoord2Doc(e,t,r){return store.state.MxFun.worldCoord2Doc(e,t,r)}screenCoord2Doc(e,t){return store.state.MxFun.screenCoord2Doc(e,t,0)}docCoord2Screen(e,t){return store.state.MxFun.docCoord2Screen(e,t,0)}updateDisplay(){return store.state.MxFun.updateDisplay()}addWindowsEvent(e){return store.state.MxFun.addWindowsEvent(e)}isRunningCommand(){return store.state.MxFun.isRunningCommand()}zoomW(e,t,r,o,n){return store.state.MxFun.zoomW(e,t,r,o,n)}showLayer(e,t,r){return store.state.MxFun.showLayer(e,t,r)}getCurrentMxCAD(){let e=store.state.MxFun.getCurrentMxCAD();return new MxCADObject(e)}getQueryString(e){return store.state.MxFun.getQueryString(e)}setIniset(e){return store.state.MxFun.setIniset(e)}upDisplayForLayerData(e){return store.state.MxFun.upDisplayForLayerData(e)}initUiDataObject(e){return mxUiData=e,store.state.MxFun.initUiDataObject(e)}getUIData(){return mxUiData}testMX(e){return 11}loadImageMaterial(e,t){return t?(store.state.MxFun.loadImageMaterial(e,t),new Promise((e,t)=>{e(null)})):new Promise((t,r)=>{store.state.MxFun.loadImageMaterial(e,e=>{t(e||null)})})}openFile(e,t=!1){return store.state.MxFun.openFile(e,t)}addToCurrentSpace(e){return this.getCurrentDraw().addMxEntity(e)}selectEnt(e,t=null){return new Promise((r,o)=>{const n=new MrxDbgUiPrPoint;n.setMessage(e),n.go(e=>{if(0!=e)return void r(0);const o=n.value();let a=this.getCurrentDraw().findMxEntityAtPoint(o),s=0;for(;0!=a.length;){let e=a.length;for(let r=0;r<e;r++){let e=a[r];if(!t||!t.type||t.type==e.getTypeName()){s=e.objectId();break}}break}r(s)})})}listenForCommandLineInput(e){mxUiData.getCmdLine().mountUpDisplayFun(e)}setCommandLineInputData(e,t){mxUiData.getCmdLine().setCmdText(e),mxUiData.onKeydown(t)}listenForCoordTip(e){mxUiData.mountSetCoordFun(e)}getMxFunTHREE(){return store.state.MxFun.getTHREE()}getMxFunThreeTool(){return store.state.MxFun.getMxThreeJS()}ceneratecursor(e=128,t=10,r=!0,o){return store.state.MxFun.ceneratecursor(e,t,r,o)}callCommand(e,t,r){return store.state.MxFun.callCommand(e,t,r)}cadCoord2Doc(e,t,r){return store.state.MxFun.cadCoord2Doc(e,t,r)}docCoord2Cad(e,t,r){return store.state.MxFun.docCoord2Cad(e,t,r)}getMxEntity(e){return store.state.MxFun.getMxEntity(e)}getCurrentMousePostion(){let e=store.state.MxFun.getCurrentMousePostion();return new THREE.Vector3(e.x,e.y,0)}}const MxFun=new MxFunClass;export default MxFun;
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
/** @module MxType*/
|
|
2
1
|
/**
|
|
3
2
|
* 动态绘制类型
|
|
4
3
|
* @example ```typescript
|
|
5
4
|
|
|
6
5
|
* ```
|
|
7
6
|
*/
|
|
8
|
-
declare enum MxCloneType {
|
|
7
|
+
export declare enum MxCloneType {
|
|
9
8
|
/** 正常Clone */
|
|
10
9
|
kClone = 1,
|
|
11
10
|
/** 动态拖动Clone */
|
|
@@ -31,17 +30,11 @@ export declare enum MxDefaultRenderOrder {
|
|
|
31
30
|
/**
|
|
32
31
|
* 交互操作,需要的输入的触摸类型.
|
|
33
32
|
* @example ```typescript
|
|
34
|
-
|
|
35
33
|
* ```
|
|
36
34
|
*/
|
|
37
35
|
export declare enum InputToucheType {
|
|
38
36
|
kGetBegan = 1,
|
|
39
37
|
kGetEnd = 2
|
|
40
38
|
}
|
|
41
|
-
declare const _default: {
|
|
42
|
-
MxCloneType: typeof MxCloneType;
|
|
43
|
-
MxDefaultRenderOrder: typeof MxDefaultRenderOrder;
|
|
44
|
-
InputToucheType: typeof InputToucheType;
|
|
45
|
-
};
|
|
46
|
-
export default _default;
|
|
47
39
|
export declare type MxColorType = number | string | THREE.Color;
|
|
40
|
+
export declare type UnstableColor = MxColorType | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var MxCloneType;!function(e){e[e.kClone=1]="kClone",e[e.kDragClone=2]="kDragClone",e[e.kMxFileClone=3]="kMxFileClone",e[e.kSaveDwgClone=4]="kSaveDwgClone"}(MxCloneType||(MxCloneType={}));export var MxDefaultRenderOrder;!function(e){e[e.kCADMeshRenderOrder=10]="kCADMeshRenderOrder",e[e.kCADCurveRenderOrder=20]="kCADCurveRenderOrder",e[e.kMxEntityRenderOrder=30]="kMxEntityRenderOrder",e[e.kGripRenderOrder=110]="kGripRenderOrder",e[e.kDynJigRenderOrder=120]="kDynJigRenderOrder"}(MxDefaultRenderOrder||(MxDefaultRenderOrder={}));export var InputToucheType;!function(e){e[e.kGetBegan=1]="kGetBegan",e[e.kGetEnd=2]="kGetEnd"}(InputToucheType||(InputToucheType={}));
|
|
1
|
+
export var MxCloneType;!function(e){e[e.kClone=1]="kClone",e[e.kDragClone=2]="kDragClone",e[e.kMxFileClone=3]="kMxFileClone",e[e.kSaveDwgClone=4]="kSaveDwgClone"}(MxCloneType||(MxCloneType={}));export var MxDefaultRenderOrder;!function(e){e[e.kCADMeshRenderOrder=10]="kCADMeshRenderOrder",e[e.kCADCurveRenderOrder=20]="kCADCurveRenderOrder",e[e.kMxEntityRenderOrder=30]="kMxEntityRenderOrder",e[e.kGripRenderOrder=110]="kGripRenderOrder",e[e.kDynJigRenderOrder=120]="kDynJigRenderOrder"}(MxDefaultRenderOrder||(MxDefaultRenderOrder={}));export var InputToucheType;!function(e){e[e.kGetBegan=1]="kGetBegan",e[e.kGetEnd=2]="kGetEnd"}(InputToucheType||(InputToucheType={}));
|