@mlightcad/geometry-engine 1.0.0

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 (149) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +13 -0
  3. package/dist/geometry-engine.js +10186 -0
  4. package/dist/geometry-engine.umd.cjs +4 -0
  5. package/lib/geometry/AcGeArea2d.d.ts +61 -0
  6. package/lib/geometry/AcGeArea2d.d.ts.map +1 -0
  7. package/lib/geometry/AcGeArea2d.js +174 -0
  8. package/lib/geometry/AcGeArea2d.js.map +1 -0
  9. package/lib/geometry/AcGeCircArc2d.d.ts +108 -0
  10. package/lib/geometry/AcGeCircArc2d.d.ts.map +1 -0
  11. package/lib/geometry/AcGeCircArc2d.js +412 -0
  12. package/lib/geometry/AcGeCircArc2d.js.map +1 -0
  13. package/lib/geometry/AcGeCircArc3d.d.ts +138 -0
  14. package/lib/geometry/AcGeCircArc3d.d.ts.map +1 -0
  15. package/lib/geometry/AcGeCircArc3d.js +447 -0
  16. package/lib/geometry/AcGeCircArc3d.js.map +1 -0
  17. package/lib/geometry/AcGeCurve2d.d.ts +85 -0
  18. package/lib/geometry/AcGeCurve2d.d.ts.map +1 -0
  19. package/lib/geometry/AcGeCurve2d.js +213 -0
  20. package/lib/geometry/AcGeCurve2d.js.map +1 -0
  21. package/lib/geometry/AcGeCurve3d.d.ts +27 -0
  22. package/lib/geometry/AcGeCurve3d.d.ts.map +1 -0
  23. package/lib/geometry/AcGeCurve3d.js +29 -0
  24. package/lib/geometry/AcGeCurve3d.js.map +1 -0
  25. package/lib/geometry/AcGeEllipseArc2d.d.ts +105 -0
  26. package/lib/geometry/AcGeEllipseArc2d.d.ts.map +1 -0
  27. package/lib/geometry/AcGeEllipseArc2d.js +292 -0
  28. package/lib/geometry/AcGeEllipseArc2d.js.map +1 -0
  29. package/lib/geometry/AcGeEllipseArc3d.d.ts +141 -0
  30. package/lib/geometry/AcGeEllipseArc3d.d.ts.map +1 -0
  31. package/lib/geometry/AcGeEllipseArc3d.js +442 -0
  32. package/lib/geometry/AcGeEllipseArc3d.js.map +1 -0
  33. package/lib/geometry/AcGeLine2d.d.ts +56 -0
  34. package/lib/geometry/AcGeLine2d.d.ts.map +1 -0
  35. package/lib/geometry/AcGeLine2d.js +125 -0
  36. package/lib/geometry/AcGeLine2d.js.map +1 -0
  37. package/lib/geometry/AcGeLine3d.d.ts +134 -0
  38. package/lib/geometry/AcGeLine3d.d.ts.map +1 -0
  39. package/lib/geometry/AcGeLine3d.js +291 -0
  40. package/lib/geometry/AcGeLine3d.js.map +1 -0
  41. package/lib/geometry/AcGeLoop2d.d.ts +59 -0
  42. package/lib/geometry/AcGeLoop2d.d.ts.map +1 -0
  43. package/lib/geometry/AcGeLoop2d.js +141 -0
  44. package/lib/geometry/AcGeLoop2d.js.map +1 -0
  45. package/lib/geometry/AcGePolyline2d.d.ts +90 -0
  46. package/lib/geometry/AcGePolyline2d.d.ts.map +1 -0
  47. package/lib/geometry/AcGePolyline2d.js +224 -0
  48. package/lib/geometry/AcGePolyline2d.js.map +1 -0
  49. package/lib/geometry/AcGeShape.d.ts +12 -0
  50. package/lib/geometry/AcGeShape.d.ts.map +1 -0
  51. package/lib/geometry/AcGeShape.js +22 -0
  52. package/lib/geometry/AcGeShape.js.map +1 -0
  53. package/lib/geometry/AcGeShape2d.d.ts +31 -0
  54. package/lib/geometry/AcGeShape2d.d.ts.map +1 -0
  55. package/lib/geometry/AcGeShape2d.js +51 -0
  56. package/lib/geometry/AcGeShape2d.js.map +1 -0
  57. package/lib/geometry/AcGeShape3d.d.ts +33 -0
  58. package/lib/geometry/AcGeShape3d.d.ts.map +1 -0
  59. package/lib/geometry/AcGeShape3d.js +52 -0
  60. package/lib/geometry/AcGeShape3d.js.map +1 -0
  61. package/lib/geometry/AcGeSpline3d.d.ts +77 -0
  62. package/lib/geometry/AcGeSpline3d.d.ts.map +1 -0
  63. package/lib/geometry/AcGeSpline3d.js +221 -0
  64. package/lib/geometry/AcGeSpline3d.js.map +1 -0
  65. package/lib/geometry/index.d.ts +13 -0
  66. package/lib/geometry/index.d.ts.map +1 -0
  67. package/lib/geometry/index.js +13 -0
  68. package/lib/geometry/index.js.map +1 -0
  69. package/lib/index.d.ts +4 -0
  70. package/lib/index.d.ts.map +1 -0
  71. package/lib/index.js +4 -0
  72. package/lib/index.js.map +1 -0
  73. package/lib/math/AcGeBox2d.d.ts +173 -0
  74. package/lib/math/AcGeBox2d.d.ts.map +1 -0
  75. package/lib/math/AcGeBox2d.js +289 -0
  76. package/lib/math/AcGeBox2d.js.map +1 -0
  77. package/lib/math/AcGeBox3d.d.ts +195 -0
  78. package/lib/math/AcGeBox3d.d.ts.map +1 -0
  79. package/lib/math/AcGeBox3d.js +378 -0
  80. package/lib/math/AcGeBox3d.js.map +1 -0
  81. package/lib/math/AcGeEuler.d.ts +133 -0
  82. package/lib/math/AcGeEuler.d.ts.map +1 -0
  83. package/lib/math/AcGeEuler.js +358 -0
  84. package/lib/math/AcGeEuler.js.map +1 -0
  85. package/lib/math/AcGeMatrix2d.d.ts +203 -0
  86. package/lib/math/AcGeMatrix2d.d.ts.map +1 -0
  87. package/lib/math/AcGeMatrix2d.js +393 -0
  88. package/lib/math/AcGeMatrix2d.js.map +1 -0
  89. package/lib/math/AcGeMatrix3d.d.ts +279 -0
  90. package/lib/math/AcGeMatrix3d.d.ts.map +1 -0
  91. package/lib/math/AcGeMatrix3d.js +1037 -0
  92. package/lib/math/AcGeMatrix3d.js.map +1 -0
  93. package/lib/math/AcGePlane.d.ts +131 -0
  94. package/lib/math/AcGePlane.d.ts.map +1 -0
  95. package/lib/math/AcGePlane.js +218 -0
  96. package/lib/math/AcGePlane.js.map +1 -0
  97. package/lib/math/AcGePoint.d.ts +4 -0
  98. package/lib/math/AcGePoint.d.ts.map +1 -0
  99. package/lib/math/AcGePoint.js +2 -0
  100. package/lib/math/AcGePoint.js.map +1 -0
  101. package/lib/math/AcGePoint2d.d.ts +17 -0
  102. package/lib/math/AcGePoint2d.d.ts.map +1 -0
  103. package/lib/math/AcGePoint2d.js +40 -0
  104. package/lib/math/AcGePoint2d.js.map +1 -0
  105. package/lib/math/AcGePoint3d.d.ts +18 -0
  106. package/lib/math/AcGePoint3d.d.ts.map +1 -0
  107. package/lib/math/AcGePoint3d.js +43 -0
  108. package/lib/math/AcGePoint3d.js.map +1 -0
  109. package/lib/math/AcGeQuaternion.d.ts +230 -0
  110. package/lib/math/AcGeQuaternion.d.ts.map +1 -0
  111. package/lib/math/AcGeQuaternion.js +666 -0
  112. package/lib/math/AcGeQuaternion.js.map +1 -0
  113. package/lib/math/AcGeVector.d.ts +9 -0
  114. package/lib/math/AcGeVector.d.ts.map +1 -0
  115. package/lib/math/AcGeVector.js +2 -0
  116. package/lib/math/AcGeVector.js.map +1 -0
  117. package/lib/math/AcGeVector2d.d.ts +361 -0
  118. package/lib/math/AcGeVector2d.d.ts.map +1 -0
  119. package/lib/math/AcGeVector2d.js +622 -0
  120. package/lib/math/AcGeVector2d.js.map +1 -0
  121. package/lib/math/AcGeVector3d.d.ts +493 -0
  122. package/lib/math/AcGeVector3d.d.ts.map +1 -0
  123. package/lib/math/AcGeVector3d.js +868 -0
  124. package/lib/math/AcGeVector3d.js.map +1 -0
  125. package/lib/math/index.d.ts +14 -0
  126. package/lib/math/index.d.ts.map +1 -0
  127. package/lib/math/index.js +14 -0
  128. package/lib/math/index.js.map +1 -0
  129. package/lib/util/AcGeConstants.d.ts +19 -0
  130. package/lib/util/AcGeConstants.d.ts.map +1 -0
  131. package/lib/util/AcGeConstants.js +25 -0
  132. package/lib/util/AcGeConstants.js.map +1 -0
  133. package/lib/util/AcGeGeometryUtil.d.ts +16 -0
  134. package/lib/util/AcGeGeometryUtil.d.ts.map +1 -0
  135. package/lib/util/AcGeGeometryUtil.js +56 -0
  136. package/lib/util/AcGeGeometryUtil.js.map +1 -0
  137. package/lib/util/AcGeMathUtil.d.ts +203 -0
  138. package/lib/util/AcGeMathUtil.d.ts.map +1 -0
  139. package/lib/util/AcGeMathUtil.js +585 -0
  140. package/lib/util/AcGeMathUtil.js.map +1 -0
  141. package/lib/util/AcGeTol.d.ts +91 -0
  142. package/lib/util/AcGeTol.d.ts.map +1 -0
  143. package/lib/util/AcGeTol.js +83 -0
  144. package/lib/util/AcGeTol.js.map +1 -0
  145. package/lib/util/index.d.ts +5 -0
  146. package/lib/util/index.d.ts.map +1 -0
  147. package/lib/util/index.js +5 -0
  148. package/lib/util/index.js.map +1 -0
  149. package/package.json +42 -0
