@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 @@
1
+ {"version":3,"file":"AcGeVector3d.js","sourceRoot":"","sources":["../../src/math/AcGeVector3d.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export * from './AcGeMatrix2d';
2
+ export * from './AcGeMatrix3d';
3
+ export * from './AcGeBox3d';
4
+ export * from './AcGeBox2d';
5
+ export * from './AcGeVector';
6
+ export * from './AcGeVector2d';
7
+ export * from './AcGeVector3d';
8
+ export * from './AcGePlane';
9
+ export * from './AcGePoint';
10
+ export * from './AcGePoint2d';
11
+ export * from './AcGePoint3d';
12
+ export * from './AcGeQuaternion';
13
+ export * from './AcGeEuler';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/math/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA"}
@@ -0,0 +1,14 @@
1
+ export * from './AcGeMatrix2d';
2
+ export * from './AcGeMatrix3d';
3
+ export * from './AcGeBox3d';
4
+ export * from './AcGeBox2d';
5
+ export * from './AcGeVector';
6
+ export * from './AcGeVector2d';
7
+ export * from './AcGeVector3d';
8
+ export * from './AcGePlane';
9
+ export * from './AcGePoint';
10
+ export * from './AcGePoint2d';
11
+ export * from './AcGePoint3d';
12
+ export * from './AcGeQuaternion';
13
+ export * from './AcGeEuler';
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/math/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA"}
@@ -0,0 +1,19 @@
1
+ import { AcGePoint2dLike, AcGePoint3dLike } from '../math';
2
+ /**
3
+ * Floating point comparison tolerance.
4
+ * Default value is 0.000001 (10e-6)
5
+ */
6
+ export declare const FLOAT_TOL: number;
7
+ /**
8
+ * 2 * Math.PI
9
+ */
10
+ export declare const TAU: number;
11
+ /**
12
+ * 2d origin point
13
+ */
14
+ export declare const ORIGIN_POINT_2D: AcGePoint2dLike;
15
+ /**
16
+ * 3d origin point
17
+ */
18
+ export declare const ORIGIN_POINT_3D: AcGePoint3dLike;
19
+ //# sourceMappingURL=AcGeConstants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcGeConstants.d.ts","sourceRoot":"","sources":["../../src/util/AcGeConstants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE1D;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,MAAiB,CAAA;AAEzC;;GAEG;AACH,eAAO,MAAM,GAAG,QAAc,CAAA;AAE9B;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,eAG7B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,eAI7B,CAAA"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Floating point comparison tolerance.
3
+ * Default value is 0.000001 (10e-6)
4
+ */
5
+ export var FLOAT_TOL = 0.000001;
6
+ /**
7
+ * 2 * Math.PI
8
+ */
9
+ export var TAU = 2 * Math.PI;
10
+ /**
11
+ * 2d origin point
12
+ */
13
+ export var ORIGIN_POINT_2D = {
14
+ x: 0,
15
+ y: 0
16
+ };
17
+ /**
18
+ * 3d origin point
19
+ */
20
+ export var ORIGIN_POINT_3D = {
21
+ x: 0,
22
+ y: 0,
23
+ z: 0
24
+ };
25
+ //# sourceMappingURL=AcGeConstants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcGeConstants.js","sourceRoot":"","sources":["../../src/util/AcGeConstants.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,IAAM,SAAS,GAAW,QAAQ,CAAA;AAEzC;;GAEG;AACH,MAAM,CAAC,IAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAA;AAE9B;;GAEG;AACH,MAAM,CAAC,IAAM,eAAe,GAAoB;IAC9C,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;CACL,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,IAAM,eAAe,GAAoB;IAC9C,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;CACL,CAAA"}
@@ -0,0 +1,16 @@
1
+ import { AcGePoint2dLike } from '../math';
2
+ /**
3
+ * Determine if the 2d point is inside the polygon
4
+ * @param point 2d point to check whether it is in the specified polygon
5
+ * @param polygon an polygon consisted by 2d point array
6
+ * @param includeOnSide if ture, return true if the specified point is inside the polygon or the polygon border.
7
+ * @returns Return true if the 2d point is inside the polygon
8
+ */
9
+ declare function isPointInPolygon(point: AcGePoint2dLike, polygon: AcGePoint2dLike[], includeOnSide?: boolean): boolean;
10
+ declare function isPolygonIntersect(polygon1: AcGePoint2dLike[], polygon2: AcGePoint2dLike[]): boolean;
11
+ declare const AcGeGeometryUtil: {
12
+ isPointInPolygon: typeof isPointInPolygon;
13
+ isPolygonIntersect: typeof isPolygonIntersect;
14
+ };
15
+ export { isPointInPolygon, isPolygonIntersect, AcGeGeometryUtil };
16
+ //# sourceMappingURL=AcGeGeometryUtil.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcGeGeometryUtil.d.ts","sourceRoot":"","sources":["../../src/util/AcGeGeometryUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,eAAe,EAAE,MAAM,SAAS,CAAA;AAGpD;;;;;;GAMG;AACH,iBAAS,gBAAgB,CACvB,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,eAAe,EAAE,EAC1B,aAAa,UAAQ,WAqBtB;AAED,iBAAS,kBAAkB,CACzB,QAAQ,EAAE,eAAe,EAAE,EAC3B,QAAQ,EAAE,eAAe,EAAE,WA4B5B;AAED,QAAA,MAAM,gBAAgB;;;CAGrB,CAAA;AAED,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,CAAA"}
@@ -0,0 +1,56 @@
1
+ import { AcGeBox2d } from '../math';
2
+ import { DEFAULT_TOL } from './AcGeTol';
3
+ /**
4
+ * Determine if the 2d point is inside the polygon
5
+ * @param point 2d point to check whether it is in the specified polygon
6
+ * @param polygon an polygon consisted by 2d point array
7
+ * @param includeOnSide if ture, return true if the specified point is inside the polygon or the polygon border.
8
+ * @returns Return true if the 2d point is inside the polygon
9
+ */
10
+ function isPointInPolygon(point, polygon, includeOnSide) {
11
+ if (includeOnSide === void 0) { includeOnSide = false; }
12
+ var x = point.x, y = point.y;
13
+ var inside = false;
14
+ var len = polygon.length;
15
+ for (var i = 0, j = len - 1; i < len; j = i++) {
16
+ var xi = polygon[i].x, yi = polygon[i].y;
17
+ var xj = polygon[j].x, yj = polygon[j].y;
18
+ var isInSide = yi > y !== yj > y;
19
+ if (includeOnSide) {
20
+ isInSide = yi >= y !== yj >= y;
21
+ }
22
+ var intersect = isInSide && x < ((xj - xi) * (y - yi)) / (yj - yi) + xi;
23
+ if (intersect) {
24
+ inside = !inside;
25
+ }
26
+ }
27
+ return inside;
28
+ }
29
+ function isPolygonIntersect(polygon1, polygon2) {
30
+ if (polygon1.length === 0 || polygon2.length === 0) {
31
+ return false;
32
+ }
33
+ // fast exclude
34
+ var tempBox1 = new AcGeBox2d().setFromPoints(polygon1);
35
+ var tempBox2 = new AcGeBox2d().setFromPoints(polygon2);
36
+ if (!tempBox1.intersectsBox(tempBox2)) {
37
+ return false;
38
+ }
39
+ for (var i = 0; i < polygon1.length;) {
40
+ if (isPointInPolygon(polygon1[i], polygon2, true)) {
41
+ return true;
42
+ }
43
+ if (i < polygon1.length - 1 &&
44
+ DEFAULT_TOL.equalPoint2d(polygon1[i + 1], polygon1[i])) {
45
+ ++i;
46
+ }
47
+ ++i;
48
+ }
49
+ return false;
50
+ }
51
+ var AcGeGeometryUtil = {
52
+ isPointInPolygon: isPointInPolygon,
53
+ isPolygonIntersect: isPolygonIntersect
54
+ };
55
+ export { isPointInPolygon, isPolygonIntersect, AcGeGeometryUtil };
56
+ //# sourceMappingURL=AcGeGeometryUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcGeGeometryUtil.js","sourceRoot":"","sources":["../../src/util/AcGeGeometryUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAmB,MAAM,SAAS,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC;;;;;;GAMG;AACH,SAAS,gBAAgB,CACvB,KAAsB,EACtB,OAA0B,EAC1B,aAAqB;IAArB,8BAAA,EAAA,qBAAqB;IAErB,IAAM,CAAC,GAAG,KAAK,CAAC,CAAC,EACf,CAAC,GAAG,KAAK,CAAC,CAAC,CAAA;IACb,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAA;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QAC9C,IAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EACrB,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACnB,IAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EACrB,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACnB,IAAI,QAAQ,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QAChC,IAAI,aAAa,EAAE,CAAC;YAClB,QAAQ,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAChC,CAAC;QACD,IAAM,SAAS,GAAG,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAA;QACzE,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,GAAG,CAAC,MAAM,CAAA;QAClB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,kBAAkB,CACzB,QAA2B,EAC3B,QAA2B;IAE3B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,eAAe;IACf,IAAM,QAAQ,GAAG,IAAI,SAAS,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IACxD,IAAM,QAAQ,GAAG,IAAI,SAAS,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IACxD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAI,CAAC;QACtC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;YAClD,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IACE,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC;YACvB,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EACtD,CAAC;YACD,EAAE,CAAC,CAAA;QACL,CAAC;QACD,EAAE,CAAC,CAAA;IACL,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,IAAM,gBAAgB,GAAG;IACvB,gBAAgB,EAAE,gBAAgB;IAClC,kBAAkB,EAAE,kBAAkB;CACvC,CAAA;AAED,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,CAAA"}
@@ -0,0 +1,203 @@
1
+ declare const DEG2RAD: number;
2
+ declare const RAD2DEG: number;
3
+ /**
4
+ * Generate a UUID (universally unique identifier).
5
+ * http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/21963136#21963136
6
+ * @returns Return a UUID
7
+ */
8
+ declare function generateUUID(): string;
9
+ /**
10
+ * Clamp the value to be between min and max.
11
+ * @param value Input value to be clamped
12
+ * @param min Input minimum value
13
+ * @param max Input maximum value
14
+ * @returns Return clamped value between min and max
15
+ */
16
+ declare function clamp(value: number, min: number, max: number): number;
17
+ /**
18
+ * Computes the Euclidean modulo of m % n, that is: ((n % m) + m) % m
19
+ * https://en.wikipedia.org/wiki/Modulo_operation
20
+ * @param n Input one integer
21
+ * @param m Input one integer
22
+ * @returns Return the Euclidean modulo of m % n
23
+ */
24
+ declare function euclideanModulo(n: number, m: number): number;
25
+ /**
26
+ * Linear mapping of x from range [a1, a2] to range [b1, b2].
27
+ * @param x Input value to be mapped.
28
+ * @param a1 Input minimum value for range A.
29
+ * @param a2 Input maximum value for range A.
30
+ * @param b1 Input minimum value for range B.
31
+ * @param b2 Input maximum value for range B.
32
+ * @returns Return linear mapping of x from range [a1, a2] to range [b1, b2]
33
+ */
34
+ declare function mapLinear(x: number, a1: number, a2: number, b1: number, b2: number): number;
35
+ /**
36
+ * Return the percentage in the closed interval [0, 1] of the given value between the start and end point.
37
+ * https://www.gamedev.net/tutorials/programming/general-and-gameplay-programming/inverse-lerp-a-super-useful-yet-often-overlooked-function-r5230/
38
+ * @param x Input start point
39
+ * @param y Input end point
40
+ * @param value Input a value between start and end
41
+ * @returns Return the percentage in the closed interval [0, 1] of the given value between the start and end point.
42
+ */
43
+ declare function inverseLerp(x: number, y: number, value: number): number;
44
+ /**
45
+ * Returns a value linearly interpolated from two known points based on the given interval - t = 0 will
46
+ * return x and t = 1 will return y.
47
+ * https://en.wikipedia.org/wiki/Linear_interpolation
48
+ * @param x Input start point
49
+ * @param y Input end point
50
+ * @param t Input interpolation factor in the closed interval [0, 1]
51
+ * @returns Return a value linearly interpolated from two known points
52
+ */
53
+ declare function lerp(x: number, y: number, t: number): number;
54
+ /**
55
+ * Smoothly interpolate a number from x toward y in a spring-like manner using the dt to maintain frame
56
+ * rate independent movement. For details, see Frame rate independent damping using lerp.
57
+ * http://www.rorydriscoll.com/2016/03/07/frame-rate-independent-damping-using-lerp/
58
+ * @param x Input current point.
59
+ * @param y Input target point.
60
+ * @param lambda A higher lambda value will make the movement more sudden, and a lower value will make
61
+ * the movement more gradual.
62
+ * @param dt Input delta time in seconds.
63
+ * @returns Return a number from x toward y
64
+ */
65
+ declare function damp(x: number, y: number, lambda: number, dt: number): number;
66
+ /**
67
+ * Return a value that alternates between 0 and length.
68
+ * https://www.desmos.com/calculator/vcsjnyz7x4
69
+ * @param x Input the value to pingpong.
70
+ * @param length The positive value the function will pingpong to. Default is 1.
71
+ * @returns Return a value that alternates between 0 and length : Float.
72
+ */
73
+ declare function pingpong(x: number, length?: number): number;
74
+ /**
75
+ * Return a value between 0-1. A variation on smoothstep that has zero 1st and 2nd order derivatives
76
+ * at x=0 and x=1.
77
+ * http://en.wikipedia.org/wiki/Smoothstep
78
+ * @param x Input the value to evaluate based on its position between min and max.
79
+ * @param min Any x value below min will be 0.
80
+ * @param max Any x value above max will be 1.
81
+ * @returns Return a value between 0-1
82
+ */
83
+ declare function smoothstep(x: number, min: number, max: number): number;
84
+ /**
85
+ * Return a value between 0-1. A variation on smoothstep that has zero 1st and 2nd order derivatives
86
+ * at x=0 and x=1.
87
+ * @param x Input the value to evaluate based on its position between min and max.
88
+ * @param min Any x value below min will be 0.
89
+ * @param max Any x value above max will be 1.
90
+ * @returns Return a value between 0-1
91
+ */
92
+ declare function smootherstep(x: number, min: number, max: number): number;
93
+ /**
94
+ * Random integer in the interval [low, high].
95
+ * @param low Input interval lower boundary value
96
+ * @param high Input interval upper boundary value
97
+ * @returns Return random integer in the interval [low, high].
98
+ */
99
+ declare function randInt(low: number, high: number): number;
100
+ /**
101
+ * Random float in the interval [low, high].
102
+ * @param low Input interval lower boundary value
103
+ * @param high Input interval upper boundary value
104
+ * @returns Return random float in the interval [low, high]
105
+ */
106
+ declare function randFloat(low: number, high: number): number;
107
+ /**
108
+ * Random float in the interval [- range / 2, range / 2].
109
+ * @param range Input interval range value
110
+ * @returns Return random float in the interval [- range / 2, range / 2].
111
+ */
112
+ declare function randFloatSpread(range: number): number;
113
+ /**
114
+ * Deterministic pseudo-random float in the interval [0, 1]. The integer seed is optional.
115
+ * @param s Input one integer seed number
116
+ * @returns Return pseudo-random float in the interval [0, 1]
117
+ */
118
+ declare function seededRandom(s: number): number;
119
+ /**
120
+ * Convert degrees to radians.
121
+ * @param degrees Input degrees value to be converted
122
+ * @returns Return converted angle value in radians
123
+ */
124
+ declare function degToRad(degrees: number): number;
125
+ /**
126
+ * Convert radians to degrees.
127
+ * @param radians Input radians value to be converted
128
+ * @returns Return converted angle value in degrees
129
+ */
130
+ declare function radToDeg(radians: number): number;
131
+ /**
132
+ * Return true if n is a power of 2.
133
+ * @param value Input the number to check
134
+ * @returns Return true if n is a power of 2.
135
+ */
136
+ declare function isPowerOfTwo(value: number): boolean;
137
+ /**
138
+ * Return the smallest power of 2 that is greater than or equal to n.
139
+ * @param value Input one number
140
+ * @returns Return the smallest power of 2 that is greater than or equal to n.
141
+ */
142
+ declare function ceilPowerOfTwo(value: number): number;
143
+ /**
144
+ * Return the largest power of 2 that is less than or equal to n.
145
+ * @param value Input one number
146
+ * @returns Return the largest power of 2 that is less than or equal to n.
147
+ */
148
+ declare function floorPowerOfTwo(value: number): number;
149
+ /**
150
+ * Normalize one angle in radian to value in range 0 to 2*PI
151
+ * @param angle Input one angle value in radians
152
+ * @returns Return normalized angle value in radians
153
+ */
154
+ declare function normalizeAngle(angle: number): number;
155
+ /**
156
+ * Return true if the valueToTest is between (value1, value2) or (value2, value1)
157
+ * @param valueToTest Input value to test
158
+ * @param value1 Input the first value
159
+ * @param value2 Input the second value
160
+ * @returns Return true if if the valueToTest is between (value1, value2) or (value2, value1).
161
+ */
162
+ declare function isBetween(valueToTest: number, value1: number, value2: number): boolean;
163
+ /**
164
+ * Return true if the algleToTest is between startAngle and endAngle
165
+ * @param angleToTest Input angle to test
166
+ * @param startAngle Input start angle
167
+ * @param endAngle Input end angle
168
+ * @param clockwise Input rotation direction from start angle to end angle
169
+ * @returns Return true if the algleToTest is between startAngle and endAngle
170
+ */
171
+ declare function isBetweenAngle(angleToTest: number, startAngle: number, endAngle: number, clockwise?: boolean): boolean;
172
+ declare function intPartLength(num: number): number;
173
+ declare function relativeEps(num: number, epsilon?: number): number;
174
+ declare const AcGeMathUtil: {
175
+ DEG2RAD: number;
176
+ RAD2DEG: number;
177
+ generateUUID: typeof generateUUID;
178
+ clamp: typeof clamp;
179
+ euclideanModulo: typeof euclideanModulo;
180
+ mapLinear: typeof mapLinear;
181
+ inverseLerp: typeof inverseLerp;
182
+ lerp: typeof lerp;
183
+ damp: typeof damp;
184
+ pingpong: typeof pingpong;
185
+ smoothstep: typeof smoothstep;
186
+ smootherstep: typeof smootherstep;
187
+ randInt: typeof randInt;
188
+ randFloat: typeof randFloat;
189
+ randFloatSpread: typeof randFloatSpread;
190
+ seededRandom: typeof seededRandom;
191
+ degToRad: typeof degToRad;
192
+ radToDeg: typeof radToDeg;
193
+ isPowerOfTwo: typeof isPowerOfTwo;
194
+ ceilPowerOfTwo: typeof ceilPowerOfTwo;
195
+ floorPowerOfTwo: typeof floorPowerOfTwo;
196
+ normalizeAngle: typeof normalizeAngle;
197
+ isBetween: typeof isBetween;
198
+ isBetweenAngle: typeof isBetweenAngle;
199
+ intPartLength: typeof intPartLength;
200
+ relativeEps: typeof relativeEps;
201
+ };
202
+ export { DEG2RAD, RAD2DEG, generateUUID, clamp, euclideanModulo, mapLinear, inverseLerp, lerp, damp, pingpong, smoothstep, smootherstep, randInt, randFloat, randFloatSpread, seededRandom, degToRad, radToDeg, isPowerOfTwo, ceilPowerOfTwo, floorPowerOfTwo, normalizeAngle, isBetween, isBetweenAngle, intPartLength, relativeEps, AcGeMathUtil };
203
+ //# sourceMappingURL=AcGeMathUtil.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcGeMathUtil.d.ts","sourceRoot":"","sources":["../../src/util/AcGeMathUtil.ts"],"names":[],"mappings":"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"}