@mlightcad/geometry-engine 3.0.2 → 3.0.4

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 (159) hide show
  1. package/package.json +3 -3
  2. package/dist/geometry-engine.js +0 -10702
  3. package/dist/geometry-engine.umd.cjs +0 -4
  4. package/lib/geometry/AcGeArea2d.d.ts +0 -61
  5. package/lib/geometry/AcGeArea2d.d.ts.map +0 -1
  6. package/lib/geometry/AcGeArea2d.js +0 -174
  7. package/lib/geometry/AcGeArea2d.js.map +0 -1
  8. package/lib/geometry/AcGeCatmullRomCurve3d.d.ts +0 -146
  9. package/lib/geometry/AcGeCatmullRomCurve3d.d.ts.map +0 -1
  10. package/lib/geometry/AcGeCatmullRomCurve3d.js +0 -358
  11. package/lib/geometry/AcGeCatmullRomCurve3d.js.map +0 -1
  12. package/lib/geometry/AcGeCircArc2d.d.ts +0 -132
  13. package/lib/geometry/AcGeCircArc2d.d.ts.map +0 -1
  14. package/lib/geometry/AcGeCircArc2d.js +0 -473
  15. package/lib/geometry/AcGeCircArc2d.js.map +0 -1
  16. package/lib/geometry/AcGeCircArc3d.d.ts +0 -138
  17. package/lib/geometry/AcGeCircArc3d.d.ts.map +0 -1
  18. package/lib/geometry/AcGeCircArc3d.js +0 -447
  19. package/lib/geometry/AcGeCircArc3d.js.map +0 -1
  20. package/lib/geometry/AcGeCurve2d.d.ts +0 -85
  21. package/lib/geometry/AcGeCurve2d.d.ts.map +0 -1
  22. package/lib/geometry/AcGeCurve2d.js +0 -213
  23. package/lib/geometry/AcGeCurve2d.js.map +0 -1
  24. package/lib/geometry/AcGeCurve3d.d.ts +0 -27
  25. package/lib/geometry/AcGeCurve3d.d.ts.map +0 -1
  26. package/lib/geometry/AcGeCurve3d.js +0 -29
  27. package/lib/geometry/AcGeCurve3d.js.map +0 -1
  28. package/lib/geometry/AcGeEllipseArc2d.d.ts +0 -105
  29. package/lib/geometry/AcGeEllipseArc2d.d.ts.map +0 -1
  30. package/lib/geometry/AcGeEllipseArc2d.js +0 -292
  31. package/lib/geometry/AcGeEllipseArc2d.js.map +0 -1
  32. package/lib/geometry/AcGeEllipseArc3d.d.ts +0 -142
  33. package/lib/geometry/AcGeEllipseArc3d.d.ts.map +0 -1
  34. package/lib/geometry/AcGeEllipseArc3d.js +0 -459
  35. package/lib/geometry/AcGeEllipseArc3d.js.map +0 -1
  36. package/lib/geometry/AcGeLine2d.d.ts +0 -56
  37. package/lib/geometry/AcGeLine2d.d.ts.map +0 -1
  38. package/lib/geometry/AcGeLine2d.js +0 -125
  39. package/lib/geometry/AcGeLine2d.js.map +0 -1
  40. package/lib/geometry/AcGeLine3d.d.ts +0 -134
  41. package/lib/geometry/AcGeLine3d.d.ts.map +0 -1
  42. package/lib/geometry/AcGeLine3d.js +0 -291
  43. package/lib/geometry/AcGeLine3d.js.map +0 -1
  44. package/lib/geometry/AcGeLoop2d.d.ts +0 -59
  45. package/lib/geometry/AcGeLoop2d.d.ts.map +0 -1
  46. package/lib/geometry/AcGeLoop2d.js +0 -141
  47. package/lib/geometry/AcGeLoop2d.js.map +0 -1
  48. package/lib/geometry/AcGeNurbsCurve.d.ts +0 -73
  49. package/lib/geometry/AcGeNurbsCurve.d.ts.map +0 -1
  50. package/lib/geometry/AcGeNurbsCurve.js +0 -172
  51. package/lib/geometry/AcGeNurbsCurve.js.map +0 -1
  52. package/lib/geometry/AcGePolyline2d.d.ts +0 -90
  53. package/lib/geometry/AcGePolyline2d.d.ts.map +0 -1
  54. package/lib/geometry/AcGePolyline2d.js +0 -224
  55. package/lib/geometry/AcGePolyline2d.js.map +0 -1
  56. package/lib/geometry/AcGeShape.d.ts +0 -12
  57. package/lib/geometry/AcGeShape.d.ts.map +0 -1
  58. package/lib/geometry/AcGeShape.js +0 -22
  59. package/lib/geometry/AcGeShape.js.map +0 -1
  60. package/lib/geometry/AcGeShape2d.d.ts +0 -31
  61. package/lib/geometry/AcGeShape2d.d.ts.map +0 -1
  62. package/lib/geometry/AcGeShape2d.js +0 -51
  63. package/lib/geometry/AcGeShape2d.js.map +0 -1
  64. package/lib/geometry/AcGeShape3d.d.ts +0 -33
  65. package/lib/geometry/AcGeShape3d.d.ts.map +0 -1
  66. package/lib/geometry/AcGeShape3d.js +0 -52
  67. package/lib/geometry/AcGeShape3d.js.map +0 -1
  68. package/lib/geometry/AcGeSpline3d.d.ts +0 -99
  69. package/lib/geometry/AcGeSpline3d.d.ts.map +0 -1
  70. package/lib/geometry/AcGeSpline3d.js +0 -350
  71. package/lib/geometry/AcGeSpline3d.js.map +0 -1
  72. package/lib/geometry/index.d.ts +0 -15
  73. package/lib/geometry/index.d.ts.map +0 -1
  74. package/lib/geometry/index.js +0 -15
  75. package/lib/geometry/index.js.map +0 -1
  76. package/lib/index.d.ts +0 -4
  77. package/lib/index.d.ts.map +0 -1
  78. package/lib/index.js +0 -4
  79. package/lib/index.js.map +0 -1
  80. package/lib/math/AcGeBox2d.d.ts +0 -173
  81. package/lib/math/AcGeBox2d.d.ts.map +0 -1
  82. package/lib/math/AcGeBox2d.js +0 -289
  83. package/lib/math/AcGeBox2d.js.map +0 -1
  84. package/lib/math/AcGeBox3d.d.ts +0 -195
  85. package/lib/math/AcGeBox3d.d.ts.map +0 -1
  86. package/lib/math/AcGeBox3d.js +0 -378
  87. package/lib/math/AcGeBox3d.js.map +0 -1
  88. package/lib/math/AcGeEuler.d.ts +0 -133
  89. package/lib/math/AcGeEuler.d.ts.map +0 -1
  90. package/lib/math/AcGeEuler.js +0 -358
  91. package/lib/math/AcGeEuler.js.map +0 -1
  92. package/lib/math/AcGeMatrix2d.d.ts +0 -203
  93. package/lib/math/AcGeMatrix2d.d.ts.map +0 -1
  94. package/lib/math/AcGeMatrix2d.js +0 -393
  95. package/lib/math/AcGeMatrix2d.js.map +0 -1
  96. package/lib/math/AcGeMatrix3d.d.ts +0 -279
  97. package/lib/math/AcGeMatrix3d.d.ts.map +0 -1
  98. package/lib/math/AcGeMatrix3d.js +0 -1037
  99. package/lib/math/AcGeMatrix3d.js.map +0 -1
  100. package/lib/math/AcGePlane.d.ts +0 -131
  101. package/lib/math/AcGePlane.d.ts.map +0 -1
  102. package/lib/math/AcGePlane.js +0 -218
  103. package/lib/math/AcGePlane.js.map +0 -1
  104. package/lib/math/AcGePoint.d.ts +0 -4
  105. package/lib/math/AcGePoint.d.ts.map +0 -1
  106. package/lib/math/AcGePoint.js +0 -2
  107. package/lib/math/AcGePoint.js.map +0 -1
  108. package/lib/math/AcGePoint2d.d.ts +0 -17
  109. package/lib/math/AcGePoint2d.d.ts.map +0 -1
  110. package/lib/math/AcGePoint2d.js +0 -40
  111. package/lib/math/AcGePoint2d.js.map +0 -1
  112. package/lib/math/AcGePoint3d.d.ts +0 -18
  113. package/lib/math/AcGePoint3d.d.ts.map +0 -1
  114. package/lib/math/AcGePoint3d.js +0 -43
  115. package/lib/math/AcGePoint3d.js.map +0 -1
  116. package/lib/math/AcGeQuaternion.d.ts +0 -230
  117. package/lib/math/AcGeQuaternion.d.ts.map +0 -1
  118. package/lib/math/AcGeQuaternion.js +0 -666
  119. package/lib/math/AcGeQuaternion.js.map +0 -1
  120. package/lib/math/AcGeVector.d.ts +0 -9
  121. package/lib/math/AcGeVector.d.ts.map +0 -1
  122. package/lib/math/AcGeVector.js +0 -2
  123. package/lib/math/AcGeVector.js.map +0 -1
  124. package/lib/math/AcGeVector2d.d.ts +0 -361
  125. package/lib/math/AcGeVector2d.d.ts.map +0 -1
  126. package/lib/math/AcGeVector2d.js +0 -622
  127. package/lib/math/AcGeVector2d.js.map +0 -1
  128. package/lib/math/AcGeVector3d.d.ts +0 -493
  129. package/lib/math/AcGeVector3d.d.ts.map +0 -1
  130. package/lib/math/AcGeVector3d.js +0 -868
  131. package/lib/math/AcGeVector3d.js.map +0 -1
  132. package/lib/math/index.d.ts +0 -14
  133. package/lib/math/index.d.ts.map +0 -1
  134. package/lib/math/index.js +0 -14
  135. package/lib/math/index.js.map +0 -1
  136. package/lib/util/AcGeConstants.d.ts +0 -19
  137. package/lib/util/AcGeConstants.d.ts.map +0 -1
  138. package/lib/util/AcGeConstants.js +0 -25
  139. package/lib/util/AcGeConstants.js.map +0 -1
  140. package/lib/util/AcGeGeometryUtil.d.ts +0 -16
  141. package/lib/util/AcGeGeometryUtil.d.ts.map +0 -1
  142. package/lib/util/AcGeGeometryUtil.js +0 -56
  143. package/lib/util/AcGeGeometryUtil.js.map +0 -1
  144. package/lib/util/AcGeMathUtil.d.ts +0 -203
  145. package/lib/util/AcGeMathUtil.d.ts.map +0 -1
  146. package/lib/util/AcGeMathUtil.js +0 -585
  147. package/lib/util/AcGeMathUtil.js.map +0 -1
  148. package/lib/util/AcGeNurbsUtil.d.ts +0 -34
  149. package/lib/util/AcGeNurbsUtil.d.ts.map +0 -1
  150. package/lib/util/AcGeNurbsUtil.js +0 -218
  151. package/lib/util/AcGeNurbsUtil.js.map +0 -1
  152. package/lib/util/AcGeTol.d.ts +0 -91
  153. package/lib/util/AcGeTol.d.ts.map +0 -1
  154. package/lib/util/AcGeTol.js +0 -83
  155. package/lib/util/AcGeTol.js.map +0 -1
  156. package/lib/util/index.d.ts +0 -6
  157. package/lib/util/index.d.ts.map +0 -1
  158. package/lib/util/index.js +0 -6
  159. package/lib/util/index.js.map +0 -1
