@kitware/vtk.js 28.10.0 → 28.10.2

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.
@@ -2108,6 +2108,67 @@ function getMajorAxisIndex(vector) {
2108
2108
  }
2109
2109
 
2110
2110
  return axisIndex;
2111
+ } // Return the closest orthogonal matrix of 1, -1 and 0
2112
+ // It works for both column major and row major matrices
2113
+ // This function iteratively associate a column with a row by choosing
2114
+ // the greatest absolute value from the remaining row and columns
2115
+ // For each association, a -1 or a 1 is set in the output, depending on
2116
+ // the sign of the value in the original matrix
2117
+
2118
+ function getSparseOrthogonalMatrix(matrix) {
2119
+ var n = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3;
2120
+ // Initialize rows and columns to available indices
2121
+ var rows = new Array(n);
2122
+ var cols = new Array(n);
2123
+
2124
+ for (var i = 0; i < n; ++i) {
2125
+ rows[i] = i;
2126
+ cols[i] = i;
2127
+ } // No need for the last iteration: i = 0
2128
+
2129
+
2130
+ for (var _i7 = n - 1; _i7 > 0; _i7--) {
2131
+ // Loop invariant:
2132
+ // rows[0:i] and cols[0:i] contain the remaining rows and columns
2133
+ // rows]i:n[ and cols]i:n[ contain the associations found (rows[k] is associated with cols[k])
2134
+ var bestValue = -Infinity;
2135
+ var bestRowI = 0;
2136
+ var bestColI = 0;
2137
+
2138
+ for (var rowI = 0; rowI <= _i7; ++rowI) {
2139
+ var row = rows[rowI];
2140
+
2141
+ for (var colI = 0; colI <= _i7; ++colI) {
2142
+ var col = cols[colI];
2143
+ var absVal = Math.abs(matrix[row + n * col]);
2144
+
2145
+ if (absVal > bestValue) {
2146
+ bestValue = absVal;
2147
+ bestRowI = rowI;
2148
+ bestColI = colI;
2149
+ }
2150
+ }
2151
+ } // Found an association between rows[bestRowI] and cols[bestColI]
2152
+ // Put both at the end of their array by swapping with i
2153
+
2154
+
2155
+ var _ref = [rows[bestRowI], rows[_i7]];
2156
+ rows[_i7] = _ref[0];
2157
+ rows[bestRowI] = _ref[1];
2158
+ var _ref2 = [cols[bestColI], cols[_i7]];
2159
+ cols[_i7] = _ref2[0];
2160
+ cols[bestColI] = _ref2[1];
2161
+ } // Convert row/column association to a matrix
2162
+
2163
+
2164
+ var output = new Array(n * n).fill(0);
2165
+
2166
+ for (var _i8 = 0; _i8 < n; ++_i8) {
2167
+ var matIdx = rows[_i8] + n * cols[_i8];
2168
+ output[matIdx] = matrix[matIdx] < 0 ? -1 : 1;
2169
+ }
2170
+
2171
+ return output;
2111
2172
  }
