@kitware/vtk.js 33.0.2 → 33.1.1

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 (61) hide show
  1. package/Common/Core/Base64.d.ts +1 -0
  2. package/Common/Core/URLExtract.d.ts +6 -0
  3. package/IO/Core/DataAccessHelper/HtmlDataAccessHelper.d.ts +1 -0
  4. package/IO/Core/DataAccessHelper/HttpDataAccessHelper.d.ts +1 -0
  5. package/IO/Core/DataAccessHelper/JSZipDataAccessHelper.d.ts +1 -0
  6. package/IO/Core/DataAccessHelper/LiteHttpDataAccessHelper.d.ts +1 -0
  7. package/IO/Core/DataAccessHelper.d.ts +4 -4
  8. package/IO/Core/HttpDataSetReader.d.ts +4 -4
  9. package/IO/Geometry/DracoReader.d.ts +4 -4
  10. package/IO/Geometry/GLTFImporter.d.ts +8 -8
  11. package/IO/Geometry/IFCImporter.d.ts +5 -5
  12. package/IO/Geometry/PLYReader.d.ts +4 -4
  13. package/IO/Geometry/STLReader.d.ts +4 -4
  14. package/IO/Geometry/STLReader.js +20 -20
  15. package/IO/Image/HDRReader.d.ts +4 -4
  16. package/IO/Image/TGAReader.d.ts +4 -4
  17. package/IO/Image/TIFFReader.d.ts +4 -4
  18. package/IO/Misc/ElevationReader.d.ts +4 -4
  19. package/IO/Misc/GCodeReader.d.ts +4 -4
  20. package/IO/Misc/JSONNucleoReader.d.ts +4 -4
  21. package/IO/Misc/MTLReader.d.ts +5 -5
  22. package/IO/Misc/OBJReader.d.ts +4 -4
  23. package/IO/Misc/PDBReader.d.ts +4 -4
  24. package/IO/XML/XMLReader.d.ts +4 -4
  25. package/Interaction/Manipulators/CompositeCameraManipulator.d.ts +2 -2
  26. package/Interaction/Manipulators/CompositeVRManipulator.d.ts +2 -2
  27. package/Interaction/Manipulators/MouseCameraTrackballFirstPersonManipulator.js +3 -45
  28. package/Interaction/Style/InteractorStyleManipulator.d.ts +4 -3
  29. package/Interaction/Style/InteractorStyleManipulator.js +15 -8
  30. package/Proxy/Core/AbstractRepresentationProxy.d.ts +5 -4
  31. package/Proxy/Core/ProxyManager.d.ts +5 -5
  32. package/Proxy/Core/SourceProxy.d.ts +2 -1
  33. package/Proxy/Core/View2DProxy.d.ts +3 -2
  34. package/Proxy/Core/ViewProxy.d.ts +11 -10
  35. package/Proxy/Representations/GeometryRepresentationProxy.d.ts +3 -2
  36. package/Proxy/Representations/ResliceRepresentationProxy.d.ts +5 -4
  37. package/Proxy/Representations/SliceRepresentationProxy.d.ts +3 -2
  38. package/Proxy/Representations/VolumeRepresentationProxy.d.ts +4 -3
  39. package/Rendering/Core/AbstractImageMapper.d.ts +3 -2
  40. package/Rendering/Core/ColorTransferFunction.d.ts +24 -0
  41. package/Rendering/Core/ImageArrayMapper.d.ts +7 -5
  42. package/Rendering/Core/ImageCPRMapper.d.ts +8 -6
  43. package/Rendering/Core/ImageMapper.d.ts +8 -5
  44. package/Rendering/Core/ImageResliceMapper.d.ts +6 -4
  45. package/Rendering/Core/InteractorObserver.d.ts +4 -3
  46. package/Rendering/Core/InteractorStyle.d.ts +2 -2
  47. package/Rendering/Core/Mapper/CoincidentTopologyHelper.d.ts +4 -1
  48. package/Rendering/Core/Mapper.d.ts +5 -3
  49. package/Rendering/Core/Mapper.js +7 -3
  50. package/Rendering/Core/RenderWindowInteractor/Constants.d.ts +7 -0
  51. package/Rendering/Core/RenderWindowInteractor/Constants.js +8 -2
  52. package/Rendering/Core/RenderWindowInteractor.d.ts +2 -1
  53. package/Rendering/Core/RenderWindowInteractor.js +3 -1
  54. package/Rendering/Core/VolumeMapper.d.ts +3 -2
  55. package/Rendering/Misc/SynchronizableRenderWindow/ObjectManager.d.ts +2 -1
  56. package/Rendering/WebGPU/PolyDataMapper.js +5 -1
  57. package/Widgets/Core/AbstractWidget.d.ts +5 -6
  58. package/Widgets/Widgets3D/ResliceCursorWidget/behavior.d.ts +5 -2
  59. package/Widgets/Widgets3D/ResliceCursorWidget.d.ts +7 -7
  60. package/package.json +3 -1
  61. package/tsconfig.json +7 -0
@@ -21,4 +21,5 @@ interface Base64 {
21
21
  fromArrayBuffer: typeof fromArrayBuffer;
22
22
  }
23
23
 
24
+ declare const Base64: Base64;
24
25
  export default Base64;
@@ -13,3 +13,9 @@ export function extractURLParameters(
13
13
  * @param {String} str The type value as string.
14
14
  */
15
15
  export function toNativeType(str: string): void;
16
+
17
+ declare const _default: {
18
+ toNativeType: typeof toNativeType;
19
+ extractURLParameters: typeof extractURLParameters;
20
+ };
21
+ export default _default;
@@ -19,4 +19,5 @@ export interface HtmlDataAccessHelper {
19
19
  ): Promise<HTMLImageElement>;
20
20
  }
21
21
 
22
+ declare const HtmlDataAccessHelper: HtmlDataAccessHelper;
22
23
  export default HtmlDataAccessHelper;
@@ -19,4 +19,5 @@ export interface HttpDataAccessHelper {
19
19
  ): Promise<HTMLImageElement>;
20
20
  }
21
21
 
22
+ declare const HttpDataAccessHelper: HttpDataAccessHelper;
22
23
  export default HttpDataAccessHelper;
@@ -23,4 +23,5 @@ export interface JSZipDataAccessHelper {
23
23
  create(createOptions: object): IJSZipDataAccessHelper;
24
24
  }
25
25
 
26
+ declare const JSZipDataAccessHelper: JSZipDataAccessHelper;
26
27
  export default JSZipDataAccessHelper;
@@ -19,4 +19,5 @@ export interface LiteHttpDataAccessHelper {
19
19
  ): Promise<HTMLImageElement>;
20
20
  }
21
21
 
22
+ declare const LiteHttpDataAccessHelper: LiteHttpDataAccessHelper;
22
23
  export default LiteHttpDataAccessHelper;
@@ -1,7 +1,7 @@
1
- import HtmlDataAccessHelper from './DataAccessHelper/HtmlDataAccessHelper';
2
- import HttpDataAccessHelper from './DataAccessHelper/HttpDataAccessHelper';
3
- import JSZipDataAccessHelper from './DataAccessHelper/JSZipDataAccessHelper';
4
- import LiteHttpDataAccessHelper from './DataAccessHelper/LiteHttpDataAccessHelper';
1
+ import { HtmlDataAccessHelper } from './DataAccessHelper/HtmlDataAccessHelper';
2
+ import { HttpDataAccessHelper } from './DataAccessHelper/HttpDataAccessHelper';
3
+ import { JSZipDataAccessHelper } from './DataAccessHelper/JSZipDataAccessHelper';
4
+ import { LiteHttpDataAccessHelper } from './DataAccessHelper/LiteHttpDataAccessHelper';
5
5
 
6
6
  export function has(type: string): boolean;
