@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":"AcGeQuaternion.js","sourceRoot":"","sources":["../../src/math/AcGeQuaternion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { AcGeVector2d } from './AcGeVector2d';
2
+ import { AcGeVector3d } from './AcGeVector3d';
3
+ export type AcGeVector = AcGeVector2d | AcGeVector3d;
4
+ export type AcGeVectorLike = {
5
+ x: number;
6
+ y: number;
7
+ z?: number;
8
+ };
9
+ //# sourceMappingURL=AcGeVector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcGeVector.d.ts","sourceRoot":"","sources":["../../src/math/AcGeVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,YAAY,CAAA;AACpD,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,CAAC,EAAE,MAAM,CAAA;CACX,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=AcGeVector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcGeVector.js","sourceRoot":"","sources":["../../src/math/AcGeVector.ts"],"names":[],"mappings":""}
@@ -0,0 +1,361 @@
1
+ import { AcGeMatrix2d } from './AcGeMatrix2d';
2
+ import { AcGePoint2dLike } from './AcGePoint2d';
3
+ /**
4
+ * The interface representing a 2d vector.
5
+ */
6
+ export interface AcGeVector2dLike {
7
+ /**
8
+ * X coordinate of a 2d vector
9
+ */
10
+ x: number;
11
+ /**
12
+ * Y coordinate of a 2d vector
13
+ */
14
+ y: number;
15
+ }
16
+ /**
17
+ * The class representing a 2d vector.
18
+ */
19
+ export declare class AcGeVector2d {
20
+ static EMPTY: Readonly<AcGeVector2d>;
21
+ /**
22
+ * X coordinate of a vector
23
+ */
24
+ x: number;
25
+ /**
26
+ * Y coordinate of a vector
27
+ */
28
+ y: number;
29
+ constructor();
30
+ constructor(x: number, y: number);
31
+ constructor(other: AcGeVector2dLike);
32
+ constructor(other: [number, number]);
33
+ /**
34
+ * Alias for x.
35
+ */
36
+ get width(): number;
37
+ set width(value: number);
38
+ /**
39
+ * Alias for y.
40
+ */
41
+ get height(): number;
42
+ set height(value: number);
43
+ /**
44
+ * Sets the x and y components of this vector.
45
+ * @param x Input x component of this vector
46
+ * @param y Input y component of this vector
47
+ * @returns Return this vector
48
+ */
49
+ set(x: number, y: number): this;
50
+ /**
51
+ * Set the x and y values of this vector both equal to scalar.
52
+ * @param scalar Input one scalar value
53
+ * @returns Return this vector
54
+ */
55
+ setScalar(scalar: number): this;
56
+ /**
57
+ * Replace this vector's x value with x.
58
+ * @param x Input new value of x component of this vector
59
+ * @returns Return this vector
60
+ */
61
+ setX(x: number): this;
62
+ /**
63
+ * Replace this vector's y value with y.
64
+ * @param y Input new value of y component of this vector
65
+ * @returns Return this vector
66
+ */
67
+ setY(y: number): this;
68
+ /**
69
+ * If index equals 0 set x to value.
70
+ * If index equals 1 set y to value
71
+ * @param index 0 or 1.
72
+ * @param value Input one number
73
+ * @returns Return this vector
74
+ */
75
+ setComponent(index: number, value: number): this;
76
+ /**
77
+ * If index equals 0 returns the x value.
78
+ * If index equals 1 returns the y value.
79
+ * @param index 0 or 1.
80
+ * @returns Return this matrix
81
+ */
82
+ getComponent(index: number): number;
83
+ /**
84
+ * Return a new 2d vector with the same x and y values as this one.
85
+ * @returns Return the cloned vector
86
+ */
87
+ clone(): AcGeVector2d;
88
+ /**
89
+ * Copy the values of the passed vector's x and y properties to this vector.
90
+ * @param v Input one 2d vector
91
+ * @returns Return this vector
92
+ */
93
+ copy(v: AcGeVector2dLike): this;
94
+ /**
95
+ * Add v to this vector.
96
+ * @param v Input one 2d vector
97
+ * @returns Return this vector
98
+ */
99
+ add(v: AcGeVector2dLike): this;
100
+ /**
101
+ * Add the scalar value s to this vector's x and y values.
102
+ * @param s Input one scalar value
103
+ * @returns Return this vector
104
+ */
105
+ addScalar(s: number): this;
106
+ /**
107
+ * Set this vector to a + b.
108
+ * @param a Input one 2d vector
109
+ * @param b Input one 2d vector
110
+ * @returns Return this vector
111
+ */
112
+ addVectors(a: AcGeVector2d, b: AcGeVector2d): this;
113
+ /**
114
+ * Add the multiple of v and s to this vector.
115
+ * @param v Input one 2d vector
116
+ * @param s Input one scalar value
117
+ * @returns Return this vector
118
+ */
119
+ addScaledVector(v: AcGeVector2d, s: number): this;
120
+ /**
121
+ * Subtract v from this vector.
122
+ * @param v Input one 2d vector
123
+ * @returns Return this vector
124
+ */
125
+ sub(v: AcGeVector2dLike): this;
126
+ /**
127
+ * Subtract s from this vector's x and y components.
128
+ * @param s Input one scalar value
129
+ * @returns Return this vector
130
+ */
131
+ subScalar(s: number): this;
132
+ /**
133
+ * Sets this vector to a - b.
134
+ * @param a Input one 2d vector
135
+ * @param b Input one 2d vector
136
+ * @returns Return this vector
137
+ */
138
+ subVectors(a: AcGeVector2dLike, b: AcGeVector2dLike): this;
139
+ /**
140
+ * Multiply this vector by v.
141
+ * @param v Input one 2d vector
142
+ * @returns Return this vector
143
+ */
144
+ multiply(v: AcGeVector2dLike): this;
145
+ /**
146
+ * Multiply this vector by scalar s.
147
+ * @param scalar Input one scalar value
148
+ * @returns Return this vector
149
+ */
150
+ multiplyScalar(scalar: number): this;
151
+ /**
152
+ * Divide this vector by v.
153
+ * @param v Input one 2d vector
154
+ * @returns Return this vector
155
+ */
156
+ divide(v: AcGeVector2d): this;
157
+ /**
158
+ * Divide this vector by scalar s.
159
+ * @param scalar Input one scalar value
160
+ * @returns Return this vector
161
+ */
162
+ divideScalar(scalar: number): this;
163
+ /**
164
+ * Multiply this vector (with an implicit 1 as the 3rd component) by m.
165
+ * @param m Input one 3x3 matrix
166
+ * @returns Return this vector
167
+ */
168
+ applyMatrix2d(m: AcGeMatrix2d): this;
169
+ /**
170
+ * If this vector's x or y value is greater than v's x or y value, replace that value with the
171
+ * corresponding min value.
172
+ * @param v Input one 2d vector
173
+ * @returns Return this vector
174
+ */
175
+ min(v: AcGeVector2dLike): this;
176
+ /**
177
+ * If this vector's x or y value is less than v's x or y value, replace that value with the
178
+ * corresponding max value.
179
+ * @param v Input one 2d vector
180
+ * @returns Return this vector
181
+ */
182
+ max(v: AcGeVector2dLike): this;
183
+ /**
184
+ * If this vector's x or y value is greater than the max vector's x or y value, it is replaced
185
+ * by the corresponding value.
186
+ * If this vector's x or y value is less than the min vector's x or y value, it is replaced by
187
+ * the corresponding value.
188
+ * @param min Input the minimum x and y values
189
+ * @param max Input the maximum x and y values in the desired range
190
+ * @returns
191
+ */
192
+ clamp(min: AcGeVector2dLike, max: AcGeVector2dLike): this;
193
+ /**
194
+ * If this vector's x or y values are greater than the max value, they are replaced by the max value.
195
+ * If this vector's x or y values are less than the min value, they are replaced by the min value.
196
+ * @param minVal Input the minimum value the components will be clamped to
197
+ * @param maxVal Input the maximum value the length will be clamped to
198
+ * @returns Return this vector
199
+ */
200
+ clampScalar(minVal: number, maxVal: number): this;
201
+ /**
202
+ * If this vector's length is greater than the max value, it is replaced by the max value.
203
+ * If this vector's length is less than the min value, it is replaced by the min value.
204
+ * @param min Input the minimum value the length will be clamped to
205
+ * @param max Input the maximum value the length will be clamped to
206
+ * @returns Return this vector
207
+ */
208
+ clampLength(min: number, max: number): this;
209
+ /**
210
+ * The components of this vector are rounded down to the nearest integer value.
211
+ * @returns Return this vector
212
+ */
213
+ floor(): this;
214
+ /**
215
+ * The x and y components of this vector are rounded up to the nearest integer value.
216
+ * @returns Return this vector
217
+ */
218
+ ceil(): this;
219
+ /**
220
+ * The components of this vector are rounded to the nearest integer value.
221
+ * @returns Return this vector
222
+ */
223
+ round(): this;
224
+ /**
225
+ * The components of this vector are rounded towards zero (up if negative, down if positive) to
226
+ * an integer value.
227
+ * @returns Return this vector
228
+ */
229
+ roundToZero(): this;
230
+ /**
231
+ * Invert this vector - i.e. sets x = -x and y = -y.
232
+ * @returns Return this vector
233
+ */
234
+ negate(): this;
235
+ /**
236
+ * Calculate the dot product of this vector and v.
237
+ * @param v Input one 2d vector
238
+ * @returns Return the dot product of this vector and v.
239
+ */
240
+ dot(v: AcGeVector2d): number;
241
+ /**
242
+ * Calculate the cross product of this vector and v. Note that a 'cross-product' in 2D is not
243
+ * well-defined. This function computes a geometric cross-product often used in 2D graphics.
244
+ * @param v Input one 2d vector
245
+ * @returns Return the cross product of this vector and v.
246
+ */
247
+ cross(v: AcGeVector2d): number;
248
+ /**
249
+ * Compute the square of the Euclidean length (straight-line length) from (0, 0) to (x, y).
250
+ * If you are comparing the lengths of vectors, you should compare the length squared instead
251
+ * as it is slightly more efficient to calculate.
252
+ * @returns Return the square of the Euclidean length (straight-line length) from (0, 0) to (x, y)
253
+ */
254
+ lengthSq(): number;
255
+ /**
256
+ * Compute the Euclidean length (straight-line length) from (0, 0) to (x, y).
257
+ * @returns Return the Euclidean length (straight-line length) from (0, 0) to (x, y).
258
+ */
259
+ length(): number;
260
+ /**
261
+ * Compute the Manhattan length of this vector.
262
+ * @returns Return the Manhattan length of this vector。
263
+ */
264
+ manhattanLength(): number;
265
+ /**
266
+ * Converts this vector to a unit vector - that is, sets it equal to a vector with the same
267
+ * direction as this one, but length 1.
268
+ * @returns Return this vector
269
+ */
270
+ normalize(): this;
271
+ /**
272
+ * Compute the angle in radians of this vector with respect to the positive x-axis.
273
+ * @returns Return the angle in radians of this vector with respect to the positive x-axis.
274
+ */
275
+ angle(): number;
276
+ /**
277
+ * Return the angle between this vector and vector v in radians.
278
+ * @param v Input one 2d vector
279
+ * @returns Return the angle between this vector and vector v in radians.
280
+ */
281
+ angleTo(v: AcGeVector2d): number;
282
+ /**
283
+ * Compute the distance from this vector to v.
284
+ * @param v Input one 2d vector
285
+ * @returns Return the distance from this vector to v.
286
+ */
287
+ distanceTo(v: AcGeVector2dLike): number;
288
+ /**
289
+ * Compute the squared distance from this vector to v. If you are just comparing the distance with
290
+ * another distance, you should compare the distance squared instead as it is slightly more efficient
291
+ * to calculate.
292
+ * @param v Input one 2d vector
293
+ * @returns Return the squared distance from this vector to v.
294
+ */
295
+ distanceToSquared(v: AcGeVector2dLike): number;
296
+ /**
297
+ * Compute the Manhattan distance from this vector to v.
298
+ * @param v Input one 2d vector
299
+ * @returns Return the Manhattan distance from this vector to v.
300
+ */
301
+ manhattanDistanceTo(v: AcGeVector2d): number;
302
+ /**
303
+ * Sets this vector to a vector with the same direction as this one, but length l.
304
+ * @param len Input one sclar value
305
+ * @returns Return this vector
306
+ */
307
+ setLength(len: number): this;
308
+ /**
309
+ * Linearly interpolates between this vector and v, where alpha is the percent distance along the
310
+ * line - alpha = 0 will be this vector, and alpha = 1 will be v.
311
+ * @param v Input 2d vector to interpolate towards.
312
+ * @param alpha Input interpolation factor, typically in the closed interval [0, 1].
313
+ * @returns Return this vector
314
+ */
315
+ lerp(v: AcGeVector2d, alpha: number): this;
316
+ /**
317
+ * Sets this vector to be the vector linearly interpolated between v1 and v2 where alpha is the
318
+ * percent distance along the line connecting the two vectors - alpha = 0 will be v1, and
319
+ * alpha = 1 will be v2.
320
+ * @param v1 Input the starting vector.
321
+ * @param v2 Input vector to interpolate towards.
322
+ * @param alpha Input interpolation factor, typically in the closed interval [0, 1].
323
+ * @returns
324
+ */
325
+ lerpVectors(v1: AcGeVector2d, v2: AcGeVector2d, alpha: number): this;
326
+ /**
327
+ * Return true if the components of this vector and v are strictly equal; false otherwise.
328
+ * @param v Input one 2d vector to compare
329
+ * @returns Return true if the components of this vector and v are strictly equal; false otherwise.
330
+ */
331
+ equals(v: AcGeVector2d): boolean;
332
+ /**
333
+ * Set this vector's x value to be array[ offset ] and y value to be array[ offset + 1 ].
334
+ * @param array Input the source array.
335
+ * @param offset Input (optional) offset into the array. Default is 0.
336
+ * @returns Return this vector
337
+ */
338
+ fromArray(array: number[], offset?: number): this;
339
+ /**
340
+ * Return an array [x, y], or copies x and y into the provided array.
341
+ * @param array Input (optional) array to store this vector to. If this is not provided, a new array will be created.
342
+ * @param offset Input (optional) optional offset into the array.
343
+ * @returns Return an array [x, y], or copies x and y into the provided array.
344
+ */
345
+ toArray(array?: number[], offset?: number): number[];
346
+ /**
347
+ * Rotate this vector around center by angle radians.
348
+ * @param center Input the point around which to rotate.
349
+ * @param angle Input the angle to rotate, in radians.
350
+ * @returns Return this vector
351
+ */
352
+ rotateAround(center: AcGePoint2dLike, angle: number): this;
353
+ /**
354
+ * Set each component of this vector to a pseudo-random value between 0 and 1, excluding 1.
355
+ * @returns Return this vector
356
+ */
357
+ random(): this;
358
+ relativeEps(epsilon?: number): number;
359
+ [Symbol.iterator](): Generator<number, void, unknown>;
360
+ }
361
+ //# sourceMappingURL=AcGeVector2d.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcGeVector2d.d.ts","sourceRoot":"","sources":["../../src/math/AcGeVector2d.ts"],"names":[],"mappings":"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"}