2112
2173
  function floatToHex2(value) {
2113
2174
  var integer = Math.floor(value * 255);
@@ -2245,6 +2306,7 @@ var vtkMath = {
2245
2306
  // JS add-on
2246
2307
  createUninitializedBounds: createUninitializedBounds,
2247
2308
  getMajorAxisIndex: getMajorAxisIndex,
2309
+ getSparseOrthogonalMatrix: getSparseOrthogonalMatrix,
2248
2310
  floatToHex2: floatToHex2,
2249
2311
  floatRGB2HexCode: floatRGB2HexCode,
2250
2312
  float2CssRGBA: float2CssRGBA
@@ -2364,10 +2426,11 @@ var vtkMath$1 = /*#__PURE__*/Object.freeze({
2364
2426
  isNan: isNan,
2365
2427
  createUninitializedBounds: createUninitializedBounds,
2366
2428
  getMajorAxisIndex: getMajorAxisIndex,
2429
+ getSparseOrthogonalMatrix: getSparseOrthogonalMatrix,
2367
2430
  floatToHex2: floatToHex2,
2368
2431
  floatRGB2HexCode: floatRGB2HexCode,
2369
2432
  float2CssRGBA: float2CssRGBA,
2370
2433
  'default': vtkMath
2371
2434
  });
2372
2435
 
2373
- export { factorial as $, degreesFromRadians as A, areEquals as B, clampValue as C, arrayRange as D, getMajorAxisIndex as E, createUninitializedBounds as F, isInf as G, rgb2hsv as H, rgb2lab as I, lab2rgb as J, floor as K, round as L, normalize2D as M, nearestPowerOfTwo as N, multiply3x3_vect3 as O, areBoundsInitialized as P, isPowerOfTwo as Q, angleBetweenVectors as R, signedAngleBetweenVectors as S, createArray as T, Pi as U, ceil as V, min as W, max as X, arrayMin as Y, arrayMax as Z, ceilLog2 as _, areMatricesEqual as a, binomial as a0, beginCombination as a1, nextCombination as a2, randomSeed as a3, getSeed as a4, gaussian as a5, multiplyScalar2D as a6, multiplyAccumulate2D as a7, outer as a8, projectVector as a9, singularValueDecomposition3x3 as aA, luFactorLinearSystem as aB, luSolveLinearSystem as aC, invertMatrix as aD, estimateMatrixCondition as aE, solveHomogeneousLeastSquares as aF, solveLeastSquares as aG, hex2float as aH, lab2xyz as aI, xyz2lab as aJ, xyz2rgb as aK, rgb2xyz as aL, computeBoundsFromPoints as aM, clampAndNormalizeValue as aN, getScalarTypeFittingRange as aO, getAdjustedScalarRange as aP, extentIsWithinOtherExtent as aQ, boundsIsWithinOtherBounds as aR, pointIsWithinBounds as aS, solve3PointCircle as aT, inf as aU, negInf as aV, isFinite as aW, isNaN as aX, floatToHex2 as aY, floatRGB2HexCode as aZ, float2CssRGBA as a_, dot2D as aa, projectVector2D as ab, gaussianAmplitude as ac, gaussianWeight as ad, outer2D as ae, norm2D as af, rowsToMat4 as ag, columnsToMat4 as ah, columnsToMat3 as ai, LUFactor3x3 as aj, LUSolve3x3 as ak, linearSolve3x3 as al, multiply3x3_mat3 as am, multiplyMatrix as an, transpose3x3 as ao, invert3x3 as ap, identity3x3 as aq, identity as ar, isIdentity as as, isIdentity3x3 as at, quaternionToMatrix3x3 as au, roundNumber as av, matrix3x3ToQuaternion as aw, multiplyQuaternion as ax, orthogonalize3x3 as ay, diagonalize3x3 as az, roundVector as b, clampVector as c, dot as d, distance2BetweenPoints as e, vtkMath as f, solveLinearSystem as g, hsv2rgb as h, isNan as i, cross as j, add as k, normalize as l, multiplyAccumulate as m, norm as n, determinant2x2 as o, jacobiN as p, perpendiculars as q, radiansFromDegrees as r, subtract as s, jacobi as t, uninitializeBounds as u, vtkMath$1 as v, multiplyScalar as w, random as x, determinant3x3 as y, rowsToMat3 as z };
2436
+ export { ceilLog2 as $, degreesFromRadians as A, areEquals as B, clampValue as C, arrayRange as D, getMajorAxisIndex as E, createUninitializedBounds as F, isInf as G, rgb2hsv as H, rgb2lab as I, lab2rgb as J, floor as K, round as L, normalize2D as M, nearestPowerOfTwo as N, multiply3x3_vect3 as O, getSparseOrthogonalMatrix as P, areBoundsInitialized as Q, isPowerOfTwo as R, angleBetweenVectors as S, signedAngleBetweenVectors as T, createArray as U, Pi as V, ceil as W, min as X, max as Y, arrayMin as Z, arrayMax as _, areMatricesEqual as a, float2CssRGBA as a$, factorial as a0, binomial as a1, beginCombination as a2, nextCombination as a3, randomSeed as a4, getSeed as a5, gaussian as a6, multiplyScalar2D as a7, multiplyAccumulate2D as a8, outer as a9, diagonalize3x3 as aA, singularValueDecomposition3x3 as aB, luFactorLinearSystem as aC, luSolveLinearSystem as aD, invertMatrix as aE, estimateMatrixCondition as aF, solveHomogeneousLeastSquares as aG, solveLeastSquares as aH, hex2float as aI, lab2xyz as aJ, xyz2lab as aK, xyz2rgb as aL, rgb2xyz as aM, computeBoundsFromPoints as aN, clampAndNormalizeValue as aO, getScalarTypeFittingRange as aP, getAdjustedScalarRange as aQ, extentIsWithinOtherExtent as aR, boundsIsWithinOtherBounds as aS, pointIsWithinBounds as aT, solve3PointCircle as aU, inf as aV, negInf as aW, isFinite as aX, isNaN as aY, floatToHex2 as aZ, floatRGB2HexCode as a_, projectVector as aa, dot2D as ab, projectVector2D as ac, gaussianAmplitude as ad, gaussianWeight as ae, outer2D as af, norm2D as ag, rowsToMat4 as ah, columnsToMat4 as ai, columnsToMat3 as aj, LUFactor3x3 as ak, LUSolve3x3 as al, linearSolve3x3 as am, multiply3x3_mat3 as an, multiplyMatrix as ao, transpose3x3 as ap, invert3x3 as aq, identity3x3 as ar, identity as as, isIdentity as at, isIdentity3x3 as au, quaternionToMatrix3x3 as av, roundNumber as aw, matrix3x3ToQuaternion as ax, multiplyQuaternion as ay, orthogonalize3x3 as az, roundVector as b, clampVector as c, dot as d, distance2BetweenPoints as e, vtkMath as f, solveLinearSystem as g, hsv2rgb as h, isNan as i, cross as j, add as k, normalize as l, multiplyAccumulate as m, norm as n, determinant2x2 as o, jacobiN as p, perpendiculars as q, radiansFromDegrees as r, subtract as s, jacobi as t, uninitializeBounds as u, vtkMath$1 as v, multiplyScalar as w, random as x, determinant3x3 as y, rowsToMat3 as z };
@@ -878,6 +878,19 @@ export function createUninitializedBounds(): Bounds;
878
878
  */
879
879
  export function getMajorAxisIndex(vector: number[]): number;
880
880
 
881
+ /**
882
+ * Return the closest orthogonal matrix of 1, -1 and 0
883
+ * It works for both column major and row major matrices
884
+ * This function iteratively associate a column with a row by choosing
885
+ * the greatest absolute value from the remaining row and columns
886
+ * For each association, a -1 or a 1 is set in the output, depending on
887
+ * the sign of the value in the original matrix
888
+ *
889
+ * @param {Number[]} matrix The matrix of size nxn
890
+ * @param {Number[]} n The size of the square matrix, defaults to 3
891
+ */
892
+ export function getSparseOrthogonalMatrix(matrix: number[], n: number): number[];
893
+
881
894
  /**
882
895
  *
883
896
  * @param {Number} value The value to convert.
@@ -1028,6 +1041,7 @@ export declare const vtkMath: {
1028
1041
  isInf: typeof isInf;
1029
1042
  createUninitializedBounds: typeof createUninitializedBounds;
1030
1043
  getMajorAxisIndex: typeof getMajorAxisIndex;
1044
+ getSparseOrthogonalMatrix: typeof getSparseOrthogonalMatrix;
1031
1045
  floatToHex2: typeof floatToHex2;
1032
1046
  floatRGB2HexCode: typeof floatRGB2HexCode;
1033
1047
  float2CssRGBA: typeof float2CssRGBA;
@@ -3,4 +3,4 @@ import '@babel/runtime/helpers/toConsumableArray';
3
3
  import 'seedrandom';
4
4
  import '../../macros.js';
5
5
  import './Math/Constants.js';
6
- export { aj as LUFactor3x3, ak as LUSolve3x3, U as Pi, k as add, R as angleBetweenVectors, P as areBoundsInitialized, B as areEquals, a as areMatricesEqual, Z as arrayMax, Y as arrayMin, D as arrayRange, a1 as beginCombination, a0 as binomial, aR as boundsIsWithinOtherBounds, V as ceil, _ as ceilLog2, aN as clampAndNormalizeValue, C as clampValue, c as clampVector, ai as columnsToMat3, ah as columnsToMat4, aM as computeBoundsFromPoints, T as createArray, F as createUninitializedBounds, j as cross, f as default, A as degreesFromRadians, o as determinant2x2, y as determinant3x3, az as diagonalize3x3, e as distance2BetweenPoints, d as dot, aa as dot2D, aE as estimateMatrixCondition, aQ as extentIsWithinOtherExtent, $ as factorial, a_ as float2CssRGBA, aZ as floatRGB2HexCode, aY as floatToHex2, K as floor, a5 as gaussian, ac as gaussianAmplitude, ad as gaussianWeight, aP as getAdjustedScalarRange, E as getMajorAxisIndex, aO as getScalarTypeFittingRange, a4 as getSeed, aH as hex2float, h as hsv2rgb, ar as identity, aq as identity3x3, aU as inf, ap as invert3x3, aD as invertMatrix, aW as isFinite, as as isIdentity, at as isIdentity3x3, G as isInf, aX as isNaN, i as isNan, Q as isPowerOfTwo, t as jacobi, p as jacobiN, J as lab2rgb, aI as lab2xyz, al as linearSolve3x3, aB as luFactorLinearSystem, aC as luSolveLinearSystem, aw as matrix3x3ToQuaternion, X as max, W as min, am as multiply3x3_mat3, O as multiply3x3_vect3, m as multiplyAccumulate, a7 as multiplyAccumulate2D, an as multiplyMatrix, ax as multiplyQuaternion, w as multiplyScalar, a6 as multiplyScalar2D, N as nearestPowerOfTwo, aV as negInf, a2 as nextCombination, n as norm, af as norm2D, l as normalize, M as normalize2D, ay as orthogonalize3x3, a8 as outer, ae as outer2D, q as perpendiculars, aS as pointIsWithinBounds, a9 as projectVector, ab as projectVector2D, au as quaternionToMatrix3x3, r as radiansFromDegrees, x as random, a3 as randomSeed, H as rgb2hsv, I as rgb2lab, aL as rgb2xyz, L as round, av as roundNumber, b as roundVector, z as rowsToMat3, ag as rowsToMat4, S as signedAngleBetweenVectors, aA as singularValueDecomposition3x3, aT as solve3PointCircle, aF as solveHomogeneousLeastSquares, aG as solveLeastSquares, g as solveLinearSystem, s as subtract, ao as transpose3x3, u as uninitializeBounds, aJ as xyz2lab, aK as xyz2rgb } from './Math/index.js';
6
+ export { ak as LUFactor3x3, al as LUSolve3x3, V as Pi, k as add, S as angleBetweenVectors, Q as areBoundsInitialized, B as areEquals, a as areMatricesEqual, _ as arrayMax, Z as arrayMin, D as arrayRange, a2 as beginCombination, a1 as binomial, aS as boundsIsWithinOtherBounds, W as ceil, $ as ceilLog2, aO as clampAndNormalizeValue, C as clampValue, c as clampVector, aj as columnsToMat3, ai as columnsToMat4, aN as computeBoundsFromPoints, U as createArray, F as createUninitializedBounds, j as cross, f as default, A as degreesFromRadians, o as determinant2x2, y as determinant3x3, aA as diagonalize3x3, e as distance2BetweenPoints, d as dot, ab as dot2D, aF as estimateMatrixCondition, aR as extentIsWithinOtherExtent, a0 as factorial, a$ as float2CssRGBA, a_ as floatRGB2HexCode, aZ as floatToHex2, K as floor, a6 as gaussian, ad as gaussianAmplitude, ae as gaussianWeight, aQ as getAdjustedScalarRange, E as getMajorAxisIndex, aP as getScalarTypeFittingRange, a5 as getSeed, P as getSparseOrthogonalMatrix, aI as hex2float, h as hsv2rgb, as as identity, ar as identity3x3, aV as inf, aq as invert3x3, aE as invertMatrix, aX as isFinite, at as isIdentity, au as isIdentity3x3, G as isInf, aY as isNaN, i as isNan, R as isPowerOfTwo, t as jacobi, p as jacobiN, J as lab2rgb, aJ as lab2xyz, am as linearSolve3x3, aC as luFactorLinearSystem, aD as luSolveLinearSystem, ax as matrix3x3ToQuaternion, Y as max, X as min, an as multiply3x3_mat3, O as multiply3x3_vect3, m as multiplyAccumulate, a8 as multiplyAccumulate2D, ao as multiplyMatrix, ay as multiplyQuaternion, w as multiplyScalar, a7 as multiplyScalar2D, N as nearestPowerOfTwo, aW as negInf, a3 as nextCombination, n as norm, ag as norm2D, l as normalize, M as normalize2D, az as orthogonalize3x3, a9 as outer, af as outer2D, q as perpendiculars, aT as pointIsWithinBounds, aa as projectVector, ac as projectVector2D, av as quaternionToMatrix3x3, r as radiansFromDegrees, x as random, a4 as randomSeed, H as rgb2hsv, I as rgb2lab, aM as rgb2xyz, L as round, aw as roundNumber, b as roundVector, z as rowsToMat3, ah as rowsToMat4, T as signedAngleBetweenVectors, aB as singularValueDecomposition3x3, aU as solve3PointCircle, aG as solveHomogeneousLeastSquares, aH as solveLeastSquares, g as solveLinearSystem, s as subtract, ap as transpose3x3, u as uninitializeBounds, aK as xyz2lab, aL as xyz2rgb } from './Math/index.js';
@@ -3,7 +3,7 @@ import Constants from './ImageMapper/Constants.js';
3
3
  import macro from '../../macros.js';
4
4
  import vtkAbstractImageMapper from './AbstractImageMapper.js';
5
5
  import { intersectWithLineForPointPicking, intersectWithLineForCellPicking } from './AbstractImageMapper/helper.js';
6
- import { C as clampValue, O as multiply3x3_vect3, F as createUninitializedBounds } from '../../Common/Core/Math/index.js';
6
+ import { C as clampValue, O as multiply3x3_vect3, F as createUninitializedBounds, P as getSparseOrthogonalMatrix } from '../../Common/Core/Math/index.js';
7
7
  import CoincidentTopologyHelper from './Mapper/CoincidentTopologyHelper.js';
8
8
 
9
9
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -11,7 +11,6 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
11
11
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
12
12
  var staticOffsetAPI = CoincidentTopologyHelper.staticOffsetAPI,
13
13
  otherStaticMethods = CoincidentTopologyHelper.otherStaticMethods;
14
- var vtkWarningMacro = macro.vtkWarningMacro;
15
14
  var SlicingMode = Constants.SlicingMode; // ----------------------------------------------------------------------------
16
15
  // vtkImageMapper methods
17
16
  // ----------------------------------------------------------------------------
@@ -164,19 +163,19 @@ function vtkImageMapper(publicAPI, model) {
164
163
  };
165
164
 
166
165
  function computeClosestIJKAxis() {
167
- var inVec3;
166
+ var xyzMode;
168
167
 
169
168
  switch (model.slicingMode) {
170
169
  case SlicingMode.X:
171
- inVec3 = [1, 0, 0];
170
+ xyzMode = 0;
172
171
  break;
173
172
 
174
173
  case SlicingMode.Y:
175
- inVec3 = [0, 1, 0];
174
+ xyzMode = 1;
176
175
  break;
177
176
 
178
177
  case SlicingMode.Z:
179
- inVec3 = [0, 0, 1];
178
+ xyzMode = 2;
180
179
  break;
181
180
 
182
181
  default:
@@ -185,41 +184,23 @@ function vtkImageMapper(publicAPI, model) {
185
184
  flip: false
186
185
  };
187
186
  return;
188
- } // Project vec3 onto direction cosines
187
+ } // The direction matrix in vtkImageData is the indexToWorld rotation matrix
188
+ // with a column-major data layout since it is stored as a WebGL matrix.
189
189
 
190
190
 
191
- var out = [0, 0, 0]; // The direction matrix in vtkImageData is the indexToWorld rotation matrix
192
- // with a column-major data layout since it is stored as a WebGL matrix.
193
- // We need the worldToIndex rotation matrix for the projection, and it needs
194
- // to be in a row-major data layout to use vtkMath for operations.
195
- // To go from the indexToWorld column-major matrix to the worldToIndex
196
- // row-major matrix, we need to transpose it (column -> row) then inverse it.
197
- // However, that 3x3 matrix is a rotation matrix which is orthonormal, meaning
198
- // that its inverse is equal to its transpose. We therefore need to apply two
199
- // transpositions resulting in a no-op.
200
-
201
- var a = publicAPI.getCurrentImage().getDirection();
202
- multiply3x3_vect3(a, inVec3, out);
203
- var maxAbs = 0.0;
204
- var ijkMode = -1;
205
- var flip = false;
206
-
207
- for (var axis = 0; axis < out.length; ++axis) {
208
- var absValue = Math.abs(out[axis]);
209
-
210
- if (absValue > maxAbs) {
211
- maxAbs = absValue;
212
- flip = out[axis] < 0.0;
213
- ijkMode = axis;
214
- }
215
- }
191
+ var direction = publicAPI.getCurrentImage().getDirection();
192
+ var newMatrix = getSparseOrthogonalMatrix(direction); // With {foo}Vector filled with 0s except at {foo}Mode position where it is 1
193
+ // We have xyzVector = (+/-) newMatrix * ijkVector
216
194
 
217
- if (maxAbs !== 1.0) {
218
- var xyzLabel = 'IJKXYZ'[model.slicingMode];
219
- var ijkLabel = 'IJKXYZ'[ijkMode];
220
- vtkWarningMacro("Unaccurate slicing along ".concat(xyzLabel, " axis which ") + "is not aligned with any IJK axis of the image data. " + "Using ".concat(ijkLabel, " axis as a fallback (").concat(maxAbs, "% aligned). ") + "Necessitates slice reformat that is not yet implemented. " + "You can switch the slicing mode on your mapper to do IJK slicing instead.");
195
+ var ijkMode = 0;
196
+
197
+ for (; ijkMode < 3; ++ijkMode) {
198
+ if (newMatrix[xyzMode + 3 * ijkMode] !== 0) {
199
+ break;
200
+ }
221
201
  }
222
202
 
203
+ var flip = newMatrix[xyzMode + 3 * ijkMode] < 0;
223
204
  model.closestIJKAxis = {
224
205
  ijkMode: ijkMode,
225
206
  flip: flip
@@ -128,7 +128,7 @@ function vtkRenderWindowInteractor(publicAPI, model) {
128
128
  return model.currentRenderer;
129
129
  };
130
130
 
131
- function getScreenEventPositionFor(source) {
131
+ function _getScreenEventPositionFor(source) {
132
132
  var canvas = model._view.getCanvas();
133
133
 
134
134
  var bounds = canvas.getBoundingClientRect();
@@ -145,7 +145,10 @@ function vtkRenderWindowInteractor(publicAPI, model) {
145
145
  }
146
146
 
147
147
  return position;
148
- }
148
+ } // Allow user to override it
149
+
150
+
151
+ var getScreenEventPositionFor = model._getScreenEventPositionFor || _getScreenEventPositionFor;
149
152
 
150
153
  function getModifierKeysFor(event) {
151
154
  return {
@@ -2,7 +2,7 @@ import { mat4, vec3 } from 'gl-matrix';
2
2
  import { newInstance as newInstance$1, get, setGet, getArray, setGetArray, moveToProtected, vtkDebugMacro as vtkDebugMacro$1, vtkErrorMacro as vtkErrorMacro$1, vtkWarningMacro as vtkWarningMacro$1 } from '../../macros.js';
3
3
  import vtkCamera from './Camera.js';
4
4
  import vtkLight from './Light.js';
5
- import { P as areBoundsInitialized, u as uninitializeBounds, r as radiansFromDegrees, d as dot, F as createUninitializedBounds } from '../../Common/Core/Math/index.js';
5
+ import { Q as areBoundsInitialized, u as uninitializeBounds, r as radiansFromDegrees, d as dot, F as createUninitializedBounds } from '../../Common/Core/Math/index.js';
6
6
  import vtkViewport from './Viewport.js';
7
7
  import vtkBoundingBox from '../../Common/DataModel/BoundingBox.js';
8
8
 
@@ -4,7 +4,7 @@ import Constants from './Texture/Constants.js';
4
4
  import HalfFloat from '../../Common/Core/HalfFloat.js';
5
5
  import { newInstance as newInstance$1, obj, set, setGet, get, moveToProtected, newTypedArray, vtkDebugMacro as vtkDebugMacro$1, vtkErrorMacro as vtkErrorMacro$1, vtkWarningMacro as vtkWarningMacro$1 } from '../../macros.js';
6
6
  import vtkDataArray from '../../Common/Core/DataArray.js';
7
- import { Q as isPowerOfTwo, N as nearestPowerOfTwo } from '../../Common/Core/Math/index.js';
7
+ import { R as isPowerOfTwo, N as nearestPowerOfTwo } from '../../Common/Core/Math/index.js';
8
8
  import vtkViewNode from '../SceneGraph/ViewNode.js';
9
9
  import { registerOverride } from './ViewNodeFactory.js';
10
10
 
@@ -4,7 +4,7 @@ import vtkAbstractWidgetFactory from '../Core/AbstractWidgetFactory.js';
4
4
  import vtkPlanePointManipulator from '../Manipulators/PlaneManipulator.js';
5
5
  import vtkPolyLineRepresentation from '../Representations/PolyLineRepresentation.js';
6
6
  import vtkSphereHandleRepresentation from '../Representations/SphereHandleRepresentation.js';
7
- import { s as subtract, R as angleBetweenVectors } from '../../Common/Core/Math/index.js';
7
+ import { s as subtract, S as angleBetweenVectors } from '../../Common/Core/Math/index.js';
8
8
  import widgetBehavior from './AngleWidget/behavior.js';
9
9
  import generateState from './AngleWidget/state.js';
10
10
  import { ViewTypes } from '../Core/WidgetManager/Constants.js';
@@ -3,7 +3,7 @@ import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
3
  import macro from '../../../macros.js';
4
4
  import vtkBoundingBox from '../../../Common/DataModel/BoundingBox.js';
5
5
  import vtkLine from '../../../Common/DataModel/Line.js';
6
- import { k as add, l as normalize, s as subtract, d as dot, j as cross, m as multiplyAccumulate, w as multiplyScalar, S as signedAngleBetweenVectors } from '../../../Common/Core/Math/index.js';
6
+ import { k as add, l as normalize, s as subtract, d as dot, j as cross, m as multiplyAccumulate, w as multiplyScalar, T as signedAngleBetweenVectors } from '../../../Common/Core/Math/index.js';
7
7
  import { getLineNames, getOtherLineName, updateState, boundPointOnPlane, getLinePlaneName, getLineInPlaneName, rotateVector } from './helpers.js';
8
8
  import { InteractionMethodsName, ScrollingMethods, planeNameToViewType } from './Constants.js';
9
9
 
@@ -3,7 +3,7 @@ import vtkBoundingBox, { STATIC } from '../../../Common/DataModel/BoundingBox.js
3
3
  import vtkCubeSource from '../../../Filters/Sources/CubeSource.js';
4
4
  import vtkCutter from '../../../Filters/Core/Cutter.js';
5
5
  import vtkPlane from '../../../Common/DataModel/Plane.js';
6
- import { s as subtract, l as normalize, j as cross, w as multiplyScalar, m as multiplyAccumulate, S as signedAngleBetweenVectors } from '../../../Common/Core/Math/index.js';
6
+ import { s as subtract, l as normalize, j as cross, w as multiplyScalar, m as multiplyAccumulate, T as signedAngleBetweenVectors } from '../../../Common/Core/Math/index.js';
7
7
  import vtkMatrixBuilder from '../../../Common/Core/MatrixBuilder.js';
8
8
  import { viewTypeToPlaneName, planeNameToViewType, planeNames } from './Constants.js';
9
9
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kitware/vtk.js",
3
- "version": "28.10.0",
3
+ "version": "28.10.2",
4
4
  "description": "Visualization Toolkit for the Web",
5
5
  "keywords": [
6
6
  "3d",