7
7
  export function get(
@@ -1,8 +1,8 @@
1
1
  import { vtkAlgorithm, vtkObject, vtkSubscription } from './../../interfaces';
2
- import HtmlDataAccessHelper from './DataAccessHelper/HtmlDataAccessHelper';
3
- import HttpDataAccessHelper from './DataAccessHelper/HttpDataAccessHelper';
4
- import JSZipDataAccessHelper from './DataAccessHelper/JSZipDataAccessHelper';
5
- import LiteHttpDataAccessHelper from './DataAccessHelper/LiteHttpDataAccessHelper';
2
+ import { HtmlDataAccessHelper } from './DataAccessHelper/HtmlDataAccessHelper';
3
+ import { HttpDataAccessHelper } from './DataAccessHelper/HttpDataAccessHelper';
4
+ import { JSZipDataAccessHelper } from './DataAccessHelper/JSZipDataAccessHelper';
5
+ import { LiteHttpDataAccessHelper } from './DataAccessHelper/LiteHttpDataAccessHelper';
6
6
 
7
7
  /**
8
8
  *
@@ -1,8 +1,8 @@
1
1
  import { vtkAlgorithm, vtkObject } from './../../interfaces';
2
- import HtmlDataAccessHelper from './../Core/DataAccessHelper/HtmlDataAccessHelper';
3
- import HttpDataAccessHelper from './../Core/DataAccessHelper/HttpDataAccessHelper';
4
- import JSZipDataAccessHelper from './../Core/DataAccessHelper/JSZipDataAccessHelper';
5
- import LiteHttpDataAccessHelper from './../Core/DataAccessHelper/LiteHttpDataAccessHelper';
2
+ import { HtmlDataAccessHelper } from './../Core/DataAccessHelper/HtmlDataAccessHelper';
3
+ import { HttpDataAccessHelper } from './../Core/DataAccessHelper/HttpDataAccessHelper';
4
+ import { JSZipDataAccessHelper } from './../Core/DataAccessHelper/JSZipDataAccessHelper';
5
+ import { LiteHttpDataAccessHelper } from './../Core/DataAccessHelper/LiteHttpDataAccessHelper';
6
6
 
7
7
  interface IDracoReaderOptions {
8
8
  binary?: boolean;
@@ -1,12 +1,12 @@
1
1
  import { vtkAlgorithm, vtkObject } from './../../interfaces';
2
- import HtmlDataAccessHelper from './../Core/DataAccessHelper/HtmlDataAccessHelper';
3
- import HttpDataAccessHelper from './../Core/DataAccessHelper/HttpDataAccessHelper';
4
- import JSZipDataAccessHelper from './../Core/DataAccessHelper/JSZipDataAccessHelper';
5
- import LiteHttpDataAccessHelper from './../Core/DataAccessHelper/LiteHttpDataAccessHelper';
6
-
7
- import vtkActor from './../../Rendering/Core/Actor';
8
- import vtkRenderer from './../../Rendering/Core/Renderer';
9
- import vtkCamera from './../../Rendering/Core/Camera';
2
+ import { HtmlDataAccessHelper } from './../Core/DataAccessHelper/HtmlDataAccessHelper';
3
+ import { HttpDataAccessHelper } from './../Core/DataAccessHelper/HttpDataAccessHelper';
4
+ import { JSZipDataAccessHelper } from './../Core/DataAccessHelper/JSZipDataAccessHelper';
5
+ import { LiteHttpDataAccessHelper } from './../Core/DataAccessHelper/LiteHttpDataAccessHelper';
6
+
7
+ import { vtkActor } from './../../Rendering/Core/Actor';
8
+ import { vtkRenderer } from './../../Rendering/Core/Renderer';
9
+ import { vtkCamera } from './../../Rendering/Core/Camera';
10
10
 
11
11
  interface IGLTFImporterOptions {
12
12
  binary?: boolean;
@@ -1,9 +1,9 @@
1
1
  import { vtkAlgorithm, vtkObject } from './../../interfaces';
2
- import vtkRenderer from './../../Rendering/Core/Renderer';
3
- import HtmlDataAccessHelper from './../Core/DataAccessHelper/HtmlDataAccessHelper';
4
- import HttpDataAccessHelper from './../Core/DataAccessHelper/HttpDataAccessHelper';
5
- import JSZipDataAccessHelper from './../Core/DataAccessHelper/JSZipDataAccessHelper';
6
- import LiteHttpDataAccessHelper from './../Core/DataAccessHelper/LiteHttpDataAccessHelper';
2
+ import { vtkRenderer } from './../../Rendering/Core/Renderer';
3
+ import { HtmlDataAccessHelper } from './../Core/DataAccessHelper/HtmlDataAccessHelper';
4
+ import { HttpDataAccessHelper } from './../Core/DataAccessHelper/HttpDataAccessHelper';
5
+ import { JSZipDataAccessHelper } from './../Core/DataAccessHelper/JSZipDataAccessHelper';
6
+ import { LiteHttpDataAccessHelper } from './../Core/DataAccessHelper/LiteHttpDataAccessHelper';
7
7
 
8
8
  interface IIFCImporterOptions {
9
9
  compression?: string;
@@ -1,8 +1,8 @@
1
1
  import { vtkAlgorithm, vtkObject } from './../../interfaces';
2
- import HtmlDataAccessHelper from './../Core/DataAccessHelper/HtmlDataAccessHelper';
3
- import HttpDataAccessHelper from './../Core/DataAccessHelper/HttpDataAccessHelper';
4
- import JSZipDataAccessHelper from './../Core/DataAccessHelper/JSZipDataAccessHelper';
5
- import LiteHttpDataAccessHelper from './../Core/DataAccessHelper/LiteHttpDataAccessHelper';
2
+ import { HtmlDataAccessHelper } from './../Core/DataAccessHelper/HtmlDataAccessHelper';
3
+ import { HttpDataAccessHelper } from './../Core/DataAccessHelper/HttpDataAccessHelper';
4
+ import { JSZipDataAccessHelper } from './../Core/DataAccessHelper/JSZipDataAccessHelper';
5
+ import { LiteHttpDataAccessHelper } from './../Core/DataAccessHelper/LiteHttpDataAccessHelper';
6
6
 
7
7
  interface IPLYReaderOptions {
8
8
  binary?: boolean;
@@ -1,8 +1,8 @@
1
1
  import { vtkAlgorithm, vtkObject } from './../../interfaces';
2
- import HtmlDataAccessHelper from './../Core/DataAccessHelper/HtmlDataAccessHelper';
3
- import HttpDataAccessHelper from './../Core/DataAccessHelper/HttpDataAccessHelper';
4
- import JSZipDataAccessHelper from './../Core/DataAccessHelper/JSZipDataAccessHelper';
5
- import LiteHttpDataAccessHelper from './../Core/DataAccessHelper/LiteHttpDataAccessHelper';
2
+ import { HtmlDataAccessHelper } from './../Core/DataAccessHelper/HtmlDataAccessHelper';
3
+ import { HttpDataAccessHelper } from './../Core/DataAccessHelper/HttpDataAccessHelper';
4
+ import { JSZipDataAccessHelper } from './../Core/DataAccessHelper/JSZipDataAccessHelper';
5
+ import { LiteHttpDataAccessHelper } from './../Core/DataAccessHelper/LiteHttpDataAccessHelper';
6
6
 
7
7
  interface ISTLReaderOptions {
8
8
  binary?: boolean;
@@ -129,27 +129,27 @@ function vtkSTLReader(publicAPI, model) {
129
129
  vInc++;
130
130
  }
131
131
  }
132
- const outVerts = new Float32Array(vMap.size * 3);
133
- const keys = Array.from(vMap.keys());
134
- for (let i = 0; i < keys.length; i++) {
135
- const k = keys[i];
136
- const j = vMap.get(k) * 3;
137
- const coords = k.split(',').map(e => +e * 10 ** -tolerance);
138
- outVerts[j] = coords[0];
139
- outVerts[j + 1] = coords[1];
140
- outVerts[j + 2] = coords[2];
141
- }
142
- const outFaces = new Int32Array(faces);
143
- for (let i = 0; i < faces.length; i += 4) {
144
- outFaces[i] = 3;
145
- outFaces[i + 1] = vIndexMap.get(faces[i + 1]);
146
- outFaces[i + 2] = vIndexMap.get(faces[i + 2]);
147
- outFaces[i + 3] = vIndexMap.get(faces[i + 3]);
148
- }
149
- polydata.getPoints().setData(outVerts);
150
- polydata.getPolys().setData(outFaces);
151
132
  if (pointsChanged) {
152
- publicAPI.modified();
133
+ const outVerts = new Float32Array(vMap.size * 3);
134
+ const keys = Array.from(vMap.keys());
135
+ for (let i = 0; i < keys.length; i++) {
136
+ const k = keys[i];
137
+ const j = vMap.get(k) * 3;
138
+ const coords = k.split(',').map(e => +e * 10 ** -tolerance);
139
+ outVerts[j] = coords[0];
140
+ outVerts[j + 1] = coords[1];
141
+ outVerts[j + 2] = coords[2];
142
+ }
143
+ const outFaces = new Int32Array(faces.length);
144
+ for (let i = 0; i < faces.length; i += 4) {
145
+ outFaces[i] = 3;
146
+ outFaces[i + 1] = vIndexMap.get(faces[i + 1]);
147
+ outFaces[i + 2] = vIndexMap.get(faces[i + 2]);
148
+ outFaces[i + 3] = vIndexMap.get(faces[i + 3]);
149
+ }
150
+ polydata.getPoints().setData(outVerts);
151
+ polydata.getPolys().setData(outFaces);
152
+ polydata.modified();
153
153
  }
154
154
  }
155
155
 
@@ -1,8 +1,8 @@
1
1
  import { vtkAlgorithm, vtkObject } from './../../interfaces';
2
- import HtmlDataAccessHelper from './../Core/DataAccessHelper/HtmlDataAccessHelper';
3
- import HttpDataAccessHelper from './../Core/DataAccessHelper/HttpDataAccessHelper';
4
- import JSZipDataAccessHelper from './../Core/DataAccessHelper/JSZipDataAccessHelper';
5
- import LiteHttpDataAccessHelper from './../Core/DataAccessHelper/LiteHttpDataAccessHelper';
2
+ import { HtmlDataAccessHelper } from './../Core/DataAccessHelper/HtmlDataAccessHelper';
3
+ import { HttpDataAccessHelper } from './../Core/DataAccessHelper/HttpDataAccessHelper';
4
+ import { JSZipDataAccessHelper } from './../Core/DataAccessHelper/JSZipDataAccessHelper';
5
+ import { LiteHttpDataAccessHelper } from './../Core/DataAccessHelper/LiteHttpDataAccessHelper';
6
6
 
7
7
  interface IHDRReaderOptions {
8
8
  compression?: string;
@@ -1,8 +1,8 @@
1
1
  import { vtkAlgorithm, vtkObject } from './../../interfaces';
2
- import HtmlDataAccessHelper from './../Core/DataAccessHelper/HtmlDataAccessHelper';
3
- import HttpDataAccessHelper from './../Core/DataAccessHelper/HttpDataAccessHelper';
4
- import JSZipDataAccessHelper from './../Core/DataAccessHelper/JSZipDataAccessHelper';
5
- import LiteHttpDataAccessHelper from './../Core/DataAccessHelper/LiteHttpDataAccessHelper';
2
+ import { HtmlDataAccessHelper } from './../Core/DataAccessHelper/HtmlDataAccessHelper';
3
+ import { HttpDataAccessHelper } from './../Core/DataAccessHelper/HttpDataAccessHelper';
4
+ import { JSZipDataAccessHelper } from './../Core/DataAccessHelper/JSZipDataAccessHelper';
5
+ import { LiteHttpDataAccessHelper } from './../Core/DataAccessHelper/LiteHttpDataAccessHelper';
6
6
 
7
7
  interface ITGAReaderOptions {
8
8
  compression?: string;
@@ -1,8 +1,8 @@
1
1
  import { vtkAlgorithm, vtkObject } from './../../interfaces';
2
- import HtmlDataAccessHelper from './../Core/DataAccessHelper/HtmlDataAccessHelper';
3
- import HttpDataAccessHelper from './../Core/DataAccessHelper/HttpDataAccessHelper';
4
- import JSZipDataAccessHelper from './../Core/DataAccessHelper/JSZipDataAccessHelper';
5
- import LiteHttpDataAccessHelper from './../Core/DataAccessHelper/LiteHttpDataAccessHelper';
2
+ import { HtmlDataAccessHelper } from './../Core/DataAccessHelper/HtmlDataAccessHelper';
3
+ import { HttpDataAccessHelper } from './../Core/DataAccessHelper/HttpDataAccessHelper';
4
+ import { JSZipDataAccessHelper } from './../Core/DataAccessHelper/JSZipDataAccessHelper';
5
+ import { LiteHttpDataAccessHelper } from './../Core/DataAccessHelper/LiteHttpDataAccessHelper';
6
6
 
7
7
  interface ITIFFReaderOptions {
8
8
  compression?: string;
@@ -1,8 +1,8 @@
1
1
  import { vtkAlgorithm, vtkObject, vtkSubscription } from './../../interfaces';
2
- import HtmlDataAccessHelper from './../Core/DataAccessHelper/HtmlDataAccessHelper';
3
- import HttpDataAccessHelper from './../Core/DataAccessHelper/HttpDataAccessHelper';
4
- import JSZipDataAccessHelper from './../Core/DataAccessHelper/JSZipDataAccessHelper';
5
- import LiteHttpDataAccessHelper from './../Core/DataAccessHelper/LiteHttpDataAccessHelper';
2
+ import { HtmlDataAccessHelper } from './../Core/DataAccessHelper/HtmlDataAccessHelper';
3
+ import { HttpDataAccessHelper } from './../Core/DataAccessHelper/HttpDataAccessHelper';
4
+ import { JSZipDataAccessHelper } from './../Core/DataAccessHelper/JSZipDataAccessHelper';
5
+ import { LiteHttpDataAccessHelper } from './../Core/DataAccessHelper/LiteHttpDataAccessHelper';
6
6
 
7
7
  interface IElevationReaderOptions {
8
8
  binary?: boolean;
@@ -1,8 +1,8 @@
1
1
  import { vtkAlgorithm, vtkObject } from './../../interfaces';
2
- import HtmlDataAccessHelper from './../Core/DataAccessHelper/HtmlDataAccessHelper';
3
- import HttpDataAccessHelper from './../Core/DataAccessHelper/HttpDataAccessHelper';
4
- import JSZipDataAccessHelper from './../Core/DataAccessHelper/JSZipDataAccessHelper';
5
- import LiteHttpDataAccessHelper from './../Core/DataAccessHelper/LiteHttpDataAccessHelper';
2
+ import { HtmlDataAccessHelper } from './../Core/DataAccessHelper/HtmlDataAccessHelper';
3
+ import { HttpDataAccessHelper } from './../Core/DataAccessHelper/HttpDataAccessHelper';
4
+ import { JSZipDataAccessHelper } from './../Core/DataAccessHelper/JSZipDataAccessHelper';
5
+ import { LiteHttpDataAccessHelper } from './../Core/DataAccessHelper/LiteHttpDataAccessHelper';
6
6
 
7
7
  interface IGCodeReaderOptions {
8
8
  binary?: boolean;
@@ -1,8 +1,8 @@
1
1
  import { vtkAlgorithm, vtkObject } from './../../interfaces';
2
- import HtmlDataAccessHelper from './../Core/DataAccessHelper/HtmlDataAccessHelper';
3
- import HttpDataAccessHelper from './../Core/DataAccessHelper/HttpDataAccessHelper';
4
- import JSZipDataAccessHelper from './../Core/DataAccessHelper/JSZipDataAccessHelper';
5
- import LiteHttpDataAccessHelper from './../Core/DataAccessHelper/LiteHttpDataAccessHelper';
2
+ import { HtmlDataAccessHelper } from './../Core/DataAccessHelper/HtmlDataAccessHelper';
3
+ import { HttpDataAccessHelper } from './../Core/DataAccessHelper/HttpDataAccessHelper';
4
+ import { JSZipDataAccessHelper } from './../Core/DataAccessHelper/JSZipDataAccessHelper';
5
+ import { LiteHttpDataAccessHelper } from './../Core/DataAccessHelper/LiteHttpDataAccessHelper';
6
6
 
7
7
  interface IJSONNucleoReaderOptions {
8
8
  binary?: boolean;
@@ -1,10 +1,10 @@
1
1
  import { vtkObject, vtkSubscription } from './../../interfaces';
2
2
 
3
- import vtkActor from './../../Rendering/Core/Actor';
4
- import HtmlDataAccessHelper from './../Core/DataAccessHelper/HtmlDataAccessHelper';
5
- import HttpDataAccessHelper from './../Core/DataAccessHelper/HttpDataAccessHelper';
6
- import JSZipDataAccessHelper from './../Core/DataAccessHelper/JSZipDataAccessHelper';
7
- import LiteHttpDataAccessHelper from './../Core/DataAccessHelper/LiteHttpDataAccessHelper';
3
+ import { vtkActor } from './../../Rendering/Core/Actor';
4
+ import { HtmlDataAccessHelper } from './../Core/DataAccessHelper/HtmlDataAccessHelper';
5
+ import { HttpDataAccessHelper } from './../Core/DataAccessHelper/HttpDataAccessHelper';
6
+ import { JSZipDataAccessHelper } from './../Core/DataAccessHelper/JSZipDataAccessHelper';
7
+ import { LiteHttpDataAccessHelper } from './../Core/DataAccessHelper/LiteHttpDataAccessHelper';
8
8
 
9
9
  interface IMTLReaderOptions {
10
10
  binary?: boolean;
@@ -1,8 +1,8 @@
1
1
  import { vtkAlgorithm, vtkObject, vtkSubscription } from './../../interfaces';
2
- import HtmlDataAccessHelper from './../Core/DataAccessHelper/HtmlDataAccessHelper';
3
- import HttpDataAccessHelper from './../Core/DataAccessHelper/HttpDataAccessHelper';
4
- import JSZipDataAccessHelper from './../Core/DataAccessHelper/JSZipDataAccessHelper';
5
- import LiteHttpDataAccessHelper from './../Core/DataAccessHelper/LiteHttpDataAccessHelper';
2
+ import { HtmlDataAccessHelper } from './../Core/DataAccessHelper/HtmlDataAccessHelper';
3
+ import { HttpDataAccessHelper } from './../Core/DataAccessHelper/HttpDataAccessHelper';
4
+ import { JSZipDataAccessHelper } from './../Core/DataAccessHelper/JSZipDataAccessHelper';
5
+ import { LiteHttpDataAccessHelper } from './../Core/DataAccessHelper/LiteHttpDataAccessHelper';
6
6
 
7
7
  interface IOBJReaderOptions {
8
8
  binary?: boolean;
@@ -1,8 +1,8 @@
1
1
  import { vtkAlgorithm, vtkObject, vtkSubscription } from './../../interfaces';
2
- import HtmlDataAccessHelper from './../Core/DataAccessHelper/HtmlDataAccessHelper';
3
- import HttpDataAccessHelper from './../Core/DataAccessHelper/HttpDataAccessHelper';
4
- import JSZipDataAccessHelper from './../Core/DataAccessHelper/JSZipDataAccessHelper';
5
- import LiteHttpDataAccessHelper from './../Core/DataAccessHelper/LiteHttpDataAccessHelper';
2
+ import { HtmlDataAccessHelper } from './../Core/DataAccessHelper/HtmlDataAccessHelper';
3
+ import { HttpDataAccessHelper } from './../Core/DataAccessHelper/HttpDataAccessHelper';
4
+ import { JSZipDataAccessHelper } from './../Core/DataAccessHelper/JSZipDataAccessHelper';
5
+ import { LiteHttpDataAccessHelper } from './../Core/DataAccessHelper/LiteHttpDataAccessHelper';
6
6
 
7
7
  interface IPDBReaderOptions {
8
8
  binary?: boolean;
@@ -1,8 +1,8 @@
1
1
  import { vtkAlgorithm, vtkObject } from './../../interfaces';
2
- import HtmlDataAccessHelper from './../Core/DataAccessHelper/HtmlDataAccessHelper';
3
- import HttpDataAccessHelper from './../Core/DataAccessHelper/HttpDataAccessHelper';
4
- import JSZipDataAccessHelper from './../Core/DataAccessHelper/JSZipDataAccessHelper';
5
- import LiteHttpDataAccessHelper from './../Core/DataAccessHelper/LiteHttpDataAccessHelper';
2
+ import { HtmlDataAccessHelper } from './../Core/DataAccessHelper/HtmlDataAccessHelper';
3
+ import { HttpDataAccessHelper } from './../Core/DataAccessHelper/HttpDataAccessHelper';
4
+ import { JSZipDataAccessHelper } from './../Core/DataAccessHelper/JSZipDataAccessHelper';
5
+ import { LiteHttpDataAccessHelper } from './../Core/DataAccessHelper/LiteHttpDataAccessHelper';
6
6
 
7
7
  interface IXMLReaderOptions {
8
8
  binary?: boolean;
@@ -1,5 +1,5 @@
1
- import vtkInteractorObserver from './../../Rendering/Core/InteractorObserver';
2
- import vtkRenderer from './../../Rendering/Core/Renderer';
1
+ import { vtkInteractorObserver } from './../../Rendering/Core/InteractorObserver';
2
+ import { vtkRenderer } from './../../Rendering/Core/Renderer';
3
3
  import { Vector2, Vector3 } from './../../types';
4
4
 
5
5
  export interface vtkCompositeCameraManipulator {
@@ -1,6 +1,6 @@
1
1
  import { States } from './../../Rendering/Core/InteractorStyle/Constants';
2
- import vtkRenderer from './../../Rendering/Core/Renderer';
3
- import vtkInteractorObserver from './../../Rendering/Core/InteractorObserver';
2
+ import { vtkRenderer } from './../../Rendering/Core/Renderer';
3
+ import { vtkInteractorObserver } from './../../Rendering/Core/InteractorObserver';
4
4
  import {
5
5
  Device,
6
6
  Input,
@@ -13,77 +13,35 @@ function vtkMouseCameraTrackballFirstPersonManipulator(publicAPI, model) {
13
13
  model.classHierarchy.push('vtkMouseCameraTrackballFirstPersonManipulator');
14
14
  const internal = {
15
15
  interactor: null,
16
- renderer: null,
17
- previousPosition: null
16
+ renderer: null
18
17
  };
19
18
 
20
19
  //--------------------------------------------------------------------------
21
20
 
22
21
  publicAPI.onButtonDown = (interactor, renderer, position) => {
23
- internal.previousPosition = position;
24
22
  if (model.usePointerLock && !interactor.isPointerLocked()) {
25
23
  Object.assign(internal, {
26
24
  interactor,
27
25
  renderer
28
26
  });
29
27
  interactor.requestPointerLock();
30
- publicAPI.startPointerLockInteraction();
31
28
  }
32
29
  };
33
30
 
34
31
  //--------------------------------------------------------------------------
35
32
 
36
- publicAPI.startPointerLockInteraction = () => {
37
- const {
38
- interactor
39
- } = internal;
40
-
41
- // TODO: at some point, this should perhaps be done in
42
- // RenderWindowInteractor instead of here.
43
- // We need to hook into mousemove directly for two reasons:
44
- // 1. We need to keep receiving mouse move events after the mouse button
45
- // is released. This is currently not possible with
46
- // vtkInteractorStyleManipulator.
47
- // 2. Since the mouse is stationary in pointer lock mode, we need the
48
- // event.movementX and event.movementY info, which are not currently
49
- // passed via interactor.onMouseMove.
50
- document.addEventListener('mousemove', publicAPI.onPointerLockMove);
51
- let subscription = null;
52
- const endInteraction = () => {
53
- document.removeEventListener('mousemove', publicAPI.onPointerLockMove);
54
- subscription.unsubscribe();
55
- };
56
- subscription = interactor.onEndPointerLock(endInteraction);
57
- };
58
-
59
- //--------------------------------------------------------------------------
60
-
61
- publicAPI.onPointerLockMove = e => {
62
- const sensitivity = model.sensitivity;
63
- const yaw = -1 * e.movementX * sensitivity;
64
- const pitch = -1 * e.movementY * sensitivity;
65
- publicAPI.moveCamera(yaw, pitch);
66
- };
67
-
68
- //--------------------------------------------------------------------------
69
-
70
33
  publicAPI.onMouseMove = (interactor, renderer, position) => {
71
- // This is currently only being called for non pointer lock mode
72
34
  if (!position) {
73
35
  return;
74
36
  }
75
- const {
76
- previousPosition
77
- } = internal;
78
37
  const sensitivity = model.sensitivity;
79
- const yaw = (previousPosition.x - position.x) * sensitivity;
80
- const pitch = (position.y - previousPosition.y) * sensitivity;
38
+ const yaw = -position.movementX * sensitivity;
39
+ const pitch = -position.movementY * sensitivity;
81
40
  Object.assign(internal, {
82
41
  interactor,
83
42
  renderer
84
43
  });
85
44
  publicAPI.moveCamera(yaw, pitch);
86
- internal.previousPosition = position;
87
45
  };
88
46
 
89
47
  //--------------------------------------------------------------------------
@@ -6,6 +6,7 @@ import vtkInteractorStyle from './../../Rendering/Core/InteractorStyle';
6
6
  import {
7
7
  Device,
8
8
  Input,
9
+ MouseButton,
9
10
  } from './../../Rendering/Core/RenderWindowInteractor/Constants';
10
11
  import { Nullable, Vector3 } from './../../types';
11
12
 
@@ -120,7 +121,7 @@ export interface vtkInteractorStyleManipulator extends vtkInteractorStyle {
120
121
  * @param alt alt enabled
121
122
  */
122
123
  findMouseManipulator(
123
- button: number,
124
+ button: MouseButton,
124
125
  shift: boolean,
125
126
  scroll: boolean,
126
127
  alt: boolean
@@ -285,13 +286,13 @@ export interface vtkInteractorStyleManipulator extends vtkInteractorStyle {
285
286
  * @param button which button
286
287
  * @param callData event data
287
288
  */
288
- onButtonDown(button: number, callData: unknown): void;
289
+ onButtonDown(button: MouseButton, callData: unknown): void;
289
290
 
290
291
  /**
291
292
  * Handles a button up event.
292
293
  * @param button which button
293
294
  */
294
- onButtonUp(button: number): void;
295
+ onButtonUp(button: MouseButton): void;
295
296
 
296
297
  /**
297
298
  * Sets the rotation factor.
@@ -1,4 +1,5 @@
1
1
  import { m as macro } from '../../macros2.js';
2
+ import { MouseButton } from '../../Rendering/Core/RenderWindowInteractor/Constants.js';
2
3
  import vtkInteractorStyle from '../../Rendering/Core/InteractorStyle.js';
3
4
 
4
5
  const {
@@ -225,19 +226,19 @@ function vtkInteractorStyleManipulator(publicAPI, model) {
225
226
  //-------------------------------------------------------------------------
226
227
  publicAPI.handleLeftButtonPress = callData => {
227
228
  model.previousPosition = callData.position;
228
- publicAPI.onButtonDown(1, callData);
229
+ publicAPI.onButtonDown(MouseButton.LeftButton, callData);
229
230
  };
230
231
 
231
232
  //-------------------------------------------------------------------------
232
233
  publicAPI.handleMiddleButtonPress = callData => {
233
234
  model.previousPosition = callData.position;
234
- publicAPI.onButtonDown(2, callData);
235
+ publicAPI.onButtonDown(MouseButton.MiddleButton, callData);
235
236
  };
236
237
 
237
238
  //-------------------------------------------------------------------------
238
239
  publicAPI.handleRightButtonPress = callData => {
239
240
  model.previousPosition = callData.position;
240
- publicAPI.onButtonDown(3, callData);
241
+ publicAPI.onButtonDown(MouseButton.RightButton, callData);
241
242
  };
242
243
 
243
244
  //-------------------------------------------------------------------------
@@ -330,17 +331,17 @@ function vtkInteractorStyleManipulator(publicAPI, model) {
330
331
 
331
332
  //-------------------------------------------------------------------------
332
333
  publicAPI.handleLeftButtonRelease = () => {
333
- publicAPI.onButtonUp(1);
334
+ publicAPI.onButtonUp(MouseButton.LeftButton);
334
335
  };
335
336
 
336
337
  //-------------------------------------------------------------------------
337
338
  publicAPI.handleMiddleButtonRelease = () => {
338
- publicAPI.onButtonUp(2);
339
+ publicAPI.onButtonUp(MouseButton.MiddleButton);
339
340
  };
340
341
 
341
342
  //-------------------------------------------------------------------------
342
343
  publicAPI.handleRightButtonRelease = () => {
343
- publicAPI.onButtonUp(3);
344
+ publicAPI.onButtonUp(MouseButton.RightButton);
344
345
  };
345
346
 
346
347
  //-------------------------------------------------------------------------
@@ -351,12 +352,18 @@ function vtkInteractorStyleManipulator(publicAPI, model) {
351
352
  if (model.currentManipulator.getButton && model.currentManipulator.getButton() === button) {
352
353
  model.currentManipulator.onButtonUp(model._interactor);
353
354
  model.currentManipulator.endInteraction();
354
- model.currentManipulator = null;
355
- model._interactor.cancelAnimation(publicAPI.onButtonDown);
355
+ if (!model._interactor.isPointerLocked()) {
356
+ model.currentManipulator = null;
357
+ }
356
358
  publicAPI.invokeEndInteractionEvent(END_INTERACTION_EVENT);
357
359
  }
358
360
  };
359
361
 
362
+ //-------------------------------------------------------------------------
363
+ publicAPI.handleEndPointerLock = () => {
364
+ model.currentManipulator = null;
365
+ };
366
+
360
367
  //-------------------------------------------------------------------------
361
368
  publicAPI.handleStartMouseWheel = callData => {
362
369
  // Must not be processing a wheel interaction to start another.
@@ -1,9 +1,9 @@
1
1
  import { vtkObject } from './../../interfaces';
2
2
  import { VtkProxy } from './../../macros';
3
- import vtkSourceProxy from './SourceProxy';
4
- import vtkAbstractMapper from './../../Rendering/Core/AbstractMapper';
5
- import vtkActor from './../../Rendering/Core/Actor';
6
- import vtkVolume from './../../Rendering/Core/Volume';
3
+ import { vtkSourceProxy } from './SourceProxy';
4
+ import { vtkAbstractMapper } from './../../Rendering/Core/AbstractMapper';
5
+ import { vtkActor } from './../../Rendering/Core/Actor';
6
+ import { vtkVolume } from './../../Rendering/Core/Volume';
7
7
 
8
8
  export interface vtkAbstractRepresentationProxy extends VtkProxy {
9
9
  setInput<T>(source: vtkSourceProxy<T>): void;
@@ -21,4 +21,5 @@ export interface vtkAbstractRepresentationProxy extends VtkProxy {
21
21
  getVolumes(): vtkVolume[];
22
22
  }
23
23
 
24
+ declare const vtkAbstractRepresentationProxy: vtkAbstractRepresentationProxy;
24
25
  export default vtkAbstractRepresentationProxy;
@@ -1,9 +1,9 @@
1
1
  import { vtkObject } from './../../interfaces';
2
- import vtkSourceProxy from './SourceProxy';
3
- import vtkViewProxy from './ViewProxy';
4
- import vtkAbstractRepresentationProxy from './AbstractRepresentationProxy';
5
- import vtkLookupTableProxy from './LookupTableProxy';
6
- import vtkPiecewiseFunctionProxy from './PiecewiseFunctionProxy';
2
+ import { vtkSourceProxy } from './SourceProxy';
3
+ import { vtkViewProxy } from './ViewProxy';
4
+ import { vtkAbstractRepresentationProxy } from './AbstractRepresentationProxy';
5
+ import { vtkLookupTableProxy } from './LookupTableProxy';
6
+ import { vtkPiecewiseFunctionProxy } from './PiecewiseFunctionProxy';
7
7
  import { VtkProxy } from './../../macros';
8
8
 
9
9
  export type ProxyConfiguration = object;
@@ -19,4 +19,5 @@ export interface vtkSourceProxy<T> extends VtkProxy {
19
19
  getInputProxy(): vtkSourceProxy<T> | null;
20
20
  }
21
21
 
22
- export default vtkSourceProxy;
22
+ declare const _default: vtkSourceProxy<unknown>;
23
+ export default _default;
@@ -1,7 +1,8 @@
1
- import vtkViewProxy from './ViewProxy';
1
+ import { vtkViewProxy } from './ViewProxy';
2
2
 
3
3
  export interface vtkView2DProxy extends vtkViewProxy {
4
4
  getAxis(): number;
5
5
  }
6
6
 
7
- export default vtkView2DProxy;
7
+ declare const _default: vtkView2DProxy;
8
+ export default _default;
@@ -1,14 +1,14 @@
1
- import vtkActor from './../../Rendering/Core/Actor';
2
- import vtkAbstractRepresentationProxy from './AbstractRepresentationProxy';
1
+ import { vtkActor } from './../../Rendering/Core/Actor';
2
+ import { vtkAbstractRepresentationProxy } from './AbstractRepresentationProxy';
3
3
  import { Vector3, Vector4 } from './../../types';
4
- import vtkCamera from './../../Rendering/Core/Camera';
5
- import vtkRenderWindowInteractor from './../../Rendering/Core/RenderWindowInteractor';
6
- import vtkInteractorStyle from './../../Rendering/Core/InteractorStyle';
4
+ import { vtkCamera } from './../../Rendering/Core/Camera';
5
+ import { vtkRenderWindowInteractor } from './../../Rendering/Core/RenderWindowInteractor';
6
+ import { vtkInteractorStyle } from './../../Rendering/Core/InteractorStyle';
7
7
  import { vtkSubscription, vtkObject } from './../../interfaces';
8
- import vtkRenderer from './../../Rendering/Core/Renderer';
9
- import vtkRenderWindow from './../../Rendering/Core/RenderWindow';
10
- import vtkOpenGLRenderWindow from './../../Rendering/OpenGL/RenderWindow';
11
- import vtkWebGPURenderWindow from './../../Rendering/WebGPU/RenderWindow';
8
+ import { vtkRenderer } from './../../Rendering/Core/Renderer';
9
+ import { vtkRenderWindow } from './../../Rendering/Core/RenderWindow';
10
+ import { vtkOpenGLRenderWindow } from './../../Rendering/OpenGL/RenderWindow';
11
+ import { vtkWebGPURenderWindow } from './../../Rendering/WebGPU/RenderWindow';
12
12
  import { VtkProxy } from './../../macros';
13
13
 
14
14
  export interface vtkViewProxy extends VtkProxy {
@@ -84,4 +84,5 @@ export interface vtkViewProxy extends VtkProxy {
84
84
  // TODO proxy property mappings
85
85
  }
86
86
 
87
- export default vtkViewProxy;
87
+ declare const _default: vtkViewProxy;
88
+ export default _default;
@@ -1,5 +1,5 @@
1
1
  import { RGBColor } from './../../types';
2
- import vtkAbstractRepresentationProxy from './../Core/AbstractRepresentationProxy';
2
+ import { vtkAbstractRepresentationProxy } from './../Core/AbstractRepresentationProxy';
3
3
 
4
4
  export interface vtkGeometryRepresentationProxy
5
5
  extends vtkAbstractRepresentationProxy {
@@ -33,4 +33,5 @@ export interface vtkGeometryRepresentationProxy
33
33
  setLineWidth(width: number): boolean;
34
34
  }
35
35
 
36
- export default vtkGeometryRepresentationProxy;
36
+ declare const _default: vtkGeometryRepresentationProxy;
37
+ export default _default;
@@ -1,6 +1,6 @@
1
- import type vtkPolyData from './../../Common/DataModel/PolyData';
2
- import type vtkPlane from './../../Common/DataModel/Plane';
3
- import vtkAbstractRepresentationProxy from './../Core/AbstractRepresentationProxy';
1
+ import { vtkPolyData } from './../../Common/DataModel/PolyData';
2
+ import { vtkPlane } from './../../Common/DataModel/Plane';
3
+ import { vtkAbstractRepresentationProxy } from './../Core/AbstractRepresentationProxy';
4
4
  import { RGBColor } from './../../types';
5
5
 
6
6
  export interface vtkResliceRepresentationProxy
@@ -33,4 +33,5 @@ export interface vtkResliceRepresentationProxy
33
33
  getSlabTrapezoidIntegration(): number;
34
34
  }
35
35
 
36
- export default vtkResliceRepresentationProxy;
36
+ declare const _default: vtkResliceRepresentationProxy;
37
+ export default _default;
@@ -1,4 +1,4 @@
1
- import vtkAbstractRepresentationProxy from './../Core/AbstractRepresentationProxy';
1
+ import { vtkAbstractRepresentationProxy } from './../Core/AbstractRepresentationProxy';
2
2
 
3
3
  export interface vtkSliceRepresentationProxy
4
4
  extends vtkAbstractRepresentationProxy {
@@ -24,4 +24,5 @@ export interface vtkSliceRepresentationProxy
24
24
  getSlice(): number;
25
25
  }
26
26
 
27
- export default vtkSliceRepresentationProxy;
27
+ declare const _default: vtkSliceRepresentationProxy;
28
+ export default _default;
@@ -1,5 +1,5 @@
1
- import vtkAbstractRepresentationProxy from './../Core/AbstractRepresentationProxy';
2
- import vtkImageCropFilter from './../../Filters/General/ImageCropFilter';
1
+ import { vtkAbstractRepresentationProxy } from './../Core/AbstractRepresentationProxy';
2
+ import { vtkImageCropFilter } from './../../Filters/General/ImageCropFilter';
3
3
 
4
4
  export interface vtkVolumeRepresentationProxy
5
5
  extends vtkAbstractRepresentationProxy {
@@ -41,4 +41,5 @@ export interface vtkVolumeRepresentationProxy
41
41
  setCroppingPlanes(planes: number[]): boolean;
42
42
  }
43
43
 
44
- export default vtkVolumeRepresentationProxy;
44
+ declare const _default: vtkVolumeRepresentationProxy;
45
+ export default _default;
@@ -1,7 +1,8 @@
1
- import vtkAbstractMapper3D, {
1
+ import {
2
+ vtkAbstractMapper3D,
2
3
  IAbstractMapper3DInitialValues,
3
4
  } from './AbstractMapper3D';
4
- import vtkImageData from './../../Common/DataModel/ImageData';
5
+ import { vtkImageData } from './../../Common/DataModel/ImageData';
5
6
  import { Bounds, Extent, Nullable, RGBAColor } from './../../types';
6
7
 
7
8
  export interface IAbstractImageMapperInitialValues
@@ -312,6 +312,30 @@ export interface vtkColorTransferFunction extends vtkScalarsToColors {
312
312
  * @param colorMap
313
313
  */
314
314
  applyColorMap(colorMap: any): void;
315
+
316
+ /**
317
+ * Get the color space of the color transfer function.
318
+ * @returns {ColorSpace}
319
+ */
320
+ getColorSpace(): ColorSpace;
321
+
322
+ /**
323
+ * Set the color space of the color transfer function.
324
+ * @param {ColorSpace} colorSpace
325
+ */
326
+ setColorSpace(colorSpace: ColorSpace): void;
327
+
328
+ /**
329
+ * Get the scale of the color transfer function.
330
+ * @returns {Scale}
331
+ */
332
+ getScale(): Scale;
333
+
334
+ /**
335
+ * Set the scale of the color transfer function.
336
+ * @param {Scale} scale
337
+ */
338
+ setScale(scale: Scale): void;
315
339
  }
316
340
 
317
341
  /**
@@ -1,12 +1,14 @@
1
- import vtkAbstractImageMapper, {
1
+ import {
2
+ vtkAbstractImageMapper,
2
3
  IAbstractImageMapperInitialValues,
3
4
  } from './AbstractImageMapper';
4
- import IClosestIJKAxis from './ImageMapper';
5
+ import { IClosestIJKAxis } from './ImageMapper';
5
6
  import { Bounds, Nullable } from './../../types';
6
7
  import { SlicingMode } from './ImageMapper/Constants';
7
- import vtkImageData from './../../Common/DataModel/ImageData';
8
- import vtkCollection from './../../Common/DataModel/Collection';
9
- import CoincidentTopologyHelper, {
8
+ import { vtkImageData } from './../../Common/DataModel/ImageData';
9
+ import { vtkCollection } from './../../Common/DataModel/Collection';
10
+ import {
11
+ CoincidentTopologyHelper,
10
12
  StaticCoincidentTopologyMethods,
11
13
  } from './Mapper/CoincidentTopologyHelper';
12
14
 
@@ -1,15 +1,17 @@
1
1
  import { mat3, mat4, quat, vec3 } from 'gl-matrix';
2
2
  import { Extent, Nullable } from './../../types';
3
3
  import { vtkOutputPort } from './../../interfaces';
4
- import vtkAbstractMapper3D, {
4
+ import {
5
+ vtkAbstractMapper3D,
5
6
  IAbstractMapper3DInitialValues,
6
7
  } from './AbstractMapper3D';
7
- import vtkDataArray from './../../Common/Core/DataArray';
8
- import vtkImageData from './../../Common/DataModel/ImageData';
9
- import vtkPolyData from './../../Common/DataModel/PolyData';
10
- import vtkPolyLine from './../../Common/DataModel/PolyLine';
8
+ import { vtkDataArray } from './../../Common/Core/DataArray';
9
+ import { vtkImageData } from './../../Common/DataModel/ImageData';
10
+ import { vtkPolyData } from './../../Common/DataModel/PolyData';
11
+ import { vtkPolyLine } from './../../Common/DataModel/PolyLine';
11
12
  import { ProjectionMode } from './ImageCPRMapper/Constants';
12
- import CoincidentTopologyHelper, {
13
+ import {
14
+ CoincidentTopologyHelper,
13
15
  StaticCoincidentTopologyMethods,
14
16
  } from './Mapper/CoincidentTopologyHelper';
15
17
 
@@ -1,15 +1,17 @@
1
- import vtkCamera from './Camera';
2
- import vtkAbstractImageMapper, {
1
+ import { vtkCamera } from './Camera';
2
+ import {
3
+ vtkAbstractImageMapper,
3
4
  IAbstractImageMapperInitialValues,
4
5
  } from './AbstractImageMapper';
5
6
  import { Bounds, Nullable, Vector3 } from './../../types';
6
7
  import { SlicingMode } from './ImageMapper/Constants';
7
- import vtkImageData from './../../Common/DataModel/ImageData';
8
- import CoincidentTopologyHelper, {
8
+ import { vtkImageData } from './../../Common/DataModel/ImageData';
9
+ import {
10
+ CoincidentTopologyHelper,
9
11
  StaticCoincidentTopologyMethods,
10
12
  } from './Mapper/CoincidentTopologyHelper';
11
13
 
12
- interface IClosestIJKAxis {
14
+ export interface IClosestIJKAxis {
13
15
  ijkMode: SlicingMode;
14
16
  flip: boolean;
15
17
  }
@@ -212,4 +214,5 @@ export declare const vtkImageMapper: {
212
214
  extend: typeof extend;
213
215
  SlicingMode: typeof SlicingMode;
214
216
  } & StaticCoincidentTopologyMethods;
217
+
215
218
  export default vtkImageMapper;
@@ -1,11 +1,13 @@
1
- import vtkAbstractImageMapper, {
1
+ import {
2
+ vtkAbstractImageMapper,
2
3
  IAbstractImageMapperInitialValues,
3
4
  } from './AbstractImageMapper';
4
- import vtkPlane from './../../Common/DataModel/Plane';
5
- import vtkPolyData from './../../Common/DataModel/PolyData';
5
+ import { vtkPlane } from './../../Common/DataModel/Plane';
6
+ import { vtkPolyData } from './../../Common/DataModel/PolyData';
6
7
  import { Bounds, Extent } from './../../types';
7
8
  import { SlabTypes } from './ImageResliceMapper/Constants';
8
- import CoincidentTopologyHelper, {
9
+ import {
10
+ CoincidentTopologyHelper,
9
11
  StaticCoincidentTopologyMethods,
10
12
  } from './Mapper/CoincidentTopologyHelper';
11
13
 
@@ -1,5 +1,5 @@
1
- import vtkRenderer from './Renderer';
2
- import vtkRenderWindowInteractor from './RenderWindowInteractor';
1
+ import { vtkRenderer } from './Renderer';
2
+ import { vtkRenderWindowInteractor } from './RenderWindowInteractor';
3
3
  import { vtkObject, EventHandler, vtkSubscription } from './../../interfaces';
4
4
  import { Vector3 } from './../../types';
5
5
 
@@ -138,4 +138,5 @@ export interface vtkInteractorObserver extends vtkObject {
138
138
  ): Vector3;
139
139
  }
140
140
 
141
- export default vtkInteractorObserver;
141
+ declare const _default: vtkInteractorObserver;
142
+ export default _default;
@@ -1,7 +1,7 @@
1
1
  import { EventHandler, vtkSubscription } from './../../interfaces';
2
2
  import { Nullable } from './../../types';
3
- import vtkInteractorObserver from './InteractorObserver';
4
- import vtkRenderer from './Renderer';
3
+ import { vtkInteractorObserver } from './InteractorObserver';
4
+ import { vtkRenderer } from './Renderer';
5
5
 
6
6
  export interface vtkInteractorStyle extends vtkInteractorObserver {
7
7
  /**
@@ -121,7 +121,7 @@ export interface StaticCoincidentTopologyMethods {
121
121
  getResolveCoincidentTopologyAsString(): string;
122
122
  }
123
123
 
124
- export default interface CoincidentTopologyHelper
124
+ export interface CoincidentTopologyHelper
125
125
  extends StaticCoincidentTopologyMethods {
126
126
  /**
127
127
  *
@@ -192,3 +192,6 @@ export default interface CoincidentTopologyHelper
192
192
  */
193
193
  getCoincidentTopologyPointOffsetParameters(): ICoincidentTopology;
194
194
  }
195
+
196
+ declare const _default: CoincidentTopologyHelper;
197
+ export default _default;
@@ -1,10 +1,12 @@
1
1
  import { Bounds, Nullable, Range } from './../../types';
2
- import vtkAbstractMapper3D, {
2
+ import {
3
+ vtkAbstractMapper3D,
3
4
  IAbstractMapper3DInitialValues,
4
5
  } from './AbstractMapper3D';
5
6
  import { ColorMode, GetArray, ScalarMode } from './Mapper/Constants';
6
- import vtkDataArray from './../../Common/Core/DataArray';
7
- import CoincidentTopologyHelper, {
7
+ import { vtkDataArray } from './../../Common/Core/DataArray';
8
+ import {
9
+ CoincidentTopologyHelper,
8
10
  StaticCoincidentTopologyMethods,
9
11
  } from './Mapper/CoincidentTopologyHelper';
10
12
 
@@ -135,12 +135,13 @@ const colorTextureCoordinatesCache = new WeakMap();
135
135
  * @param {vtkDataArray} input The input data array used for coloring
136
136
  * @param {Number} component The component of the input data array that is used for coloring (-1 for magnitude of the vectors)
137
137
  * @param {Range} range The range of the scalars
138
+ * @param {boolean} useLogScale Should the values be transformed to logarithmic scale. When true, the range must already be in logarithmic scale.
138
139
  * @param {Number} numberOfColorsInRange The number of colors that are used in the range
139
140
  * @param {vec3} dimensions The dimensions of the texture
140
141
  * @param {boolean} useZigzagPattern If a zigzag pattern should be used. Otherwise 1 row for colors (including min and max) and 1 row for NaN are used.
141
142
  * @returns A vtkDataArray containing the texture coordinates (2D or 3D)
142
143
  */
143
- function getOrCreateColorTextureCoordinates(input, component, range, numberOfColorsInRange, dimensions, useZigzagPattern) {
144
+ function getOrCreateColorTextureCoordinates(input, component, range, useLogScale, numberOfColorsInRange, dimensions, useZigzagPattern) {
144
145
  // Caching using the "arguments" special object (because it is a pure function)
145
146
  const argStrings = new Array(arguments.length);
146
147
  for (let argIndex = 0; argIndex < arguments.length; ++argIndex) {
@@ -199,6 +200,9 @@ function getOrCreateColorTextureCoordinates(input, component, range, numberOfCol
199
200
  } else {
200
201
  scalarValue = inputV[inputIdx + component];
201
202
  }
203
+ if (useLogScale) {
204
+ scalarValue = Math.log10(scalarValue);
205
+ }
202
206
  inputIdx += numComps;
203
207
 
204
208
  // Convert to texture coordinates and update output
@@ -396,6 +400,7 @@ function vtkMapper(publicAPI, model) {
396
400
  const range = model.lookupTable.getRange();
397
401
  const useLogScale = model.lookupTable.usingLogScale();
398
402
  const origAlpha = model.lookupTable.getAlpha();
403
+ const scaledRange = useLogScale ? [Math.log10(range[0]), Math.log10(range[1])] : range;
399
404
 
400
405
  // Get rid of vertex color array. Only texture or vertex coloring
401
406
  // can be active at one time. The existence of the array is the
@@ -438,7 +443,6 @@ function vtkMapper(publicAPI, model) {
438
443
  const numberOfNonSpecialColors = model.numberOfColorsInRange;
439
444
  const numberOfNonNaNColors = numberOfNonSpecialColors + 2;
440
445
  const textureCoordinates = [0, 0, 0];
441
- const scaledRange = useLogScale ? [Math.log10(range[0]), Math.log10(range[1])] : range;
442
446
  const rangeMin = scaledRange[0];
443
447
  const rangeDifference = scaledRange[1] - scaledRange[0];
444
448
  for (let i = 0; i < numberOfNonNaNColors; ++i) {
@@ -472,7 +476,7 @@ function vtkMapper(publicAPI, model) {
472
476
  // A zigzag pattern can be used with cell data, as there will be no texture coordinates interpolation
473
477
  // The texture generated using a zigzag pattern in one dimension is the same as without zigzag
474
478
  // Therefore, the same code can be used for texture generation of point/cell data but not for texture coordinates
475
- model.colorCoordinates = getOrCreateColorTextureCoordinates(scalars, scalarComponent, range, model.numberOfColorsInRange, model.colorTextureMap.getDimensions(), cellFlag);
479
+ model.colorCoordinates = getOrCreateColorTextureCoordinates(scalars, scalarComponent, scaledRange, useLogScale, model.numberOfColorsInRange, model.colorTextureMap.getDimensions(), cellFlag);
476
480
  };
477
481
  publicAPI.getIsOpaque = () => {
478
482
  const input = publicAPI.getInputData();
@@ -23,9 +23,16 @@ export declare enum Axis {
23
23
  ThumbstickY = 4,
24
24
  }
25
25
 
26
+ export declare enum MouseButton {
27
+ LeftButton = 1,
28
+ MiddleButton = 2,
29
+ RightButton = 3,
30
+ }
31
+
26
32
  declare const _default: {
27
33
  Device: typeof Device;
28
34
  Input: typeof Input;
29
35
  Axis: typeof Axis;
36
+ MouseButton: typeof MouseButton;
30
37
  };
31
38
  export default _default;
@@ -21,10 +21,16 @@ const Axis = {
21
21
  ThumbstickX: 3,
22
22
  ThumbstickY: 4
23
23
  };
24
+ const MouseButton = {
25
+ LeftButton: 1,
26
+ MiddleButton: 2,
27
+ RightButton: 3
28
+ };
24
29
  var Constants = {
25
30
  Device,
26
31
  Input,
27
- Axis
32
+ Axis,
33
+ MouseButton
28
34
  };
29
35
 
30
- export { Axis, Device, Input, Constants as default };
36
+ export { Axis, Device, Input, MouseButton, Constants as default };
@@ -1,7 +1,7 @@
1
1
  import { vtkObject, vtkSubscription } from './../../interfaces';
2
2
  import { Nullable } from './../../types';
3
3
  import vtkRenderer from './Renderer';
4
- import { Axis, Device, Input } from './RenderWindowInteractor/Constants';
4
+ import { Axis, Device, Input, MouseButton } from './RenderWindowInteractor/Constants';
5
5
 
6
6
  declare enum handledEvents {
7
7
  'StartAnimation',
@@ -1397,5 +1397,6 @@ export declare const vtkRenderWindowInteractor: {
1397
1397
  Device: typeof Device;
1398
1398
  Input: typeof Input;
1399
1399
  Axis: typeof Axis;
1400
+ MouseButton: typeof MouseButton;
1400
1401
  };
1401
1402
  export default vtkRenderWindowInteractor;
@@ -136,7 +136,9 @@ function vtkRenderWindowInteractor(publicAPI, model) {
136
136
  const position = {
137
137
  x: scaleX * (source.clientX - bounds.left),
138
138
  y: scaleY * (bounds.height - source.clientY + bounds.top),
139
- z: 0
139
+ z: 0,
140
+ movementX: scaleX * source.movementX,
141
+ movementY: scaleY * source.movementY
140
142
  };
141
143
 
142
144
  // if multitouch, do not update the current renderer
@@ -1,6 +1,7 @@
1
- import vtkPiecewiseFunction from './../../Common/DataModel/PiecewiseFunction';
1
+ import { vtkPiecewiseFunction } from './../../Common/DataModel/PiecewiseFunction';
2
2
  import { Bounds, Range, Extent } from './../../types';
3
- import vtkAbstractMapper3D, {
3
+ import {
4
+ vtkAbstractMapper3D,
4
5
  IAbstractMapper3DInitialValues,
5
6
  } from './AbstractMapper3D';
6
7
  import { BlendMode, FilterMode } from './VolumeMapper/Constants';
@@ -97,4 +97,5 @@ export interface IObjectManager {
97
97
  alwaysUpdateCamera(): void;
98
98
  }
99
99
 
100
- export default IObjectManager;
100
+ declare const _default: IObjectManager;
101
+ export default _default;
@@ -1,4 +1,4 @@
1
- import { n as newInstance$1 } from '../../macros2.js';
1
+ import { n as newInstance$1, r as vtkErrorMacro } from '../../macros2.js';
2
2
  import vtkWebGPUBufferManager from './BufferManager.js';
3
3
  import vtkWebGPUCellArrayMapper from './CellArrayMapper.js';
4
4
  import vtkViewNode from '../SceneGraph/ViewNode.js';
@@ -28,6 +28,10 @@ function vtkWebGPUPolyDataMapper(publicAPI, model) {
28
28
  }
29
29
  };
30
30
  publicAPI.updateCellArrayMappers = poly => {
31
+ if (!poly) {
32
+ vtkErrorMacro('No input!');
33
+ return;
34
+ }
31
35
  const prims = [poly.getVerts(), poly.getLines(), poly.getPolys(), poly.getStrips()];
32
36
 
33
37
  // we instantiate a cell array mapper for each cellArray that has cells
@@ -1,9 +1,8 @@
1
- import vtkInteractorObserver from './../../Rendering/Core/InteractorObserver';
2
- import vtkProp from './../../Rendering/Core/Prop';
3
- import vtkRenderer from './../../Rendering/Core/Renderer';
4
- import vtkWidgetManager from './WidgetManager';
5
- import vtkWidgetRepresentation from './../Representations/WidgetRepresentation';
6
- import vtkWidgetState from './WidgetState';
1
+ import { vtkInteractorObserver } from './../../Rendering/Core/InteractorObserver';
2
+ import { vtkProp } from './../../Rendering/Core/Prop';
3
+ import { vtkWidgetManager } from './WidgetManager';
4
+ import { vtkWidgetRepresentation } from './../Representations/WidgetRepresentation';
5
+ import { vtkWidgetState } from './WidgetState';
7
6
  import { Bounds } from './../../types';
8
7
  import { RenderingTypes } from './WidgetManager/Constants';
9
8
  import { EventHandler, vtkSubscription } from './../../interfaces';
@@ -1,6 +1,6 @@
1
1
  import { Nullable } from '../../../types';
2
2
  import { InteractionMethodsName, lineNames } from './Constants';
3
- import vtkAbstractWidget from '../../Core/AbstractWidget';
3
+ import { vtkAbstractWidget } from '../../Core/AbstractWidget';
4
4
 
5
5
  type TLineName = typeof lineNames[number];
6
6
 
@@ -10,7 +10,7 @@ type TCursorStyles = {
10
10
  default?: string;
11
11
  };
12
12
 
13
- export default interface vtkResliceCursorWidgetDefaultInstance
13
+ export interface vtkResliceCursorWidgetDefaultInstance
14
14
  extends vtkAbstractWidget {
15
15
  getActiveInteraction(): Nullable<InteractionMethodsName>;
16
16
 
@@ -31,3 +31,6 @@ export default interface vtkResliceCursorWidgetDefaultInstance
31
31
 
32
32
  getActiveLineName(): TLineName | undefined;
33
33
  }
34
+
35
+ declare const _default: vtkResliceCursorWidgetDefaultInstance;
36
+ export default _default;
@@ -3,13 +3,13 @@ import {
3
3
  vtkAbstractWidgetFactory,
4
4
  IAbstractWidgetFactoryInitialValues,
5
5
  } from './../Core/AbstractWidgetFactory';
6
- import vtkResliceCursorWidgetDefaultInstance from './ResliceCursorWidget/behavior';
7
- import vtkAbstractWidget from './../Core/AbstractWidget';
8
- import vtkImageData from './../../Common/DataModel/ImageData';
9
- import vtkImageReslice from './../../Imaging/Core/ImageReslice';
10
- import vtkPlaneSource from './../../Filters/Sources/PlaneSource';
11
- import vtkRenderer from './../../Rendering/Core/Renderer';
12
- import vtkPlaneManipulator from './../Manipulators/PlaneManipulator';
6
+ import { vtkResliceCursorWidgetDefaultInstance } from './ResliceCursorWidget/behavior';
7
+ import { vtkAbstractWidget } from './../Core/AbstractWidget';
8
+ import { vtkImageData } from './../../Common/DataModel/ImageData';
9
+ import { vtkImageReslice } from './../../Imaging/Core/ImageReslice';
10
+ import { vtkPlaneSource } from './../../Filters/Sources/PlaneSource';
11
+ import { vtkRenderer } from './../../Rendering/Core/Renderer';
12
+ import { vtkPlaneManipulator } from './../Manipulators/PlaneManipulator';
13
13
  import { ViewTypes } from './../Core/WidgetManager/Constants';
14
14
  import { Vector2, Vector3 } from './../../types';
15
15
  import { IDisplayScaleParams } from './../Core/WidgetManager';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kitware/vtk.js",
3
- "version": "33.0.2",
3
+ "version": "33.1.1",
4
4
  "description": "Visualization Toolkit for the Web",
5
5
  "keywords": [
6
6
  "3d",
@@ -120,6 +120,7 @@
120
120
  "string-replace-loader": "3.1.0",
121
121
  "style-loader": "3.3.1",
122
122
  "tape": "5.5.3",
123
+ "typescript": "^5.8.3",
123
124
  "webpack": "5.97.1",
124
125
  "webpack-bundle-analyzer": "4.5.0",
125
126
  "webpack-cli": "4.9.2",
@@ -141,6 +142,7 @@
141
142
  "reformat-only": "prettier --single-quote --trailing-comma es5 --print-width 80 --arrow-parens always --write",
142
143
  "lint-fix": "eslint --fix Sources Examples",
143
144
  "lint": "eslint Sources Examples",
145
+ "typecheck": "tsc --noEmit",
144
146
  "doc": "npm run build:pre && kw-doc -c ./Documentation/config.js",
145
147
  "doc:www": "npm t -- --single-run && npm run build:pre && kw-doc -c ./Documentation/config.js -s",
146
148
  "doc:minified": "npm run build:pre && kw-doc -c ./Documentation/config.js -m",
package/tsconfig.json ADDED
@@ -0,0 +1,7 @@
1
+ {
2
+ "include": ["Sources/**/*.d.ts", "Utilities/**/*.d.ts"],
3
+ "exclude": ["Utilities/build/macro-shim.d.ts"],
4
+ "compilerOptions": {
5
+ "noEmit": true
6
+ }
7
+ }