@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,230 @@
1
+ import { AcGeEuler } from './AcGeEuler';
2
+ import { AcGeMatrix3d } from './AcGeMatrix3d';
3
+ import { AcGeVector3d, AcGeVector3dLike } from './AcGeVector3d';
4
+ export declare class AcGeQuaternion {
5
+ private _x;
6
+ private _y;
7
+ private _z;
8
+ private _w;
9
+ /**
10
+ * Create one instance of this class
11
+ * @param x Input x coordinate
12
+ * @param y Input y coordinate
13
+ * @param z Input z coordinate
14
+ * @param w Input w coordinate
15
+ */
16
+ constructor(x?: number, y?: number, z?: number, w?: number);
17
+ /**
18
+ * This SLERP implementation assumes the quaternion data are managed in flat arrays.
19
+ * @param dst Input the output array
20
+ * @param dstOffset Input an offset into the output array
21
+ * @param src0 Input the source array of the starting quaternion.
22
+ * @param srcOffset0 Input an offset into the array src0.
23
+ * @param src1 Input the source array of the target quaternion.
24
+ * @param srcOffset1 Input an offset into the array src1.
25
+ * @param t Input normalized interpolation factor (between 0 and 1).
26
+ */
27
+ static slerpFlat(dst: number[], dstOffset: number, src0: number[], srcOffset0: number, src1: number[], srcOffset1: number, t: number): void;
28
+ /**
29
+ * This multiplication implementation assumes the quaternion data are managed in flat arrays.
30
+ * @param dst Input the output array.
31
+ * @param dstOffset Input an offset into the output array.
32
+ * @param src0 Input the source array of the starting quaternion.
33
+ * @param srcOffset0 Input an offset into the array src0.
34
+ * @param src1 Input the source array of the target quaternion.
35
+ * @param srcOffset1 Input an offset into the array src1.
36
+ * @returns Return an array
37
+ */
38
+ static multiplyQuaternionsFlat(dst: number[], dstOffset: number, src0: number[], srcOffset0: number, src1: number[], srcOffset1: number): number[];
39
+ /**
40
+ * X cooridinate
41
+ */
42
+ get x(): number;
43
+ set x(value: number);
44
+ /**
45
+ * Y cooridinate
46
+ */
47
+ get y(): number;
48
+ set y(value: number);
49
+ /**
50
+ * Z cooridinate
51
+ */
52
+ get z(): number;
53
+ set z(value: number);
54
+ /**
55
+ * W cooridinate
56
+ */
57
+ get w(): number;
58
+ set w(value: number);
59
+ /**
60
+ * Set x, y, z, w properties of this quaternion.
61
+ * @param x Input x coordinate
62
+ * @param y Input y coordinate
63
+ * @param z Input z coordinate
64
+ * @param w Input w coordinate
65
+ * @returns Return this quaternion
66
+ */
67
+ set(x: number, y: number, z: number, w: number): this;
68
+ /**
69
+ * Create a new quaternion with identical x, y, z and w properties to this one.
70
+ * @returns Return cloned instance
71
+ */
72
+ clone(): AcGeQuaternion;
73
+ /**
74
+ * Copy the x, y, z and w properties of q into this quaternion.
75
+ * @param quaternion Input the quaternion copied from
76
+ * @returns Return this quaternion
77
+ */
78
+ copy(quaternion: AcGeQuaternion): this;
79
+ /**
80
+ * Sets this quaternion from the rotation specified by euler angle.
81
+ * @param euler Input one euler angle
82
+ * @param update Input one flag whether to trigger change callback function
83
+ * @returns Return this quaternion
84
+ */
85
+ setFromEuler(euler: AcGeEuler, update?: boolean): this;
86
+ /**
87
+ * Set this quaternion from rotation specified by axis and angle. Axis is assumed to be normalized,
88
+ * angle is in radians.
89
+ * @param axis Input one normalized axis
90
+ * @param angle Input one angle in radians
91
+ * @returns Return this quaternion
92
+ */
93
+ setFromAxisAngle(axis: AcGeVector3dLike, angle: number): this;
94
+ /**
95
+ * Set this quaternion from rotation component of the specified matrix.
96
+ * @param m Input a Matrix4 of which the upper 3x3 of matrix is a pure rotation matrix (i.e. unscaled).
97
+ * @returns Return this quaternion
98
+ */
99
+ setFromRotationMatrix(m: AcGeMatrix3d): this;
100
+ /**
101
+ * Set this quaternion to the rotation required to rotate direction vector vFrom to direction vector vTo.
102
+ * @param vFrom Input one normalized direction vector
103
+ * @param vTo Input one normalized direction vector
104
+ * @returns Return this quaternion
105
+ */
106
+ setFromUnitVectors(vFrom: AcGeVector3d, vTo: AcGeVector3d): this;
107
+ /**
108
+ * Return the angle between this quaternion and quaternion q in radians.
109
+ * @param q Input one quaternion
110
+ * @returns Return the angle between this quaternion and quaternion q in radians.
111
+ */
112
+ angleTo(q: AcGeQuaternion): number;
113
+ /**
114
+ * Rotate this quaternion by a given angular step to the defined quaternion q. The method ensures
115
+ * that the final quaternion will not overshoot q.
116
+ * @param q Input the target quaternion.
117
+ * @param step Input the angular step in radians.
118
+ * @returns Return this quaternion
119
+ */
120
+ rotateTowards(q: AcGeQuaternion, step: number): this;
121
+ /**
122
+ * Set this quaternion to the identity quaternion; that is, to the quaternion that represents
123
+ * "no rotation".
124
+ * @returns Return this quaternion.
125
+ */
126
+ identity(): this;
127
+ /**
128
+ * Invert this quaternion - calculates the conjugate. The quaternion is assumed to have unit length.
129
+ * @returns Return this quaternion.
130
+ */
131
+ invert(): this;
132
+ /**
133
+ * Return the rotational conjugate of this quaternion. The conjugate of a quaternion represents the
134
+ * same rotation in the opposite direction about the rotational axis.
135
+ * @returns Return this quaternion
136
+ */
137
+ conjugate(): this;
138
+ /**
139
+ * Calculate the dot product of quaternions v and this one.
140
+ * @param v Input one quaternion
141
+ * @returns Return the dot product of quaternions v and this one
142
+ */
143
+ dot(v: AcGeQuaternion): number;
144
+ /**
145
+ * Compute the squared Euclidean length (straight-line length) of this quaternion, considered as a
146
+ * 4 dimensional vector. This can be useful if you are comparing the lengths of two quaternions, as
147
+ * this is a slightly more efficient calculation than length().
148
+ * @returns Return the squared Euclidean length (straight-line length) of this quaternion
149
+ */
150
+ lengthSq(): number;
151
+ /**
152
+ * Compute the Euclidean length (straight-line length) of this quaternion, considered as a 4 dimensional
153
+ * vector.
154
+ * @returns Return the Euclidean length (straight-line length) of this quaternion.
155
+ */
156
+ length(): number;
157
+ /**
158
+ * Normalize this quaternion - that is, calculated the quaternion that performs the same rotation as
159
+ * this one, but has length equal to 1.
160
+ * @returns Return this quaternion
161
+ */
162
+ normalize(): this;
163
+ /**
164
+ * Multiply this quaternion by q.
165
+ * @param q Input one quaternion to multiply
166
+ * @returns Return this quaternion
167
+ */
168
+ multiply(q: AcGeQuaternion): this;
169
+ /**
170
+ * Pre-multiply this quaternion by q.
171
+ * @param q Input one quaternion
172
+ * @returns Return this quaternion
173
+ */
174
+ premultiply(q: AcGeQuaternion): this;
175
+ /**
176
+ * Sets this quaternion to a x b.
177
+ * @param a Input one quaternion
178
+ * @param b Input one quaternion
179
+ * @returns Return this quaternion
180
+ */
181
+ multiplyQuaternions(a: AcGeQuaternion, b: AcGeQuaternion): this;
182
+ /**
183
+ * Handles the spherical linear interpolation between quaternions. t represents the amount of rotation
184
+ * between this quaternion (where t is 0) and qb (where t is 1).
185
+ * @param qb Input the other quaternion rotation
186
+ * @param t Input interpolation factor in the closed interval [0, 1].
187
+ * @returns Return this quaternion
188
+ */
189
+ slerp(qb: AcGeQuaternion, t: number): this;
190
+ /**
191
+ * Perform a spherical linear interpolation between the given quaternions and stores the result in
192
+ * this quaternion.
193
+ * @param qa Input one quaternion rotation
194
+ * @param qb Input the other quaternion rotation
195
+ * @param t Input interpolation factor in the closed interval [0, 1].
196
+ * @returns Return this quaternion
197
+ */
198
+ slerpQuaternions(qa: AcGeQuaternion, qb: AcGeQuaternion, t: number): this;
199
+ /**
200
+ * Set this quaternion to a uniformly random, normalized quaternion.
201
+ * @returns Return this quaternion
202
+ */
203
+ random(): this;
204
+ /**
205
+ * Compare the x, y, z and w properties of v to the equivalent properties of this quaternion to
206
+ * determine if they represent the same rotation.
207
+ * @param quaternion Input quaternion that this quaternion will be compared to.
208
+ * @returns Return true if the specified quaternion and this quaternion represent the same rotation.
209
+ */
210
+ equals(quaternion: AcGeQuaternion): boolean;
211
+ /**
212
+ * Set this quaternion's x, y, z and w properties from an array.
213
+ * @param array Input an array of format (x, y, z, w) used to construct the quaternion.
214
+ * @param offset Input an optional offset into the array
215
+ * @returns Return this quaternion
216
+ */
217
+ fromArray(array: number[], offset?: number): this;
218
+ /**
219
+ * Return the numerical elements of this quaternion in an array of format [x, y, z, w].
220
+ * @param array Input an optional array to store the quaternion. If not specified, a new array will be created.
221
+ * @param offset (optional) if specified, the result will be copied into this Array.
222
+ * @returns Return an array
223
+ */
224
+ toArray(array?: number[], offset?: number): number[];
225
+ toJSON(): number[];
226
+ _onChange(callback: () => void): this;
227
+ _onChangeCallback(): void;
228
+ [Symbol.iterator](): Generator<number, void, unknown>;
229
+ }
230
+ //# sourceMappingURL=AcGeQuaternion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcGeQuaternion.d.ts","sourceRoot":"","sources":["../../src/math/AcGeQuaternion.ts"],"names":[],"mappings":"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"}