@@ -1,203 +0,0 @@
1
- import { AcGeMatrix3d } from './AcGeMatrix3d';
2
- import { AcGeVector2d } from './AcGeVector2d';
3
- import { AcGeVector3d } from './AcGeVector3d';
4
- /**
5
- * The class representing a 3x3 matrix.
6
- */
7
- export declare class AcGeMatrix2d {
8
- /**
9
- * Identity matrix.
10
- */
11
- static IDENTITY: Readonly<AcGeMatrix2d>;
12
- /**
13
- * A column-major list of matrix values.
14
- */
15
- elements: number[];
16
- /**
17
- * Create a 3x3 matrix with the given arguments in row-major order. If no arguments are provided,
18
- * the constructor initializes the Matrix3 to the 3x3 identity matrix.
19
- * @param n11 Input element in the first row and the first column
20
- * @param n12 Input element in the first row and the second column
21
- * @param n13 Input element in the first row and the third column
22
- * @param n21 Input element in the second row and the first column
23
- * @param n22 Input element in the second row and the second column
24
- * @param n23 Input element in the second row and the third column
25
- * @param n31 Input element in the third row and the first column
26
- * @param n32 Input element in the third row and the second column
27
- * @param n33 Input element in the third row and the third column
28
- */
29
- constructor(n11?: number, n12?: number, n13?: number, n21?: number, n22?: number, n23?: number, n31?: number, n32?: number, n33?: number);
30
- /**
31
- * Set the 3x3 matrix values to the given row-major sequence of values.
32
- *
33
- * @param n11 Input element in the first row and the first column
34
- * @param n12 Input element in the first row and the second column
35
- * @param n13 Input element in the first row and the third column
36
- * @param n21 Input element in the second row and the first column
37
- * @param n22 Input element in the second row and the second column
38
- * @param n23 Input element in the second row and the third column
39
- * @param n31 Input element in the third row and the first column
40
- * @param n32 Input element in the third row and the second column
41
- * @param n33 Input element in the third row and the third column
42
- * @returns Return this matrix
43
- */
44
- set(n11: number, n12: number, n13: number, n21: number, n22: number, n23: number, n31: number, n32: number, n33: number): this;
45
- /**
46
- * Reset this matrix to the 3x3 identity matrix:
47
- * @returns Return this matrix
48
- */
49
- identity(): this;
50
- /**
51
- * Copy the elements of matrix m into this matrix.
52
- * @param m Input one matrix copied from
53
- * @returns Return this matrix
54
- */
55
- copy(m: AcGeMatrix2d): this;
56
- /**
57
- * Extracts the basis of this matrix into the three axis vectors provided
58
- * @param xAxis Input X axis vector
59
- * @param yAxis Input Y axis vector
60
- * @param zAxis Input Z axis vector
61
- * @returns Return this matrix
62
- */
63
- extractBasis(xAxis: AcGeVector3d, yAxis: AcGeVector3d, zAxis: AcGeVector3d): this;
64
- /**
65
- * Set this matrix to the upper 3x3 matrix of the Matrix4 m.
66
- * @param m Input one 4x4 matrix
67
- * @returns Return this matrix
68
- */
69
- setFromMatrix4(m: AcGeMatrix3d): this;
70
- /**
71
- * Post-multiplies this matrix by m.
72
- * @param m Input one 3x3 matrix
73
- * @returns Return this matrix
74
- */
75
- multiply(m: AcGeMatrix2d): this;
76
- /**
77
- * Pre-multiplies this matrix by m.
78
- * @param m Input one 3x3 matrix
79
- * @returns Return this matrix
80
- */
81
- premultiply(m: AcGeMatrix2d): this;
82
- /**
83
- * Set this matrix to a x b.
84
- * @param a Input one 3x3 matrix
85
- * @param b Input one 3x3 matrix
86
- * @returns Return this matrix
87
- */
88
- multiplyMatrices(a: AcGeMatrix2d, b: AcGeMatrix2d): this;
89
- /**
90
- * Multiply every component of the matrix by the scalar value s.
91
- * @param s Input one scalar value
92
- * @returns Return this matrix
93
- */
94
- multiplyScalar(s: number): this;
95
- /**
96
- * Compute and return the determinant of this matrix.
97
- * @returns Return the determinant of this matrix
98
- */
99
- determinant(): number;
100
- /**
101
- * Invert this matrix, using the analytic method. You can not invert with a determinant of zero.
102
- * If you attempt this, the method produces a zero matrix instead.
103
- * @returns Return this matrix
104
- */
105
- invert(): this;
106
- /**
107
- * Transpose this matrix in place.
108
- * @returns Return this matrix
109
- */
110
- transpose(): this;
111
- /**
112
- * Sets this matrix as the upper left 3x3 of the normal matrix of the passed matrix4. The normal
113
- * matrix is the inverse transpose of the matrix m.
114
- * @param matrix4 Input one 4x4 matrix
115
- * @returns Return this matrix
116
- */
117
- getNormalMatrix(matrix4: AcGeMatrix3d): this;
118
- /**
119
- * Set this matrix as the upper left 3x3 of the normal matrix of the passed matrix4. The normal
120
- * matrix is the inverse transpose of the matrix m.
121
- * @param r Input one 4x4 matrix
122
- * @returns Return this matrix
123
- */
124
- transposeIntoArray(r: AcGeMatrix3d): this;
125
- /**
126
- * Set the UV transform matrix from offset, repeat, rotation, and center.
127
- * @param tx Input offset x
128
- * @param ty Input offset y
129
- * @param sx Input repeat x
130
- * @param sy Input repeat y
131
- * @param rotation Input rotation, in radians. Positive values rotate counterclockwise
132
- * @param cx Input center x of rotation
133
- * @param cy Input center y of rotation
134
- * @returns Return this matrix
135
- */
136
- setUvTransform(tx: number, ty: number, sx: number, sy: number, rotation: number, cx: number, cy: number): this;
137
- /**
138
- * Scale this matrix with the given scalar values.
139
- * @param sx Input one scalar value
140
- * @param sy Input one scalar value
141
- * @returns Return this matrix
142
- */
143
- scale(sx: number, sy: number): this;
144
- /**
145
- * Rotate this matrix by the given angle (in radians).
146
- * @param theta Input one angle in radians
147
- * @returns Return this matrix
148
- */
149
- rotate(theta: number): this;
150
- /**
151
- * Translate this matrix by the given scalar values.
152
- * @param tx Input one scalar value
153
- * @param ty Input one scalar value
154
- * @returns Return this matrix
155
- */
156
- translate(tx: number, ty: number): this;
157
- /**
158
- * Set this matrix as a 2D translation transform:
159
- * @param x Input one 2d vector or one number
160
- * @param y Input one number
161
- * @returns Return this matrix
162
- */
163
- makeTranslation(x: number | AcGeVector2d, y: number): this;
164
- /**
165
- * Set this matrix as a 2D rotational transformation by theta radians
166
- * @param theta Input rotation angle in radians. Positive values rotate counterclockwise.
167
- * @returns Return this matrix
168
- */
169
- makeRotation(theta: number): this;
170
- /**
171
- * Set this matrix as a 2D scale transform
172
- * @param x Input the amount to scale in the X axis.
173
- * @param y Input the amount to scale in the Y axis.
174
- * @returns Return this matrix
175
- */
176
- makeScale(x: number, y: number): this;
177
- /**
178
- * Return true if this matrix and m are equal.
179
- * @param matrix Input one matrix to compare
180
- * @returns Return true if this matrix and m are equal.
181
- */
182
- equals(matrix: AcGeMatrix2d): boolean;
183
- /**
184
- * Set the elements of this matrix based on an array in column-major format.
185
- * @param array Input the array to read the elements from.
186
- * @param offset Input (optional) index of first element in the array. Default is 0.
187
- * @returns Return this matrix
188
- */
189
- fromArray(array: number[], offset?: number): this;
190
- /**
191
- * Write the elements of this matrix to an array in column-major format.
192
- * @param array Input (optional) array to store the resulting vector in. If not given a new array will be created.
193
- * @param offset Input (optional) offset in the array at which to put the result.
194
- * @returns Return this matrix
195
- */
196
- toArray(array?: number[], offset?: number): number[];
197
- /**
198
- * Creates a new 3x3 matrix and with identical elements to this one.
199
- * @returns Return the cloned matrix
200
- */
201
- clone(): AcGeMatrix2d;
202
- }
203
- //# sourceMappingURL=AcGeMatrix2d.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AcGeMatrix2d.d.ts","sourceRoot":"","sources":["../../src/math/AcGeMatrix2d.ts"],"names":[],"mappings":"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"}
@@ -1,393 +0,0 @@
1
- import { AcGeVector2d } from './AcGeVector2d';
2
- /**
3
- * The class representing a 3x3 matrix.
4
- */
5
- var AcGeMatrix2d = /** @class */ (function () {
6
- /**
7
- * Create a 3x3 matrix with the given arguments in row-major order. If no arguments are provided,
8
- * the constructor initializes the Matrix3 to the 3x3 identity matrix.
9
- * @param n11 Input element in the first row and the first column
10
- * @param n12 Input element in the first row and the second column
11
- * @param n13 Input element in the first row and the third column
12
- * @param n21 Input element in the second row and the first column
13
- * @param n22 Input element in the second row and the second column
14
- * @param n23 Input element in the second row and the third column
15
- * @param n31 Input element in the third row and the first column
16
- * @param n32 Input element in the third row and the second column
17
- * @param n33 Input element in the third row and the third column
18
- */
19
- function AcGeMatrix2d(n11, n12, n13, n21, n22, n23, n31, n32, n33) {
20
- this.elements = [1, 0, 0, 0, 1, 0, 0, 0, 1];
21
- if (n11 != null &&
22
- n12 != null &&
23
- n13 != null &&
24
- n21 != null &&
25
- n22 != null &&
26
- n23 != null &&
27
- n31 != null &&
28
- n32 != null &&
29
- n33 != null) {
30
- this.set(n11, n12, n13, n21, n22, n23, n31, n32, n33);
31
- }
32
- }
33
- /**
34
- * Set the 3x3 matrix values to the given row-major sequence of values.
35
- *
36
- * @param n11 Input element in the first row and the first column
37
- * @param n12 Input element in the first row and the second column
38
- * @param n13 Input element in the first row and the third column
39
- * @param n21 Input element in the second row and the first column
40
- * @param n22 Input element in the second row and the second column
41
- * @param n23 Input element in the second row and the third column
42
- * @param n31 Input element in the third row and the first column
43
- * @param n32 Input element in the third row and the second column
44
- * @param n33 Input element in the third row and the third column
45
- * @returns Return this matrix
46
- */
47
- AcGeMatrix2d.prototype.set = function (n11, n12, n13, n21, n22, n23, n31, n32, n33) {
48
- var te = this.elements;
49
- te[0] = n11;
50
- te[1] = n21;
51
- te[2] = n31;
52
- te[3] = n12;
53
- te[4] = n22;
54
- te[5] = n32;
55
- te[6] = n13;
56
- te[7] = n23;
57
- te[8] = n33;
58
- return this;
59
- };
60
- /**
61
- * Reset this matrix to the 3x3 identity matrix:
62
- * @returns Return this matrix
63
- */
64
- AcGeMatrix2d.prototype.identity = function () {
65
- this.set(1, 0, 0, 0, 1, 0, 0, 0, 1);
66
- return this;
67
- };
68
- /**
69
- * Copy the elements of matrix m into this matrix.
70
- * @param m Input one matrix copied from
71
- * @returns Return this matrix
72
- */
73
- AcGeMatrix2d.prototype.copy = function (m) {
74
- var te = this.elements;
75
- var me = m.elements;
76
- te[0] = me[0];
77
- te[1] = me[1];
78
- te[2] = me[2];
79
- te[3] = me[3];
80
- te[4] = me[4];
81
- te[5] = me[5];
82
- te[6] = me[6];
83
- te[7] = me[7];
84
- te[8] = me[8];
85
- return this;
86
- };
87
- /**
88
- * Extracts the basis of this matrix into the three axis vectors provided
89
- * @param xAxis Input X axis vector
90
- * @param yAxis Input Y axis vector
91
- * @param zAxis Input Z axis vector
92
- * @returns Return this matrix
93
- */
94
- AcGeMatrix2d.prototype.extractBasis = function (xAxis, yAxis, zAxis) {
95
- xAxis.setFromMatrix3Column(this, 0);
96
- yAxis.setFromMatrix3Column(this, 1);
97
- zAxis.setFromMatrix3Column(this, 2);
98
- return this;
99
- };
100
- /**
101
- * Set this matrix to the upper 3x3 matrix of the Matrix4 m.
102
- * @param m Input one 4x4 matrix
103
- * @returns Return this matrix
104
- */
105
- AcGeMatrix2d.prototype.setFromMatrix4 = function (m) {
106
- var me = m.elements;
107
- this.set(me[0], me[4], me[8], me[1], me[5], me[9], me[2], me[6], me[10]);
108
- return this;
109
- };
110
- /**
111
- * Post-multiplies this matrix by m.
112
- * @param m Input one 3x3 matrix
113
- * @returns Return this matrix
114
- */
115
- AcGeMatrix2d.prototype.multiply = function (m) {
116
- return this.multiplyMatrices(this, m);
117
- };
118
- /**
119
- * Pre-multiplies this matrix by m.
120
- * @param m Input one 3x3 matrix
121
- * @returns Return this matrix
122
- */
123
- AcGeMatrix2d.prototype.premultiply = function (m) {
124
- return this.multiplyMatrices(m, this);
125
- };
126
- /**
127
- * Set this matrix to a x b.
128
- * @param a Input one 3x3 matrix
129
- * @param b Input one 3x3 matrix
130
- * @returns Return this matrix
131
- */
132
- AcGeMatrix2d.prototype.multiplyMatrices = function (a, b) {
133
- var ae = a.elements;
134
- var be = b.elements;
135
- var te = this.elements;
136
- var a11 = ae[0], a12 = ae[3], a13 = ae[6];
137
- var a21 = ae[1], a22 = ae[4], a23 = ae[7];
138
- var a31 = ae[2], a32 = ae[5], a33 = ae[8];
139
- var b11 = be[0], b12 = be[3], b13 = be[6];
140
- var b21 = be[1], b22 = be[4], b23 = be[7];
141
- var b31 = be[2], b32 = be[5], b33 = be[8];
142
- te[0] = a11 * b11 + a12 * b21 + a13 * b31;
143
- te[3] = a11 * b12 + a12 * b22 + a13 * b32;
144
- te[6] = a11 * b13 + a12 * b23 + a13 * b33;
145
- te[1] = a21 * b11 + a22 * b21 + a23 * b31;
146
- te[4] = a21 * b12 + a22 * b22 + a23 * b32;
147
- te[7] = a21 * b13 + a22 * b23 + a23 * b33;
148
- te[2] = a31 * b11 + a32 * b21 + a33 * b31;
149
- te[5] = a31 * b12 + a32 * b22 + a33 * b32;
150
- te[8] = a31 * b13 + a32 * b23 + a33 * b33;
151
- return this;
152
- };
153
- /**
154
- * Multiply every component of the matrix by the scalar value s.
155
- * @param s Input one scalar value
156
- * @returns Return this matrix
157
- */
158
- AcGeMatrix2d.prototype.multiplyScalar = function (s) {
159
- var te = this.elements;
160
- te[0] *= s;
161
- te[3] *= s;
162
- te[6] *= s;
163
- te[1] *= s;
164
- te[4] *= s;
165
- te[7] *= s;
166
- te[2] *= s;
167
- te[5] *= s;
168
- te[8] *= s;
169
- return this;
170
- };
171
- /**
172
- * Compute and return the determinant of this matrix.
173
- * @returns Return the determinant of this matrix
174
- */
175
- AcGeMatrix2d.prototype.determinant = function () {
176
- var te = this.elements;
177
- var a = te[0], b = te[1], c = te[2], d = te[3], e = te[4], f = te[5], g = te[6], h = te[7], i = te[8];
178
- return a * e * i - a * f * h - b * d * i + b * f * g + c * d * h - c * e * g;
179
- };
180
- /**
181
- * Invert this matrix, using the analytic method. You can not invert with a determinant of zero.
182
- * If you attempt this, the method produces a zero matrix instead.
183
- * @returns Return this matrix
184
- */
185
- AcGeMatrix2d.prototype.invert = function () {
186
- var te = this.elements, n11 = te[0], n21 = te[1], n31 = te[2], n12 = te[3], n22 = te[4], n32 = te[5], n13 = te[6], n23 = te[7], n33 = te[8], t11 = n33 * n22 - n32 * n23, t12 = n32 * n13 - n33 * n12, t13 = n23 * n12 - n22 * n13, det = n11 * t11 + n21 * t12 + n31 * t13;
187
- if (det === 0)
188
- return this.set(0, 0, 0, 0, 0, 0, 0, 0, 0);
189
- var detInv = 1 / det;
190
- te[0] = t11 * detInv;
191
- te[1] = (n31 * n23 - n33 * n21) * detInv;
192
- te[2] = (n32 * n21 - n31 * n22) * detInv;
193
- te[3] = t12 * detInv;
194
- te[4] = (n33 * n11 - n31 * n13) * detInv;
195
- te[5] = (n31 * n12 - n32 * n11) * detInv;
196
- te[6] = t13 * detInv;
197
- te[7] = (n21 * n13 - n23 * n11) * detInv;
198
- te[8] = (n22 * n11 - n21 * n12) * detInv;
199
- return this;
200
- };
201
- /**
202
- * Transpose this matrix in place.
203
- * @returns Return this matrix
204
- */
205
- AcGeMatrix2d.prototype.transpose = function () {
206
- var tmp;
207
- var m = this.elements;
208
- tmp = m[1];
209
- m[1] = m[3];
210
- m[3] = tmp;
211
- tmp = m[2];
212
- m[2] = m[6];
213
- m[6] = tmp;
214
- tmp = m[5];
215
- m[5] = m[7];
216
- m[7] = tmp;
217
- return this;
218
- };
219
- /**
220
- * Sets this matrix as the upper left 3x3 of the normal matrix of the passed matrix4. The normal
221
- * matrix is the inverse transpose of the matrix m.
222
- * @param matrix4 Input one 4x4 matrix
223
- * @returns Return this matrix
224
- */
225
- AcGeMatrix2d.prototype.getNormalMatrix = function (matrix4) {
226
- return this.setFromMatrix4(matrix4).invert().transpose();
227
- };
228
- /**
229
- * Set this matrix as the upper left 3x3 of the normal matrix of the passed matrix4. The normal
230
- * matrix is the inverse transpose of the matrix m.
231
- * @param r Input one 4x4 matrix
232
- * @returns Return this matrix
233
- */
234
- AcGeMatrix2d.prototype.transposeIntoArray = function (r) {
235
- var m = this.elements;
236
- r.elements[0] = m[0];
237
- r.elements[1] = m[3];
238
- r.elements[2] = m[6];
239
- r.elements[3] = m[1];
240
- r.elements[4] = m[4];
241
- r.elements[5] = m[7];
242
- r.elements[6] = m[2];
243
- r.elements[7] = m[5];
244
- r.elements[8] = m[8];
245
- return this;
246
- };
247
- /**
248
- * Set the UV transform matrix from offset, repeat, rotation, and center.
249
- * @param tx Input offset x
250
- * @param ty Input offset y
251
- * @param sx Input repeat x
252
- * @param sy Input repeat y
253
- * @param rotation Input rotation, in radians. Positive values rotate counterclockwise
254
- * @param cx Input center x of rotation
255
- * @param cy Input center y of rotation
256
- * @returns Return this matrix
257
- */
258
- AcGeMatrix2d.prototype.setUvTransform = function (tx, ty, sx, sy, rotation, cx, cy) {
259
- var c = Math.cos(rotation);
260
- var s = Math.sin(rotation);
261
- this.set(sx * c, sx * s, -sx * (c * cx + s * cy) + cx + tx, -sy * s, sy * c, -sy * (-s * cx + c * cy) + cy + ty, 0, 0, 1);
262
- return this;
263
- };
264
- /**
265
- * Scale this matrix with the given scalar values.
266
- * @param sx Input one scalar value
267
- * @param sy Input one scalar value
268
- * @returns Return this matrix
269
- */
270
- AcGeMatrix2d.prototype.scale = function (sx, sy) {
271
- this.premultiply(_m3.makeScale(sx, sy));
272
- return this;
273
- };
274
- /**
275
- * Rotate this matrix by the given angle (in radians).
276
- * @param theta Input one angle in radians
277
- * @returns Return this matrix
278
- */
279
- AcGeMatrix2d.prototype.rotate = function (theta) {
280
- this.premultiply(_m3.makeRotation(-theta));
281
- return this;
282
- };
283
- /**
284
- * Translate this matrix by the given scalar values.
285
- * @param tx Input one scalar value
286
- * @param ty Input one scalar value
287
- * @returns Return this matrix
288
- */
289
- AcGeMatrix2d.prototype.translate = function (tx, ty) {
290
- this.premultiply(_m3.makeTranslation(tx, ty));
291
- return this;
292
- };
293
- /**
294
- * Set this matrix as a 2D translation transform:
295
- * @param x Input one 2d vector or one number
296
- * @param y Input one number
297
- * @returns Return this matrix
298
- */
299
- AcGeMatrix2d.prototype.makeTranslation = function (x, y) {
300
- if (x instanceof AcGeVector2d) {
301
- this.set(1, 0, x.x, 0, 1, x.y, 0, 0, 1);
302
- }
303
- else {
304
- this.set(1, 0, x, 0, 1, y, 0, 0, 1);
305
- }
306
- return this;
307
- };
308
- /**
309
- * Set this matrix as a 2D rotational transformation by theta radians
310
- * @param theta Input rotation angle in radians. Positive values rotate counterclockwise.
311
- * @returns Return this matrix
312
- */
313
- AcGeMatrix2d.prototype.makeRotation = function (theta) {
314
- // counterclockwise
315
- var c = Math.cos(theta);
316
- var s = Math.sin(theta);
317
- this.set(c, -s, 0, s, c, 0, 0, 0, 1);
318
- return this;
319
- };
320
- /**
321
- * Set this matrix as a 2D scale transform
322
- * @param x Input the amount to scale in the X axis.
323
- * @param y Input the amount to scale in the Y axis.
324
- * @returns Return this matrix
325
- */
326
- AcGeMatrix2d.prototype.makeScale = function (x, y) {
327
- this.set(x, 0, 0, 0, y, 0, 0, 0, 1);
328
- return this;
329
- };
330
- /**
331
- * Return true if this matrix and m are equal.
332
- * @param matrix Input one matrix to compare
333
- * @returns Return true if this matrix and m are equal.
334
- */
335
- AcGeMatrix2d.prototype.equals = function (matrix) {
336
- var te = this.elements;
337
- var me = matrix.elements;
338
- for (var i = 0; i < 9; i++) {
339
- if (te[i] !== me[i])
340
- return false;
341
- }
342
- return true;
343
- };
344
- /**
345
- * Set the elements of this matrix based on an array in column-major format.
346
- * @param array Input the array to read the elements from.
347
- * @param offset Input (optional) index of first element in the array. Default is 0.
348
- * @returns Return this matrix
349
- */
350
- AcGeMatrix2d.prototype.fromArray = function (array, offset) {
351
- if (offset === void 0) { offset = 0; }
352
- for (var i = 0; i < 9; i++) {
353
- this.elements[i] = array[i + offset];
354
- }
355
- return this;
356
- };
357
- /**
358
- * Write the elements of this matrix to an array in column-major format.
359
- * @param array Input (optional) array to store the resulting vector in. If not given a new array will be created.
360
- * @param offset Input (optional) offset in the array at which to put the result.
361
- * @returns Return this matrix
362
- */
363
- AcGeMatrix2d.prototype.toArray = function (array, offset) {
364
- if (array === void 0) { array = []; }
365
- if (offset === void 0) { offset = 0; }
366
- var te = this.elements;
367
- array[offset] = te[0];
368
- array[offset + 1] = te[1];
369
- array[offset + 2] = te[2];
370
- array[offset + 3] = te[3];
371
- array[offset + 4] = te[4];
372
- array[offset + 5] = te[5];
373
- array[offset + 6] = te[6];
374
- array[offset + 7] = te[7];
375
- array[offset + 8] = te[8];
376
- return array;
377
- };
378
- /**
379
- * Creates a new 3x3 matrix and with identical elements to this one.
380
- * @returns Return the cloned matrix
381
- */
382
- AcGeMatrix2d.prototype.clone = function () {
383
- return new AcGeMatrix2d().fromArray(this.elements);
384
- };
385
- /**
386
- * Identity matrix.
387
- */
388
- AcGeMatrix2d.IDENTITY = Object.freeze(new AcGeMatrix2d());
389
- return AcGeMatrix2d;
390
- }());
391
- export { AcGeMatrix2d };
392
- var _m3 = /*@__PURE__*/ new AcGeMatrix2d();
393
- //# sourceMappingURL=AcGeMatrix2d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AcGeMatrix2d.js","sourceRoot":"","sources":["../../src/math/AcGeMatrix2d.ts"],"names":[],"mappings":"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"}