mxdraw 0.1.1 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -15
- package/dist/lib/MxModule/McEdGetPointWorldDrawObject/McEdGetPointWorldDrawObjectClass.js +0 -1
- package/dist/lib/MxModule/McEdGetPointWorldDrawObject/index.js +0 -1
- package/dist/lib/MxModule/McGeVector3d/McGeVector3d.js +2 -0
- package/dist/lib/MxModule/McGeVector3d/index.js +3 -0
- package/dist/lib/MxModule/McGiWorldDraw/McGiWorldDraw.js +0 -1
- package/dist/lib/MxModule/McGiWorldDraw/index.js +0 -1
- package/dist/lib/MxModule/McGiWorldDrawType/McGiWorldDrawType.js +0 -1
- package/dist/lib/MxModule/McGiWorldDrawType/index.js +0 -1
- package/dist/lib/MxModule/MrxDbgUiPrBaseReturn/MrxDbgUiPrBaseReturn.js +0 -1
- package/dist/lib/MxModule/MrxDbgUiPrBaseReturn/index.js +0 -1
- package/dist/lib/MxModule/MrxDbgUiPrPoint/MrxDbgUiPrPointClass.js +0 -1
- package/dist/lib/MxModule/MrxDbgUiPrPoint/index.js +0 -1
- package/dist/lib/MxModule/MxDbAlignedDimension/MxDbAlignedDimension.js +213 -0
- package/dist/lib/MxModule/MxDbAlignedDimension/index.js +5 -0
- package/dist/lib/MxModule/MxDbEntity/MxDbEntity.js +85 -7
- package/dist/lib/MxModule/MxDbEntity/index.js +0 -1
- package/dist/lib/MxModule/MxDbImage/MxDbImage.js +147 -0
- package/dist/lib/MxModule/MxDbImage/index.js +5 -0
- package/dist/lib/MxModule/MxDbLine/MxDbLine.js +94 -0
- package/dist/lib/MxModule/MxDbLine/index.js +5 -0
- package/dist/lib/MxModule/MxDbRect/MxDbRect.js +219 -0
- package/dist/lib/MxModule/MxDbRect/index.js +4 -0
- package/dist/lib/MxModule/MxDbSVG/MxDbSVG.js +208 -0
- package/dist/lib/MxModule/MxDbSVG/index.js +5 -0
- package/dist/lib/MxModule/MxDrawObject/MxDrawObject.js +100 -13
- package/dist/lib/MxModule/MxDrawObject/index.js +0 -1
- package/dist/lib/MxModule/MxFilters/MxFilters.js +201 -0
- package/dist/lib/MxModule/MxFilters/index.js +4 -0
- package/dist/lib/MxModule/MxFun/MxFun.js +98 -15
- package/dist/lib/MxModule/MxFun/index.js +0 -1
- package/dist/lib/MxModule/MxThreeJS/MxThreeJS.js +10 -35
- package/dist/lib/MxModule/MxThreeJS/MxThreeJS.mixin.js +71 -29
- package/dist/lib/MxModule/MxThreeJS/SVGLoader.js +0 -1
- package/dist/lib/MxModule/MxThreeJS/index.js +0 -1
- package/dist/lib/MxModule/MxType/MxType.js +27 -0
- package/dist/lib/MxModule/MxType/index.js +4 -0
- package/dist/lib/MxModule/Mxassembly/Mxassembly.js +18 -0
- package/dist/lib/MxModule/Mxassembly/index.js +9 -0
- package/dist/lib/MxModule/loadCoreCode/index.js +0 -1
- package/dist/lib/MxModule/loadCoreCode/loadCoreCode.js +16 -1
- package/dist/lib/MxModule/loadCoreCode/mxcadassembly_es5.js +1519 -0
- package/dist/lib/MxModule/loadCoreCode/mxfun.es5.js +755 -693
- package/dist/lib/MxModule/store/PubsubClass.js +0 -1
- package/dist/lib/MxModule/store/StoreClass.js +0 -1
- package/dist/lib/MxModule/store/index.js +0 -1
- package/dist/lib/MxModule/store/store.js +1 -1
- package/dist/lib/MxModule/useCanvasResizeListener/index.js +0 -1
- package/dist/lib/MxModule/useCanvasResizeListener/useCanvasResizeListener.js +0 -1
- package/dist/lib/doc.js +9 -2
- package/dist/lib/mxdraw.js +25 -7
- package/dist/lib/tools/algorithm/math.js +0 -1
- package/dist/lib/tools/algorithm/random.js +0 -1
- package/dist/lib/tools/dom/create.js +0 -1
- package/dist/lib/tools/dynamicImport/index.js +0 -1
- package/dist/lib/tools/formatting/index.js +0 -1
- package/dist/lib/tools/proxy/index.js +0 -1
- package/dist/lib/tools/three/index.js +100 -4
- package/dist/lib/types/McEdGetPointWorldDrawObject.js +0 -1
- package/dist/lib/types/MrxDbgUiPrPoint.js +0 -1
- package/dist/lib/types/MxCADObject.js +0 -1
- package/dist/lib/types/MxDrawObject.js +0 -1
- package/dist/lib/types/MxFun.js +0 -1
- package/dist/lib/types/Mxassembly.js +2 -0
- package/dist/mxdraw.es5.js +3 -3
- package/dist/mxdraw.es5.js.map +1 -1
- package/dist/mxdraw.umd.js +3 -3
- package/dist/mxdraw.umd.js.map +1 -1
- package/dist/types/MxModule/McGeVector3d/McGeVector3d.d.ts +17 -0
- package/dist/types/MxModule/McGeVector3d/index.d.ts +3 -0
- package/dist/types/MxModule/McGiWorldDraw/McGiWorldDraw.d.ts +77 -10
- package/dist/types/MxModule/MxDbAlignedDimension/MxDbAlignedDimension.d.ts +21 -0
- package/dist/types/MxModule/MxDbAlignedDimension/index.d.ts +3 -0
- package/dist/types/MxModule/MxDbEntity/MxDbEntity.d.ts +64 -4
- package/dist/types/MxModule/MxDbImage/MxDbImage.d.ts +28 -0
- package/dist/types/MxModule/MxDbImage/index.d.ts +3 -0
- package/dist/types/MxModule/MxDbLine/MxDbLine.d.ts +22 -0
- package/dist/types/MxModule/MxDbLine/index.d.ts +3 -0
- package/dist/types/MxModule/MxDbRect/MxDbRect.d.ts +74 -0
- package/dist/types/MxModule/MxDbRect/index.d.ts +2 -0
- package/dist/types/MxModule/MxDbSVG/MxDbSVG.d.ts +42 -0
- package/dist/types/MxModule/MxDbSVG/index.d.ts +3 -0
- package/dist/types/MxModule/MxDrawObject/MxDrawObject.d.ts +82 -6
- package/dist/types/MxModule/MxFilters/MxFilters.d.ts +94 -0
- package/dist/types/MxModule/MxFilters/index.d.ts +2 -0
- package/dist/types/MxModule/MxFun/MxFun.d.ts +82 -12
- package/dist/types/MxModule/MxThreeJS/MxThreeJS.d.ts +4 -7
- package/dist/types/MxModule/MxType/MxType.d.ts +24 -0
- package/dist/types/MxModule/MxType/index.d.ts +2 -0
- package/dist/types/MxModule/Mxassembly/Mxassembly.d.ts +11 -0
- package/dist/types/MxModule/Mxassembly/index.d.ts +3 -0
- package/dist/types/MxModule/loadCoreCode/mxcadassembly_es5.d.ts +1 -0
- package/dist/types/MxModule/store/store.d.ts +2 -0
- package/dist/types/doc.d.ts +5 -1
- package/dist/types/mxdraw.d.ts +17 -4
- package/dist/types/tools/three/index.d.ts +20 -1
- package/dist/types/types/MxDrawObject.d.ts +13 -6
- package/dist/types/types/MxFun.d.ts +15 -8
- package/dist/types/types/Mxassembly.d.ts +3 -0
- package/package.json +1 -1
- package/dist/lib/MxModule/McEdGetPointWorldDrawObject/McEdGetPointWorldDrawObjectClass.js.map +0 -1
- package/dist/lib/MxModule/McEdGetPointWorldDrawObject/index.js.map +0 -1
- package/dist/lib/MxModule/McGiWorldDraw/McGiWorldDraw.js.map +0 -1
- package/dist/lib/MxModule/McGiWorldDraw/index.js.map +0 -1
- package/dist/lib/MxModule/McGiWorldDrawType/McGiWorldDrawType.js.map +0 -1
- package/dist/lib/MxModule/McGiWorldDrawType/index.js.map +0 -1
- package/dist/lib/MxModule/MrxDbgUiPrBaseReturn/MrxDbgUiPrBaseReturn.js.map +0 -1
- package/dist/lib/MxModule/MrxDbgUiPrBaseReturn/index.js.map +0 -1
- package/dist/lib/MxModule/MrxDbgUiPrPoint/MrxDbgUiPrPointClass.js.map +0 -1
- package/dist/lib/MxModule/MrxDbgUiPrPoint/index.js.map +0 -1
- package/dist/lib/MxModule/MxDbEntity/MxDbEntity.js.map +0 -1
- package/dist/lib/MxModule/MxDbEntity/index.js.map +0 -1
- package/dist/lib/MxModule/MxDrawObject/MxDrawObject.js.map +0 -1
- package/dist/lib/MxModule/MxDrawObject/index.js.map +0 -1
- package/dist/lib/MxModule/MxFun/MxFun.js.map +0 -1
- package/dist/lib/MxModule/MxFun/index.js.map +0 -1
- package/dist/lib/MxModule/MxThreeJS/MxThreeJS.js.map +0 -1
- package/dist/lib/MxModule/MxThreeJS/MxThreeJS.mixin.js.map +0 -1
- package/dist/lib/MxModule/MxThreeJS/SVGLoader.js.map +0 -1
- package/dist/lib/MxModule/MxThreeJS/index.js.map +0 -1
- package/dist/lib/MxModule/loadCoreCode/index.js.map +0 -1
- package/dist/lib/MxModule/loadCoreCode/loadCoreCode.js.map +0 -1
- package/dist/lib/MxModule/loadCoreCode/mxfun.es5.js.map +0 -1
- package/dist/lib/MxModule/store/PubsubClass.js.map +0 -1
- package/dist/lib/MxModule/store/StoreClass.js.map +0 -1
- package/dist/lib/MxModule/store/index.js.map +0 -1
- package/dist/lib/MxModule/store/store.js.map +0 -1
- package/dist/lib/MxModule/useCanvasResizeListener/index.js.map +0 -1
- package/dist/lib/MxModule/useCanvasResizeListener/useCanvasResizeListener.js.map +0 -1
- package/dist/lib/doc.js.map +0 -1
- package/dist/lib/mxdraw.js.map +0 -1
- package/dist/lib/tools/algorithm/math.js.map +0 -1
- package/dist/lib/tools/algorithm/random.js.map +0 -1
- package/dist/lib/tools/dom/create.js.map +0 -1
- package/dist/lib/tools/dynamicImport/index.js.map +0 -1
- package/dist/lib/tools/formatting/index.js.map +0 -1
- package/dist/lib/tools/proxy/index.js.map +0 -1
- package/dist/lib/tools/three/index.js.map +0 -1
- package/dist/lib/types/McEdGetPointWorldDrawObject.js.map +0 -1
- package/dist/lib/types/MrxDbgUiPrPoint.js.map +0 -1
- package/dist/lib/types/MxCADObject.js.map +0 -1
- package/dist/lib/types/MxDrawObject.js.map +0 -1
- package/dist/lib/types/MxFun.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** @module McGiWorldDraw*/
|
|
2
|
-
import McGiWorldDrawType from
|
|
3
|
-
import MxDrawObject from
|
|
2
|
+
import McGiWorldDrawType from '../McGiWorldDrawType';
|
|
3
|
+
import MxDrawObject from '../MxDrawObject';
|
|
4
4
|
/**
|
|
5
5
|
* McGiWorldDraw 用于构建一个动态绘制回调对象的规范接口
|
|
6
6
|
* @abstract 是 {@link MxDbEntity.worldDraw }必须实现的抽象回调方法中的回调对象 通过回调对象完成一些动态绘制任务
|
|
@@ -92,13 +92,10 @@ export default interface McGiWorldDraw {
|
|
|
92
92
|
* ```
|
|
93
93
|
*
|
|
94
94
|
*/
|
|
95
|
-
drawLine(pt1: THREE.Vector3, pt2: THREE.Vector3): void;
|
|
95
|
+
drawLine(pt1: THREE.Vector3 | number, pt2: THREE.Vector3 | number, x2?: number, y2?: number): void;
|
|
96
96
|
/**
|
|
97
|
-
*
|
|
98
|
-
* @param
|
|
99
|
-
* @param y1 第一个点的Y坐标
|
|
100
|
-
* @param x2 第二个点的X坐标
|
|
101
|
-
* @param y2 第二个点的Y坐标
|
|
97
|
+
* 绘制连续的直线
|
|
98
|
+
* @param points 点数组
|
|
102
99
|
* @returns
|
|
103
100
|
* @example
|
|
104
101
|
* ``` typescript
|
|
@@ -106,7 +103,7 @@ export default interface McGiWorldDraw {
|
|
|
106
103
|
* ```
|
|
107
104
|
*
|
|
108
105
|
*/
|
|
109
|
-
|
|
106
|
+
drawLines(points: THREE.Vector3[]): void;
|
|
110
107
|
/**
|
|
111
108
|
* 绘制圆
|
|
112
109
|
* @param cen 圆的中心点 THREE.Vector3
|
|
@@ -134,7 +131,7 @@ export default interface McGiWorldDraw {
|
|
|
134
131
|
*/
|
|
135
132
|
drawText(sText: string, iSize: number, dAngle: number, pt: THREE.Vector3): void;
|
|
136
133
|
/**
|
|
137
|
-
* 设置DrawOrder
|
|
134
|
+
* 设置DrawOrder,默认值为100.
|
|
138
135
|
* @returns
|
|
139
136
|
* @example
|
|
140
137
|
* ``` typescript
|
|
@@ -153,4 +150,74 @@ export default interface McGiWorldDraw {
|
|
|
153
150
|
*
|
|
154
151
|
*/
|
|
155
152
|
getRenderOrder(): number;
|
|
153
|
+
/**
|
|
154
|
+
* 设置宽度单位是屏幕像素,默认是屏幕像素,设置false,单位是Threejs坐标。
|
|
155
|
+
* @returns
|
|
156
|
+
* @example
|
|
157
|
+
* ``` typescript
|
|
158
|
+
*
|
|
159
|
+
* ```
|
|
160
|
+
*
|
|
161
|
+
*/
|
|
162
|
+
setLineWidthIsPixels(isPixels: boolean): void;
|
|
163
|
+
/**
|
|
164
|
+
* 得到宽度单位
|
|
165
|
+
* @returns
|
|
166
|
+
* @example
|
|
167
|
+
* ``` typescript
|
|
168
|
+
*
|
|
169
|
+
* ```
|
|
170
|
+
*
|
|
171
|
+
*/
|
|
172
|
+
getLineWidthIsPixels(): boolean;
|
|
173
|
+
/**
|
|
174
|
+
* 设置虚线显示数据。
|
|
175
|
+
* @returns
|
|
176
|
+
* @example
|
|
177
|
+
* ``` typescript
|
|
178
|
+
*
|
|
179
|
+
* ```
|
|
180
|
+
*
|
|
181
|
+
*/
|
|
182
|
+
setDash(dDashArray: number, dDashRatio: number): void;
|
|
183
|
+
/**
|
|
184
|
+
* 得到虚线显示数据。
|
|
185
|
+
* @returns
|
|
186
|
+
* @example
|
|
187
|
+
* ``` typescript
|
|
188
|
+
*
|
|
189
|
+
* ```
|
|
190
|
+
*
|
|
191
|
+
*/
|
|
192
|
+
getDash(): any;
|
|
193
|
+
/**
|
|
194
|
+
* 设置虚线显示
|
|
195
|
+
* @returns
|
|
196
|
+
* @example
|
|
197
|
+
* ``` typescript
|
|
198
|
+
*
|
|
199
|
+
* ```
|
|
200
|
+
*
|
|
201
|
+
*/
|
|
202
|
+
setDashLineDisplay(isDashLine: boolean): void;
|
|
203
|
+
/**
|
|
204
|
+
*是否虚线显示
|
|
205
|
+
* @returns
|
|
206
|
+
* @example
|
|
207
|
+
* ``` typescript
|
|
208
|
+
*
|
|
209
|
+
* ```
|
|
210
|
+
*
|
|
211
|
+
*/
|
|
212
|
+
isDashLineDisplay(): boolean;
|
|
213
|
+
/**
|
|
214
|
+
*绘制选择线。
|
|
215
|
+
* @returns
|
|
216
|
+
* @example
|
|
217
|
+
* ``` typescript
|
|
218
|
+
*
|
|
219
|
+
* ```
|
|
220
|
+
*
|
|
221
|
+
*/
|
|
222
|
+
drawSelectLine(pt1: THREE.Vector3 | number, pt2: THREE.Vector3 | number, x2?: number, y2?: number): void;
|
|
156
223
|
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** @module MxDbAlignedDimension*/
|
|
2
|
+
import * as THREE from 'three';
|
|
3
|
+
import McGiWorldDraw from '../McGiWorldDraw';
|
|
4
|
+
import MxDbEntity from '../MxDbEntity';
|
|
5
|
+
/**
|
|
6
|
+
* MxDbAlignedDimension 尺寸对象.
|
|
7
|
+
*/
|
|
8
|
+
export default class MxDbAlignedDimension extends MxDbEntity {
|
|
9
|
+
private pt1;
|
|
10
|
+
private pt2;
|
|
11
|
+
getTypeName(): string;
|
|
12
|
+
private getDirection;
|
|
13
|
+
worldDraw(pWorldDraw: McGiWorldDraw): void;
|
|
14
|
+
setPoint1(pt1: THREE.Vector3): void;
|
|
15
|
+
setPoint2(pt2: THREE.Vector3): void;
|
|
16
|
+
getGripPoints(): Array<THREE.Vector3>;
|
|
17
|
+
moveGripPointsAt(index: number, offset: THREE.Vector3): boolean;
|
|
18
|
+
dwgIn(obj: any): boolean;
|
|
19
|
+
dwgOut(obj: any): object;
|
|
20
|
+
create(): MxDbEntity;
|
|
21
|
+
}
|
|
@@ -22,6 +22,7 @@ import McGiWorldDraw from '../McGiWorldDraw';
|
|
|
22
22
|
*/
|
|
23
23
|
export default abstract class MxDbEntity {
|
|
24
24
|
private iColor;
|
|
25
|
+
private iRenderOrder;
|
|
25
26
|
/**
|
|
26
27
|
* 自定义对象的绘制函数。在方法中定义如何绘制图形
|
|
27
28
|
* @param pWorldDraw 绘制对象{@link McGiWorldDraw }
|
|
@@ -95,6 +96,25 @@ export default abstract class MxDbEntity {
|
|
|
95
96
|
* ```
|
|
96
97
|
*/
|
|
97
98
|
abstract dwgOut(obj: any): object;
|
|
99
|
+
/**
|
|
100
|
+
* 得到对象类型名
|
|
101
|
+
* @param
|
|
102
|
+
* @returns string
|
|
103
|
+
* @example
|
|
104
|
+
* ``` typescript
|
|
105
|
+
*
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
108
|
+
abstract getTypeName(): string;
|
|
109
|
+
/**
|
|
110
|
+
* 自定义实体的坐标变换.
|
|
111
|
+
* @param
|
|
112
|
+
* @returns void
|
|
113
|
+
* @example
|
|
114
|
+
* }
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
transformBy(mat: THREE.Matrix4): void;
|
|
98
118
|
private getImp;
|
|
99
119
|
/**
|
|
100
120
|
* 更新显示
|
|
@@ -105,7 +125,17 @@ export default abstract class MxDbEntity {
|
|
|
105
125
|
*
|
|
106
126
|
* ```
|
|
107
127
|
*/
|
|
108
|
-
|
|
128
|
+
setNeedUpdateDisplay(isImmediate?: boolean): boolean;
|
|
129
|
+
/**
|
|
130
|
+
* 得到对象的id.
|
|
131
|
+
* @param
|
|
132
|
+
* @returns number
|
|
133
|
+
* @example
|
|
134
|
+
* ``` typescript
|
|
135
|
+
*
|
|
136
|
+
* ```
|
|
137
|
+
*/
|
|
138
|
+
objectId(): number;
|
|
109
139
|
/**
|
|
110
140
|
* 删除对象
|
|
111
141
|
* @param
|
|
@@ -137,15 +167,15 @@ export default abstract class MxDbEntity {
|
|
|
137
167
|
*/
|
|
138
168
|
getColor(): ColorType;
|
|
139
169
|
/**
|
|
140
|
-
*
|
|
170
|
+
* 复制对象。
|
|
141
171
|
* @param
|
|
142
|
-
* @returns
|
|
172
|
+
* @returns MxDbEntity
|
|
143
173
|
* @example
|
|
144
174
|
* ``` typescript
|
|
145
175
|
*
|
|
146
176
|
* ```
|
|
147
177
|
*/
|
|
148
|
-
|
|
178
|
+
clone(type?: number): MxDbEntity;
|
|
149
179
|
/**
|
|
150
180
|
* 自定义对象内部数据输入同步(实现dwgIn抽象方法 必须在实现中调用 this.onDwgIn())
|
|
151
181
|
* @param obj dwgIn抽象方法的回调数据
|
|
@@ -156,4 +186,34 @@ export default abstract class MxDbEntity {
|
|
|
156
186
|
* @param obj dwgOut抽象方法的回调数据
|
|
157
187
|
*/
|
|
158
188
|
protected onDwgOut(obj: any): void;
|
|
189
|
+
/**
|
|
190
|
+
* 初始自定义对象的类型信息.
|
|
191
|
+
* @param
|
|
192
|
+
* @returns
|
|
193
|
+
* @example
|
|
194
|
+
* ``` typescript
|
|
195
|
+
*
|
|
196
|
+
* ```
|
|
197
|
+
*/
|
|
198
|
+
rxInit(): void;
|
|
199
|
+
/**
|
|
200
|
+
* 设置显示顺序
|
|
201
|
+
* @param
|
|
202
|
+
* @returns boolean
|
|
203
|
+
* @example
|
|
204
|
+
* ``` typescript
|
|
205
|
+
*
|
|
206
|
+
* ```
|
|
207
|
+
*/
|
|
208
|
+
setRenderOrder(iRenderOrder: number): void;
|
|
209
|
+
/**
|
|
210
|
+
* 得到显示顺序
|
|
211
|
+
* @param
|
|
212
|
+
* @returns boolean
|
|
213
|
+
* @example
|
|
214
|
+
* ``` typescript
|
|
215
|
+
*
|
|
216
|
+
* ```
|
|
217
|
+
*/
|
|
218
|
+
getRenderOrder(): number;
|
|
159
219
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/** @module MxDbImage*/
|
|
2
|
+
import * as THREE from 'three';
|
|
3
|
+
import McGiWorldDraw from '../McGiWorldDraw';
|
|
4
|
+
import MxDbEntity from '../MxDbEntity';
|
|
5
|
+
/**
|
|
6
|
+
* MxDbImage 图片对象.
|
|
7
|
+
*/
|
|
8
|
+
export default class MxDbImage extends MxDbEntity {
|
|
9
|
+
private pt1;
|
|
10
|
+
private pt2;
|
|
11
|
+
private imagePath;
|
|
12
|
+
private isLoadMaterialFromPath;
|
|
13
|
+
private material;
|
|
14
|
+
getTypeName(): string;
|
|
15
|
+
worldDraw(pWorldDraw: McGiWorldDraw): void;
|
|
16
|
+
setImagePath(sPath: string): void;
|
|
17
|
+
getImagePath(): string;
|
|
18
|
+
setMaterial(material: THREE.MeshLambertMaterial): void;
|
|
19
|
+
setPoint1(pt1: THREE.Vector3): void;
|
|
20
|
+
getPoint1(): THREE.Vector3;
|
|
21
|
+
setPoint2(pt2: THREE.Vector3): void;
|
|
22
|
+
getPoint2(): THREE.Vector3;
|
|
23
|
+
getGripPoints(): Array<THREE.Vector3>;
|
|
24
|
+
moveGripPointsAt(index: number, offset: THREE.Vector3): boolean;
|
|
25
|
+
dwgIn(obj: any): boolean;
|
|
26
|
+
dwgOut(obj: any): object;
|
|
27
|
+
create(): MxDbEntity;
|
|
28
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/** @module MxDbLine*/
|
|
2
|
+
import * as THREE from 'three';
|
|
3
|
+
import McGiWorldDraw from '../McGiWorldDraw';
|
|
4
|
+
import MxDbEntity from '../MxDbEntity';
|
|
5
|
+
/**
|
|
6
|
+
* MxDbLine 直线对象.
|
|
7
|
+
*/
|
|
8
|
+
export default class MxDbLine extends MxDbEntity {
|
|
9
|
+
private pt1;
|
|
10
|
+
private pt2;
|
|
11
|
+
getTypeName(): string;
|
|
12
|
+
worldDraw(pWorldDraw: McGiWorldDraw): void;
|
|
13
|
+
setPoint1(pt1: THREE.Vector3): void;
|
|
14
|
+
getPoint1(): THREE.Vector3;
|
|
15
|
+
setPoint2(pt2: THREE.Vector3): void;
|
|
16
|
+
getPoint2(): THREE.Vector3;
|
|
17
|
+
getGripPoints(): Array<THREE.Vector3>;
|
|
18
|
+
moveGripPointsAt(index: number, offset: THREE.Vector3): boolean;
|
|
19
|
+
dwgIn(obj: any): boolean;
|
|
20
|
+
dwgOut(obj: any): object;
|
|
21
|
+
create(): MxDbEntity;
|
|
22
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import MxDbEntity from '../MxDbEntity';
|
|
2
|
+
import { Color, Matrix4, Vector2, Vector3 } from 'three';
|
|
3
|
+
import MxFilters from '../MxFilters';
|
|
4
|
+
import McGiWorldDraw from '../McGiWorldDraw';
|
|
5
|
+
/**
|
|
6
|
+
* MxRectEntity 矩形对象.
|
|
7
|
+
*/
|
|
8
|
+
export default class MxDbRect extends MxDbEntity {
|
|
9
|
+
/**
|
|
10
|
+
* pt1: 构成矩形的第一个点
|
|
11
|
+
* */
|
|
12
|
+
pt1: Vector3;
|
|
13
|
+
/**
|
|
14
|
+
* pt1: 构成矩形的第二个点(对角点)
|
|
15
|
+
* */
|
|
16
|
+
pt2: Vector3;
|
|
17
|
+
/**
|
|
18
|
+
* width: 在绘制时自动计算矩形像素宽度 单位px
|
|
19
|
+
* */
|
|
20
|
+
width: number;
|
|
21
|
+
/**
|
|
22
|
+
* height: 在绘制时自动计算矩形像素高度 单位px
|
|
23
|
+
* */
|
|
24
|
+
height: number;
|
|
25
|
+
/**
|
|
26
|
+
* cornerRadius(优先级大于radius属性): 圆角的半径 如[3, 2, 1, 4]分别对应左上角圆角半径3 右上角2 右下角1 左下角4
|
|
27
|
+
* */
|
|
28
|
+
cornerRadius: number[];
|
|
29
|
+
/**
|
|
30
|
+
* radius(优先级低于cornerRadius属性): 所有圆角统一半径 (radius = 4) 通过MxFun.screenCoordLong2Doc方法转换为 (cornerRadius = [MxFun.screenCoordLong2Doc(4)...])
|
|
31
|
+
* */
|
|
32
|
+
radius: number | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* fillColor(优先级低于fillImageSrc属性): 设置颜色后 矩形线框会填充为带颜色的矩形
|
|
35
|
+
* */
|
|
36
|
+
fillColor: Color | string | number | undefined;
|
|
37
|
+
/**
|
|
38
|
+
* transparent 开启透明度
|
|
39
|
+
* */
|
|
40
|
+
transparent: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* opacity 设置透明度 0 ~ 1
|
|
43
|
+
* */
|
|
44
|
+
opacity: number;
|
|
45
|
+
/**
|
|
46
|
+
* visible 该矩形对象是否可见
|
|
47
|
+
* */
|
|
48
|
+
visible: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* fillImageSrc(优先级低于fillColor属性) 填充背景图片的地址
|
|
51
|
+
* */
|
|
52
|
+
fillImageSrc: string | undefined;
|
|
53
|
+
/**
|
|
54
|
+
* fillImageParam 填充背景图片的参数设置(如果使用了滤镜则部分参数功能失效)
|
|
55
|
+
* */
|
|
56
|
+
fillImageParam: {
|
|
57
|
+
offset?: Vector2;
|
|
58
|
+
repeat?: Vector2;
|
|
59
|
+
rotation?: number;
|
|
60
|
+
center?: Vector2;
|
|
61
|
+
} | undefined;
|
|
62
|
+
/**
|
|
63
|
+
* 设置滤镜对象{@link MxFilters} 默认为undefined | null 则不使用该滤镜效果
|
|
64
|
+
* */
|
|
65
|
+
filter: MxFilters | undefined | null;
|
|
66
|
+
worldDraw(pWorldDraw: McGiWorldDraw): void;
|
|
67
|
+
getGripPoints(): Array<Vector3>;
|
|
68
|
+
moveGripPointsAt(index: number, offset: Vector3): boolean;
|
|
69
|
+
dwgIn(obj: any): boolean;
|
|
70
|
+
dwgOut(obj: any): object;
|
|
71
|
+
create(): MxDbEntity;
|
|
72
|
+
transformBy(mat: Matrix4): void;
|
|
73
|
+
getTypeName(): string;
|
|
74
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/** @module MxDbSVG*/
|
|
2
|
+
import * as THREE from 'three';
|
|
3
|
+
import McGiWorldDraw from '../McGiWorldDraw';
|
|
4
|
+
import MxDbEntity from '../MxDbEntity';
|
|
5
|
+
/**
|
|
6
|
+
* MxDbSVG SVG对象.
|
|
7
|
+
*/
|
|
8
|
+
export default class MxDbSVG extends MxDbEntity {
|
|
9
|
+
private svgPos;
|
|
10
|
+
private svg;
|
|
11
|
+
private svgPath;
|
|
12
|
+
private svgSize;
|
|
13
|
+
private svgAlignmentRatio;
|
|
14
|
+
private isSvgDirtyLocation;
|
|
15
|
+
private isLoadFromPath;
|
|
16
|
+
private txtPos;
|
|
17
|
+
private txt;
|
|
18
|
+
private txtHeight;
|
|
19
|
+
worldDraw(pWorldDraw: McGiWorldDraw): void;
|
|
20
|
+
setSvgPath(path: string): void;
|
|
21
|
+
getSvgPath(): string;
|
|
22
|
+
setSvgPostion(pos: THREE.Vector3): void;
|
|
23
|
+
getSvgPostion(): THREE.Vector3;
|
|
24
|
+
setSvgSize(size: THREE.Vector2): void;
|
|
25
|
+
getSvgSize(): THREE.Vector2;
|
|
26
|
+
setSvgAlignmentRatio(alignmentRatio: THREE.Vector2): void;
|
|
27
|
+
getSvgAlignmentRatio(): THREE.Vector2;
|
|
28
|
+
setTextHeight(height: number): void;
|
|
29
|
+
getTextHeight(): number;
|
|
30
|
+
setText(txt: string): void;
|
|
31
|
+
getText(): string;
|
|
32
|
+
setTextPostion(pos: THREE.Vector3): void;
|
|
33
|
+
getTextPostion(): THREE.Vector3;
|
|
34
|
+
getGripPoints(): Array<THREE.Vector3>;
|
|
35
|
+
moveGripPointsAt(index: number, offset: THREE.Vector3): boolean;
|
|
36
|
+
private calcSvgPosition;
|
|
37
|
+
dwgIn(obj: any): boolean;
|
|
38
|
+
dwgOut(obj: any): object;
|
|
39
|
+
create(): MxDbEntity;
|
|
40
|
+
transformBy(mat: THREE.Matrix4): void;
|
|
41
|
+
getTypeName(): string;
|
|
42
|
+
}
|
|
@@ -231,6 +231,8 @@ export default class MxDrawObject {
|
|
|
231
231
|
* Mx.MxFun.getCurrentDraw().addEvent("render", (renderer)=> {})
|
|
232
232
|
* 视区大小被修改事件.,viewsize={viewWidth:viewWidth,viewHeight:viewHeight}
|
|
233
233
|
* Mx.MxFun.getCurrentDraw().addEvent("viewsizechange", (viewsize)=> {})
|
|
234
|
+
* 实体选择状态发生改变的事件.
|
|
235
|
+
* Mx.MxFun.getCurrentDraw().addEvent("MxEntitySelectChange", (aryId:Array<number>)=> {})
|
|
234
236
|
* ```
|
|
235
237
|
*/
|
|
236
238
|
addEvent(eventNaem: string, fun: (...parmes: any) => any): void;
|
|
@@ -258,7 +260,7 @@ export default class MxDrawObject {
|
|
|
258
260
|
*/
|
|
259
261
|
screenCoord2World(x: number, y: number, z?: number): THREE.Vector3;
|
|
260
262
|
/**
|
|
261
|
-
* ThreeJS
|
|
263
|
+
* ThreeJS坐标到屏幕坐标,屏幕坐标的Y轴向下。坐标原点在左上角.
|
|
262
264
|
* @returns THREE.Vector3
|
|
263
265
|
* @example
|
|
264
266
|
* ```typescript
|
|
@@ -276,7 +278,7 @@ export default class MxDrawObject {
|
|
|
276
278
|
*
|
|
277
279
|
* ```
|
|
278
280
|
*/
|
|
279
|
-
screenCoord2Doc(x: number, y: number
|
|
281
|
+
screenCoord2Doc(x: number, y: number): THREE.Vector3;
|
|
280
282
|
/**
|
|
281
283
|
* ThreeJS坐标长度到DWG文档坐标长度
|
|
282
284
|
* @returns number
|
|
@@ -346,7 +348,7 @@ export default class MxDrawObject {
|
|
|
346
348
|
*
|
|
347
349
|
* ```
|
|
348
350
|
*/
|
|
349
|
-
docCoord2Screen(x: number, y: number
|
|
351
|
+
docCoord2Screen(x: number, y: number): THREE.Vector3;
|
|
350
352
|
/**
|
|
351
353
|
* 屏幕坐标长度到DWG文档坐标长度
|
|
352
354
|
* @returns number
|
|
@@ -419,6 +421,26 @@ export default class MxDrawObject {
|
|
|
419
421
|
* ```
|
|
420
422
|
*/
|
|
421
423
|
getMxCurrentSelect(): Array<number>;
|
|
424
|
+
/**
|
|
425
|
+
* 把对象添加到当前选择中.
|
|
426
|
+
* @returns void
|
|
427
|
+
* @example
|
|
428
|
+
* ```typescript
|
|
429
|
+
*
|
|
430
|
+
*
|
|
431
|
+
* ```
|
|
432
|
+
*/
|
|
433
|
+
addMxCurrentSelect(id: number): void;
|
|
434
|
+
/**
|
|
435
|
+
* 清除当前所有选择
|
|
436
|
+
* @returns void
|
|
437
|
+
* @example
|
|
438
|
+
* ```typescript
|
|
439
|
+
*
|
|
440
|
+
*
|
|
441
|
+
* ```
|
|
442
|
+
*/
|
|
443
|
+
clearMxCurrentSelect(): boolean;
|
|
422
444
|
/**
|
|
423
445
|
*通过id获取绘制的对象.
|
|
424
446
|
* @param id 返回对象的id
|
|
@@ -432,8 +454,7 @@ export default class MxDrawObject {
|
|
|
432
454
|
getMxEntity(id: number): MxDbEntity;
|
|
433
455
|
/**
|
|
434
456
|
* 查找某点位置处的用户自绘对象.
|
|
435
|
-
* @param ptMouse 查找的点位 THREE.Vector3
|
|
436
|
-
* @param isWorldCoord 点是否是默认坐标 默认为 true
|
|
457
|
+
* @param ptMouse 查找的点位 THREE.Vector3,默认是文档坐标
|
|
437
458
|
* @returns MxDbEntity[] 返回用户自绘对象数组
|
|
438
459
|
* @example
|
|
439
460
|
* ```typescript
|
|
@@ -441,7 +462,7 @@ export default class MxDrawObject {
|
|
|
441
462
|
*
|
|
442
463
|
* ```
|
|
443
464
|
*/
|
|
444
|
-
findMxEntityAtPoint(ptMouse: THREE.Vector3
|
|
465
|
+
findMxEntityAtPoint(ptMouse: THREE.Vector3): Array<MxDbEntity>;
|
|
445
466
|
/**
|
|
446
467
|
*得到所有用户自绘对象.
|
|
447
468
|
* @returns MxDbEntity[] 返回用户自绘对象数组
|
|
@@ -495,4 +516,59 @@ export default class MxDrawObject {
|
|
|
495
516
|
* ```
|
|
496
517
|
*/
|
|
497
518
|
enablePan(isEnable: boolean): void;
|
|
519
|
+
/**
|
|
520
|
+
* 删除MxEntity
|
|
521
|
+
* @param id 实体id.
|
|
522
|
+
* @returns
|
|
523
|
+
* @example
|
|
524
|
+
* ```typescript
|
|
525
|
+
*
|
|
526
|
+
*
|
|
527
|
+
* ```
|
|
528
|
+
*/
|
|
529
|
+
eraseMxEntity(id: number): boolean;
|
|
530
|
+
/**
|
|
531
|
+
* 移除安视图坐标绘制的对象.
|
|
532
|
+
* @param obj 对象.
|
|
533
|
+
* @returns
|
|
534
|
+
* @example
|
|
535
|
+
* ```typescript
|
|
536
|
+
*
|
|
537
|
+
*
|
|
538
|
+
* ```
|
|
539
|
+
*/
|
|
540
|
+
removeViewObject(obj: THREE.Object3D): void;
|
|
541
|
+
/**
|
|
542
|
+
* 保存所有MxEntity的数据到json字符串.
|
|
543
|
+
* @param
|
|
544
|
+
* @returns json字符串
|
|
545
|
+
* @example
|
|
546
|
+
* ```typescript
|
|
547
|
+
*
|
|
548
|
+
*
|
|
549
|
+
* ```
|
|
550
|
+
*/
|
|
551
|
+
saveMxEntityToJson(): string;
|
|
552
|
+
/**
|
|
553
|
+
* 从json字符串恢复MxEntity
|
|
554
|
+
* @param dataString json字符串.
|
|
555
|
+
* @returns
|
|
556
|
+
* @example
|
|
557
|
+
* ```typescript
|
|
558
|
+
*
|
|
559
|
+
*
|
|
560
|
+
* ```
|
|
561
|
+
*/
|
|
562
|
+
loadMxEntityFromJson(dataString: string): boolean;
|
|
563
|
+
/**
|
|
564
|
+
* 删除所有对MxEntity
|
|
565
|
+
* @param
|
|
566
|
+
* @returns
|
|
567
|
+
* @example
|
|
568
|
+
* ```typescript
|
|
569
|
+
*
|
|
570
|
+
*
|
|
571
|
+
* ```
|
|
572
|
+
*/
|
|
573
|
+
eraseAllMxEntity(): void;
|
|
498
574
|
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/** 简单颜色滤镜矩阵 */
|
|
2
|
+
import { Matrix4, Matrix3, Color } from 'three';
|
|
3
|
+
interface ChannelParamTypes {
|
|
4
|
+
r?: number;
|
|
5
|
+
g?: number;
|
|
6
|
+
b?: number;
|
|
7
|
+
}
|
|
8
|
+
export default class MxFilters {
|
|
9
|
+
private uniformObj;
|
|
10
|
+
private filtersStr;
|
|
11
|
+
private filtersTypes;
|
|
12
|
+
private VSHADER_SOURCE;
|
|
13
|
+
private FSHADER_SOURCE;
|
|
14
|
+
private _matrix;
|
|
15
|
+
/**
|
|
16
|
+
* 过滤或增强某个颜色通道
|
|
17
|
+
* @param {ChannelParamTypes}
|
|
18
|
+
* */
|
|
19
|
+
channel({ r, g, b }: ChannelParamTypes): this;
|
|
20
|
+
/**
|
|
21
|
+
* 改变亮度
|
|
22
|
+
* @param {number} p
|
|
23
|
+
* p = 0 全暗,p > 0 且 p < 1 调暗,p = 1 原色, p > 1 调亮
|
|
24
|
+
* */
|
|
25
|
+
brightness(p: number): this;
|
|
26
|
+
/**
|
|
27
|
+
* 饱和度
|
|
28
|
+
* @param {number} p
|
|
29
|
+
* p = 0 完全灰度化,p = 1 原色,p > 1 增强饱和度
|
|
30
|
+
* */
|
|
31
|
+
saturate(p: number): this;
|
|
32
|
+
/**
|
|
33
|
+
* 对比度
|
|
34
|
+
* @param {number} p
|
|
35
|
+
* p = 1 原色, p < 1 减弱对比度,p > 1 增强对比度
|
|
36
|
+
* */
|
|
37
|
+
contrast(p: number): this;
|
|
38
|
+
/**
|
|
39
|
+
* 透明度
|
|
40
|
+
* @param {number} p
|
|
41
|
+
* p = 0 全透明,p = 1 原色
|
|
42
|
+
* */
|
|
43
|
+
opacity(p: number): this;
|
|
44
|
+
/**
|
|
45
|
+
* 反色
|
|
46
|
+
* @param {number} p
|
|
47
|
+
* p = 0 原色, p = 1 完全反色
|
|
48
|
+
* */
|
|
49
|
+
invert(p: number): this;
|
|
50
|
+
/**
|
|
51
|
+
* 灰度
|
|
52
|
+
* @param {number} p 0~1
|
|
53
|
+
* */
|
|
54
|
+
grayscale(p?: number): this;
|
|
55
|
+
/**
|
|
56
|
+
* 深褐色
|
|
57
|
+
* @param {number} p 0~1
|
|
58
|
+
* */
|
|
59
|
+
sepia(p?: number): this;
|
|
60
|
+
/**
|
|
61
|
+
* 色相旋转,将色调沿极坐标转过deg角度
|
|
62
|
+
* @param {number} deg 0~360
|
|
63
|
+
* */
|
|
64
|
+
hueRotate(deg: number): this;
|
|
65
|
+
/**
|
|
66
|
+
* 色相旋转,将色调沿极坐标转过deg角度
|
|
67
|
+
* @param {number} deg 0~360
|
|
68
|
+
* */
|
|
69
|
+
/**
|
|
70
|
+
* 卷积
|
|
71
|
+
* @param {Matrix3} cKernel 3*3的矩阵
|
|
72
|
+
* @param {number} stStep 1 / 9
|
|
73
|
+
* @param {number} scaleFactor 521
|
|
74
|
+
* */
|
|
75
|
+
convolution(cKernel: Matrix3, stStep?: number, scaleFactor?: number): this;
|
|
76
|
+
/**
|
|
77
|
+
* 重置所有滤镜效果
|
|
78
|
+
* */
|
|
79
|
+
reset(): this;
|
|
80
|
+
_getFilterShaderData(texture: THREE.Texture): {
|
|
81
|
+
uniforms: {
|
|
82
|
+
e_Texture: {
|
|
83
|
+
value: import("three").Texture;
|
|
84
|
+
};
|
|
85
|
+
colorMatrix: {
|
|
86
|
+
value: Matrix4;
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
vertexShader: string;
|
|
90
|
+
fragmentShader: string;
|
|
91
|
+
};
|
|
92
|
+
_getFilterColor(color?: string | number | Color, opacity?: number): Color;
|
|
93
|
+
}
|
|
94
|
+
export {};
|