mxdraw 0.1.8 → 0.1.11

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.
Files changed (35) hide show
  1. package/dist/lib/MxModule/MxDbEntity/MxDbEntity.js +53 -12
  2. package/dist/lib/MxModule/MxDbImage/MxDbImage.js +2 -1
  3. package/dist/lib/MxModule/MxDbRect/MxDbRect.js +140 -86
  4. package/dist/lib/MxModule/MxDbSVG/MxDbSVG.js +194 -58
  5. package/dist/lib/MxModule/MxDbSVGText/MxDbSVGText.js +21 -0
  6. package/dist/lib/MxModule/MxDbSVGText/index.js +5 -0
  7. package/dist/lib/MxModule/MxDrawObject/MxDrawObject.js +74 -2
  8. package/dist/lib/MxModule/MxFun/MxFun.js +64 -2
  9. package/dist/lib/MxModule/MxThreeJS/MxThreeJS.js +5 -1
  10. package/dist/lib/MxModule/MxThreeJS/MxThreeJS.mixin.js +13 -1
  11. package/dist/lib/MxModule/loadCoreCode/loadCoreCode.js +9 -8
  12. package/dist/lib/MxModule/loadCoreCode/mxUiData.js +317 -0
  13. package/dist/lib/MxModule/loadCoreCode/mxfun.es5.js +196 -64
  14. package/dist/lib/mxdraw.js +4 -1
  15. package/dist/lib/tools/dynamicImport/index.js +45 -1
  16. package/dist/lib/tools/three/index.js +21 -15
  17. package/dist/mxdraw.es5.js +3 -3
  18. package/dist/mxdraw.es5.js.map +1 -1
  19. package/dist/mxdraw.umd.js +3 -3
  20. package/dist/mxdraw.umd.js.map +1 -1
  21. package/dist/types/MxModule/McGiWorldDraw/McGiWorldDraw.d.ts +1 -1
  22. package/dist/types/MxModule/MxDbEntity/MxDbEntity.d.ts +33 -4
  23. package/dist/types/MxModule/MxDbRect/MxDbRect.d.ts +21 -42
  24. package/dist/types/MxModule/MxDbSVG/MxDbSVG.d.ts +10 -9
  25. package/dist/types/MxModule/MxDbSVGText/MxDbSVGText.d.ts +10 -0
  26. package/dist/types/MxModule/MxDbSVGText/index.d.ts +3 -0
  27. package/dist/types/MxModule/MxDrawObject/MxDrawObject.d.ts +12 -1
  28. package/dist/types/MxModule/MxFun/MxFun.d.ts +25 -1
  29. package/dist/types/MxModule/MxThreeJS/MxThreeJS.d.ts +1 -1
  30. package/dist/types/MxModule/loadCoreCode/mxUiData.d.ts +111 -0
  31. package/dist/types/mxdraw.d.ts +3 -1
  32. package/dist/types/tools/dynamicImport/index.d.ts +1 -0
  33. package/dist/types/types/MxDrawObject.d.ts +2 -1
  34. package/dist/types/types/MxFun.d.ts +2 -1
  35. package/package.json +1 -1
@@ -57,6 +57,9 @@ function getToGenerateRoundedCorners(points, cornerRadius, isClose) {
57
57
  if (isClose === void 0) { isClose = true; }
58
58
  if (cornerRadius.length > 0) {
59
59
  var curve = new three_1.CurvePath();
60
+ if (!isClose) {
61
+ points.push(points[0]);
62
+ }
60
63
  for (var i = 0; i < points.length - 1; i++) {
61
64
  //作为拐弯的弧度
62
65
  var R = cornerRadius[i] || 0;
@@ -65,16 +68,17 @@ function getToGenerateRoundedCorners(points, cornerRadius, isClose) {
65
68
  dir.normalize();
66
69
  var p2_1 = points[1].clone();
67
70
  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);
71
+ var line = new three_1.LineCurve3(points[0], p2_1);
72
+ curve.curves.push(line);
70
73
  continue;
71
74
  }
72
75
  // 计算三个点构成的两条线的方向
73
- var dir1 = !isClose && points[i - 1]
76
+ var dir1 = !isClose || points[i - 1]
74
77
  ? points[i - 1].clone().sub(points[i])
75
78
  : points[points.length - 1].clone().sub(points[0]);
76
79
  dir1.normalize();
77
- var dir2 = !isClose && points[i + 1]
80
+ /* istanbul ignore next */
81
+ var dir2 = !isClose || points[i + 1]
78
82
  ? points[i + 1].clone().sub(points[i])
79
83
  : points[1].clone().sub(points[0]);
80
84
  dir2.normalize();
@@ -84,24 +88,26 @@ function getToGenerateRoundedCorners(points, cornerRadius, isClose) {
84
88
  var p2 = points[i].clone();
85
89
  var p3 = points[i].clone().add(dir2.clone().multiplyScalar(R));
86
90
  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));
91
+ if (i === points.length - 2) {
92
+ var line1 = points[i].clone();
93
+ line1.add(dir2.clone().multiplyScalar(R));
94
+ var line2 = points[i + 1].clone();
95
+ isClose ? line2.add(dir2.clone().multiplyScalar(-R)) : line2.add(dir2.clone());
96
+ var line = new three_1.LineCurve3(line1, line2);
97
+ curve.curves.push(beziercurve, line);
98
+ }
99
+ else {
100
+ // 把转换曲线和直线插入曲线中
101
+ curve.curves.push(beziercurve);
93
102
  }
94
- var line = new three_1.LineCurve3(line1, line2);
95
- // 把转换曲线和直线插入曲线中
96
- curve.curves.push(beziercurve, line);
97
103
  if (i === 0) {
98
104
  points.push(points[0]);
99
105
  }
100
106
  }
101
- return curve.getPoints(5);
107
+ return curve.getPoints(50);
102
108
  }
103
109
  else {
104
- return [];
110
+ return points;
105
111
  }
106
112
  }
107
113
  exports.getToGenerateRoundedCorners = getToGenerateRoundedCorners;