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
|
@@ -5,6 +5,7 @@ var options = {
|
|
|
5
5
|
state: {
|
|
6
6
|
/* MxFun内部调用对象 */
|
|
7
7
|
MxFun: null,
|
|
8
|
+
Mxassembly: null,
|
|
8
9
|
/* 是否创建了mxdrawObj实例 MxFun.createMxObject */
|
|
9
10
|
isCreateDrawObj: false,
|
|
10
11
|
/* 是否加载了canvas大小侦听器 */
|
|
@@ -24,4 +25,3 @@ for (var key in options.state) {
|
|
|
24
25
|
_loop_1(key);
|
|
25
26
|
}
|
|
26
27
|
exports.default = new StoreClass_1.default(options);
|
|
27
|
-
//# sourceMappingURL=store.js.map
|
package/dist/lib/doc.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MxDbEntity = exports.McGiWorldDrawType = exports.useCanvasResizeListener = exports.loadCoreCode = exports.MrxDbgUiPrBaseReturn = exports.McEdGetPointWorldDrawObject = exports.MrxDbgUiPrPoint = exports.MxDrawObject = exports.MxThreeJS = exports.MxFun = void 0;
|
|
3
|
+
exports.MxDbRect = exports.MxDbLine = exports.MxDbSVG = exports.MxDbImage = exports.MxDbEntity = exports.McGiWorldDrawType = exports.useCanvasResizeListener = exports.loadCoreCode = exports.MrxDbgUiPrBaseReturn = exports.McEdGetPointWorldDrawObject = exports.MrxDbgUiPrPoint = exports.MxDrawObject = exports.MxThreeJS = exports.MxFun = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Mx 模块集
|
|
6
6
|
*
|
|
@@ -26,4 +26,11 @@ var McGiWorldDrawType_1 = require("./MxModule/McGiWorldDrawType/McGiWorldDrawTyp
|
|
|
26
26
|
exports.McGiWorldDrawType = McGiWorldDrawType_1.default;
|
|
27
27
|
var MxDbEntity_1 = require("./MxModule/MxDbEntity/MxDbEntity");
|
|
28
28
|
exports.MxDbEntity = MxDbEntity_1.default;
|
|
29
|
-
|
|
29
|
+
var MxDbImage_1 = require("./MxModule/MxDbImage/MxDbImage");
|
|
30
|
+
exports.MxDbImage = MxDbImage_1.default;
|
|
31
|
+
var MxDbSVG_1 = require("./MxModule/MxDbSVG/MxDbSVG");
|
|
32
|
+
exports.MxDbSVG = MxDbSVG_1.default;
|
|
33
|
+
var MxDbLine_1 = require("./MxModule/MxDbLine/MxDbLine");
|
|
34
|
+
exports.MxDbLine = MxDbLine_1.default;
|
|
35
|
+
var MxDbRect_1 = require("./MxModule/MxDbRect/MxDbRect");
|
|
36
|
+
exports.MxDbRect = MxDbRect_1.default;
|
package/dist/lib/mxdraw.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MrxDbgUiPrBaseReturn = exports.McGiWorldDrawType = exports.store = exports.loadCoreCode = exports.useCanvasResizeListener = exports.MxDbEntity = exports.MrxDbgUiPrPoint = exports.McEdGetPointWorldDrawObject = exports.MxThreeJS = exports.MxFun = void 0;
|
|
3
|
+
exports.MxType = exports.MrxDbgUiPrBaseReturn = exports.McGiWorldDrawType = exports.store = exports.loadCoreCode = exports.useCanvasResizeListener = exports.MxDbAlignedDimension = exports.MxDbRect = exports.MxDbSVG = exports.MxDbLine = exports.MxDbImage = exports.MxDbEntity = exports.MrxDbgUiPrPoint = exports.McEdGetPointWorldDrawObject = exports.MxThreeJS = exports.Mxassembly = exports.MxFun = void 0;
|
|
4
4
|
//src/index.ts
|
|
5
5
|
var loadCoreCode_1 = require("./MxModule/loadCoreCode");
|
|
6
6
|
exports.loadCoreCode = loadCoreCode_1.default;
|
|
7
7
|
var store_1 = require("./MxModule/store");
|
|
8
8
|
exports.store = store_1.default;
|
|
9
|
-
var MxFun_1 = require("./MxModule/MxFun
|
|
9
|
+
var MxFun_1 = require("./MxModule/MxFun");
|
|
10
|
+
exports.MxFun = MxFun_1.default;
|
|
10
11
|
var MxThreeJS_1 = require("./MxModule/MxThreeJS");
|
|
11
12
|
exports.MxThreeJS = MxThreeJS_1.default;
|
|
12
13
|
var MrxDbgUiPrPoint_1 = require("./MxModule/MrxDbgUiPrPoint");
|
|
@@ -19,22 +20,39 @@ var MrxDbgUiPrBaseReturn_1 = require("./MxModule/MrxDbgUiPrBaseReturn");
|
|
|
19
20
|
exports.MrxDbgUiPrBaseReturn = MrxDbgUiPrBaseReturn_1.default;
|
|
20
21
|
var MxDbEntity_1 = require("./MxModule/MxDbEntity");
|
|
21
22
|
exports.MxDbEntity = MxDbEntity_1.default;
|
|
23
|
+
var MxDbImage_1 = require("./MxModule/MxDbImage");
|
|
24
|
+
exports.MxDbImage = MxDbImage_1.default;
|
|
25
|
+
var MxDbSVG_1 = require("./MxModule/MxDbSVG");
|
|
26
|
+
exports.MxDbSVG = MxDbSVG_1.default;
|
|
27
|
+
var MxDbLine_1 = require("./MxModule/MxDbLine");
|
|
28
|
+
exports.MxDbLine = MxDbLine_1.default;
|
|
29
|
+
var MxDbRect_1 = require("./MxModule/MxDbRect");
|
|
30
|
+
exports.MxDbRect = MxDbRect_1.default;
|
|
31
|
+
var MxDbAlignedDimension_1 = require("./MxModule/MxDbAlignedDimension");
|
|
32
|
+
exports.MxDbAlignedDimension = MxDbAlignedDimension_1.default;
|
|
22
33
|
var McGiWorldDrawType_1 = require("./MxModule/McGiWorldDrawType");
|
|
23
34
|
exports.McGiWorldDrawType = McGiWorldDrawType_1.default;
|
|
24
|
-
var
|
|
25
|
-
exports.
|
|
35
|
+
var MxType_1 = require("./MxModule/MxType");
|
|
36
|
+
exports.MxType = MxType_1.default;
|
|
37
|
+
var Mxassembly_1 = require("./MxModule/Mxassembly");
|
|
38
|
+
exports.Mxassembly = Mxassembly_1.default;
|
|
26
39
|
// 默认导出
|
|
27
40
|
exports.default = {
|
|
28
|
-
MxFun:
|
|
41
|
+
MxFun: MxFun_1.default,
|
|
42
|
+
Mxassembly: Mxassembly_1.default,
|
|
29
43
|
MxThreeJS: MxThreeJS_1.default,
|
|
30
44
|
McEdGetPointWorldDrawObject: McEdGetPointWorldDrawObject_1.default,
|
|
31
45
|
MrxDbgUiPrPoint: MrxDbgUiPrPoint_1.default,
|
|
32
46
|
MxDbEntity: MxDbEntity_1.default,
|
|
47
|
+
MxDbImage: MxDbImage_1.default,
|
|
48
|
+
MxDbLine: MxDbLine_1.default,
|
|
49
|
+
MxDbSVG: MxDbSVG_1.default,
|
|
50
|
+
MxDbRect: MxDbRect_1.default,
|
|
51
|
+
MxDbAlignedDimension: MxDbAlignedDimension_1.default,
|
|
33
52
|
useCanvasResizeListener: useCanvasResizeListener_1.default,
|
|
34
53
|
loadCoreCode: loadCoreCode_1.default,
|
|
35
54
|
store: store_1.default,
|
|
36
55
|
// enum类型
|
|
37
56
|
MrxDbgUiPrBaseReturn: MrxDbgUiPrBaseReturn_1.default,
|
|
38
|
-
McGiWorldDrawType: McGiWorldDrawType_1.default
|
|
57
|
+
McGiWorldDrawType: McGiWorldDrawType_1.default
|
|
39
58
|
};
|
|
40
|
-
//# sourceMappingURL=mxdraw.js.map
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.computeRectPoints = exports.getToGenerateRoundedCorners = exports.repairGeometryFaceVertexUvs = exports.setGeometrPostion = void 0;
|
|
4
|
+
var three_1 = require("three");
|
|
4
5
|
/**
|
|
5
6
|
* 移动geometry坐标。
|
|
6
7
|
* @param geometry Three的Geometry对象
|
|
@@ -11,12 +12,107 @@ exports.setGeometryPostion = void 0;
|
|
|
11
12
|
* ```
|
|
12
13
|
*
|
|
13
14
|
*/
|
|
14
|
-
function
|
|
15
|
+
function setGeometrPostion(geometry, pos) {
|
|
15
16
|
for (var i = 0; i < geometry.vertices.length; i++) {
|
|
16
17
|
geometry.vertices[i].x += pos.x;
|
|
17
18
|
geometry.vertices[i].y += pos.y;
|
|
18
19
|
geometry.vertices[i].z += pos.z;
|
|
19
20
|
}
|
|
20
21
|
}
|
|
21
|
-
exports.
|
|
22
|
-
|
|
22
|
+
exports.setGeometrPostion = setGeometrPostion;
|
|
23
|
+
/**
|
|
24
|
+
* 生成圆角时修复纹理对应的 uvs
|
|
25
|
+
* @param geometry 几何体
|
|
26
|
+
* */
|
|
27
|
+
function repairGeometryFaceVertexUvs(geometry) {
|
|
28
|
+
geometry.computeBoundingBox();
|
|
29
|
+
var min = geometry.boundingBox.min;
|
|
30
|
+
var max = geometry.boundingBox.max;
|
|
31
|
+
var offset = new three_1.Vector2(0 - min.x, 0 - min.y);
|
|
32
|
+
var size = new three_1.Vector2(max.x - min.x, max.y - min.y);
|
|
33
|
+
geometry.faceVertexUvs[0] = [];
|
|
34
|
+
var faces = geometry.faces;
|
|
35
|
+
for (var i = 0; i < faces.length; i++) {
|
|
36
|
+
var face = faces[i];
|
|
37
|
+
var v1 = geometry.vertices[face.a];
|
|
38
|
+
var v2 = geometry.vertices[face.b];
|
|
39
|
+
var v3 = geometry.vertices[face.c];
|
|
40
|
+
geometry.faceVertexUvs[0].push([
|
|
41
|
+
new three_1.Vector2((v1.x + offset.x) / size.x, (v1.y + offset.y) / size.y),
|
|
42
|
+
new three_1.Vector2((v2.x + offset.x) / size.x, (v2.y + offset.y) / size.y),
|
|
43
|
+
new three_1.Vector2((v3.x + offset.x) / size.x, (v3.y + offset.y) / size.y)
|
|
44
|
+
]);
|
|
45
|
+
}
|
|
46
|
+
geometry.uvsNeedUpdate = true;
|
|
47
|
+
return geometry;
|
|
48
|
+
}
|
|
49
|
+
exports.repairGeometryFaceVertexUvs = repairGeometryFaceVertexUvs;
|
|
50
|
+
/**
|
|
51
|
+
* 获取生成圆角的points定点位置
|
|
52
|
+
* @param points 生成圆角前
|
|
53
|
+
* @param cornerRadius 圆角值
|
|
54
|
+
* @param isClose 生成圆角的图形是否是闭合的
|
|
55
|
+
* */
|
|
56
|
+
function getToGenerateRoundedCorners(points, cornerRadius, isClose) {
|
|
57
|
+
if (isClose === void 0) { isClose = true; }
|
|
58
|
+
if (cornerRadius.length > 0) {
|
|
59
|
+
var curve = new three_1.CurvePath();
|
|
60
|
+
for (var i = 0; i < points.length - 1; i++) {
|
|
61
|
+
//作为拐弯的弧度
|
|
62
|
+
var R = cornerRadius[i] || 0;
|
|
63
|
+
if (i === 0 && !isClose) {
|
|
64
|
+
var dir = points[0].clone().sub(points[1]);
|
|
65
|
+
dir.normalize();
|
|
66
|
+
var p2_1 = points[1].clone();
|
|
67
|
+
p2_1.add(dir.clone().multiplyScalar(R));
|
|
68
|
+
var line_1 = new three_1.LineCurve3(points[0], p2_1);
|
|
69
|
+
curve.curves.push(line_1);
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
// 计算三个点构成的两条线的方向
|
|
73
|
+
var dir1 = !isClose && points[i - 1]
|
|
74
|
+
? points[i - 1].clone().sub(points[i])
|
|
75
|
+
: points[points.length - 1].clone().sub(points[0]);
|
|
76
|
+
dir1.normalize();
|
|
77
|
+
var dir2 = !isClose && points[i + 1]
|
|
78
|
+
? points[i + 1].clone().sub(points[i])
|
|
79
|
+
: points[1].clone().sub(points[0]);
|
|
80
|
+
dir2.normalize();
|
|
81
|
+
var p12_ = points[i].clone();
|
|
82
|
+
p12_.add(dir1.clone().multiplyScalar(R));
|
|
83
|
+
var p1 = points[i].clone().add(dir1.clone().multiplyScalar(R));
|
|
84
|
+
var p2 = points[i].clone();
|
|
85
|
+
var p3 = points[i].clone().add(dir2.clone().multiplyScalar(R));
|
|
86
|
+
var beziercurve = new three_1.QuadraticBezierCurve3(p1, p2, p3);
|
|
87
|
+
var line1 = points[i].clone();
|
|
88
|
+
line1.add(dir2.clone().multiplyScalar(R));
|
|
89
|
+
var line2 = points[i + 1].clone();
|
|
90
|
+
if (i < points.length - (isClose ? 1 : 2)) {
|
|
91
|
+
//最后一段不用减掉半径尺寸
|
|
92
|
+
line2.add(dir2.clone().multiplyScalar(-R));
|
|
93
|
+
}
|
|
94
|
+
var line = new three_1.LineCurve3(line1, line2);
|
|
95
|
+
// 把转换曲线和直线插入曲线中
|
|
96
|
+
curve.curves.push(beziercurve, line);
|
|
97
|
+
if (i === 0) {
|
|
98
|
+
points.push(points[0]);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return curve.getPoints(5);
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
return [];
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
exports.getToGenerateRoundedCorners = getToGenerateRoundedCorners;
|
|
108
|
+
/**
|
|
109
|
+
* 计算矩形点位
|
|
110
|
+
* @param pt1 点1
|
|
111
|
+
* @param pt3 点3
|
|
112
|
+
* */
|
|
113
|
+
function computeRectPoints(pt1, pt3) {
|
|
114
|
+
var pt2 = pt1.clone().set(pt3.x, pt1.y, pt3.z);
|
|
115
|
+
var pt4 = pt3.clone().set(pt1.x, pt3.y, pt1.z);
|
|
116
|
+
return [pt1, pt2, pt3, pt4];
|
|
117
|
+
}
|
|
118
|
+
exports.computeRectPoints = computeRectPoints;
|
package/dist/lib/types/MxFun.js
CHANGED