@@ -0,0 +1,83 @@
1
+ import { AcGeVector2d, AcGeVector3d } from '../math';
2
+ import { FLOAT_TOL } from './AcGeConstants';
3
+ /**
4
+ * The class used to store some tolerance values.
5
+ */
6
+ var AcGeTol = /** @class */ (function () {
7
+ /**
8
+ * Create tolerance class with default tolerance values
9
+ */
10
+ function AcGeTol() {
11
+ this.equalPointTol = FLOAT_TOL;
12
+ this.equalVectorTol = FLOAT_TOL;
13
+ }
14
+ /**
15
+ * Return true if two points are equal with the specified tolerance.
16
+ * @param p1 Input the first 2d point
17
+ * @param p2 Input the second 2d point
18
+ * @returns Return true if two poitns are equal with the specified tolerance.
19
+ */
20
+ AcGeTol.prototype.equalPoint2d = function (p1, p2) {
21
+ return new AcGeVector2d(p1).sub(p2).length() < this.equalPointTol;
22
+ };
23
+ /**
24
+ * Return true if two points are equal with the specified tolerance.
25
+ * @param p1 Input the first 2d point
26
+ * @param p2 Input the second 2d point
27
+ * @returns Return true if two poitns are equal with the specified tolerance.
28
+ */
29
+ AcGeTol.prototype.equalPoint3d = function (p1, p2) {
30
+ return new AcGeVector3d(p1).sub(p2).length() < this.equalPointTol;
31
+ };
32
+ /**
33
+ * Return true if the value is equal to zero with the specified tolerance.
34
+ */
35
+ AcGeTol.equalToZero = function (x, tol) {
36
+ if (tol === void 0) { tol = FLOAT_TOL; }
37
+ return x < tol && x > -tol;
38
+ };
39
+ /**
40
+ * Return true if two values are equal with the sepcified tolerance.
41
+ *
42
+ * @param value1 Input the first value
43
+ * @param value2 Input the second value
44
+ * @param tol Input the tolerance value
45
+ * @returns Return true if two values are equal with the sepcified tolerance
46
+ */
47
+ AcGeTol.equal = function (value1, value2, tol) {
48
+ if (tol === void 0) { tol = FLOAT_TOL; }
49
+ return Math.abs(value1 - value2) < tol;
50
+ };
51
+ /**
52
+ * Return true if the first argument are greater than the second argument with the sepcified
53
+ * tolerance.
54
+ *
55
+ * @param value1 Input the first value
56
+ * @param value2 Input the second value
57
+ * @param tol Input the tolerance value
58
+ * @returns Return true if the first argument are greater than the second argument with the
59
+ * sepcified tolerance.
60
+ */
61
+ AcGeTol.great = function (value1, value2, tol) {
62
+ if (tol === void 0) { tol = FLOAT_TOL; }
63
+ return value1 - value2 > tol;
64
+ };
65
+ /**
66
+ * Return true if the first argument less than the second argument with the specified tolerance
67
+ * value
68
+ *
69
+ * @param value1 Input the first value
70
+ * @param value2 Input the second value
71
+ * @param tol Input the tolerance value
72
+ * @returns Return *true* if the first argument less than the second argument with the specified
73
+ * tolerance value
74
+ */
75
+ AcGeTol.less = function (value1, value2, tol) {
76
+ if (tol === void 0) { tol = FLOAT_TOL; }
77
+ return value1 - value2 < tol;
78
+ };
79
+ return AcGeTol;
80
+ }());
81
+ export { AcGeTol };
82
+ export var DEFAULT_TOL = new AcGeTol();
83
+ //# sourceMappingURL=AcGeTol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcGeTol.js","sourceRoot":"","sources":["../../src/util/AcGeTol.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EACZ,YAAY,EACb,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C;;GAEG;AACH;IAgCE;;OAEG;IACH;QACE,IAAI,CAAC,aAAa,GAAG,SAAS,CAAA;QAC9B,IAAI,CAAC,cAAc,GAAG,SAAS,CAAA;IACjC,CAAC;IAED;;;;;OAKG;IACH,8BAAY,GAAZ,UAAa,EAAmB,EAAE,EAAmB;QACnD,OAAO,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAA;IACnE,CAAC;IAED;;;;;OAKG;IACH,8BAAY,GAAZ,UAAa,EAAmB,EAAE,EAAmB;QACnD,OAAO,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAA;IACnE,CAAC;IAED;;OAEG;IACI,mBAAW,GAAlB,UAAmB,CAAS,EAAE,GAAuB;QAAvB,oBAAA,EAAA,eAAuB;QACnD,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;IAC5B,CAAC;IAED;;;;;;;OAOG;IACI,aAAK,GAAZ,UACE,MAAc,EACd,MAAc,EACd,GAAuB;QAAvB,oBAAA,EAAA,eAAuB;QAEvB,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,GAAG,CAAA;IACxC,CAAC;IAED;;;;;;;;;OASG;IACI,aAAK,GAAZ,UACE,MAAc,EACd,MAAc,EACd,GAAuB;QAAvB,oBAAA,EAAA,eAAuB;QAEvB,OAAO,MAAM,GAAG,MAAM,GAAG,GAAG,CAAA;IAC9B,CAAC;IAED;;;;;;;;;OASG;IACI,YAAI,GAAX,UAAY,MAAc,EAAE,MAAc,EAAE,GAAuB;QAAvB,oBAAA,EAAA,eAAuB;QACjE,OAAO,MAAM,GAAG,MAAM,GAAG,GAAG,CAAA;IAC9B,CAAC;IACH,cAAC;AAAD,CAAC,AAlHD,IAkHC;;AAED,MAAM,CAAC,IAAM,WAAW,GAAG,IAAI,OAAO,EAAE,CAAA"}
@@ -0,0 +1,5 @@
1
+ export * from './AcGeConstants';
2
+ export * from './AcGeGeometryUtil';
3
+ export * from './AcGeMathUtil';
4
+ export * from './AcGeTol';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA"}
@@ -0,0 +1,5 @@
1
+ export * from './AcGeConstants';
2
+ export * from './AcGeGeometryUtil';
3
+ export * from './AcGeMathUtil';
4
+ export * from './AcGeTol';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA"}
package/package.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "@mlightcad/geometry-engine",
3
+ "version": "1.0.0",
4
+ "type": "module",
5
+ "keywords": [
6
+ "autocad",
7
+ "cad",
8
+ "dwg",
9
+ "dxf",
10
+ "mlight",
11
+ "mlightcad",
12
+ "objecarx",
13
+ "realdwg"
14
+ ],
15
+ "files": [
16
+ "dist",
17
+ "lib",
18
+ "README.md",
19
+ "package.json"
20
+ ],
21
+ "main": "./dist/geometry-engine.umd.cjs",
22
+ "module": "./dist/geometry-engine.js",
23
+ "types": "./lib/index.d.ts",
24
+ "exports": {
25
+ "types": "./lib/index.d.ts",
26
+ "import": "./dist/geometry-engine.js",
27
+ "require": "./dist/geometry-engine.umd.cjs"
28
+ },
29
+ "dependencies": {
30
+ "verb-nurbs-web": "^2.1.3"
31
+ },
32
+ "peerDependencies": {
33
+ "@mlightcad/common": "0.0.1",
34
+ "lodash-es": "*"
35
+ },
36
+ "scripts": {
37
+ "clean": "rimraf dist lib tsconfig.tsbuildinfo",
38
+ "build": "tsc && vite build",
39
+ "lint": "eslint src/",
40
+ "lint:fix": "eslint --fix --quiet src/"
41
+ }
42
+ }