@kitware/vtk.js 23.0.1 → 23.3.0-beta.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.
- package/Common/Core/CellArray.d.ts +2 -2
- package/Common/Core/DataArray.d.ts +2 -2
- package/Common/Core/Endian.d.ts +3 -1
- package/Common/Core/ImageHelper.d.ts +1 -1
- package/Common/Core/LookupTable.d.ts +2 -2
- package/Common/Core/Math.d.ts +1 -1
- package/Common/Core/MatrixBuilder.d.ts +1 -1
- package/Common/Core/Points.d.ts +2 -2
- package/Common/Core/PriorityQueue.d.ts +1 -1
- package/Common/Core/ProgressHandler.d.ts +1 -1
- package/Common/Core/ScalarsToColors.d.ts +3 -3
- package/Common/Core/StringArray.d.ts +1 -1
- package/Common/Core/VariantArray.d.ts +1 -1
- package/Common/DataModel/Box.d.ts +2 -2
- package/Common/DataModel/CardinalSpline1D.d.ts +2 -2
- package/Common/DataModel/Cell.d.ts +3 -3
- package/Common/DataModel/Cone.d.ts +2 -2
- package/Common/DataModel/Cylinder.d.ts +2 -2
- package/Common/DataModel/DataSet.d.ts +2 -2
- package/Common/DataModel/DataSetAttributes/FieldData.d.ts +1 -1
- package/Common/DataModel/DataSetAttributes.d.ts +3 -3
- package/Common/DataModel/ImageData.d.ts +2 -2
- package/Common/DataModel/KochanekSpline1D.d.ts +1 -1
- package/Common/DataModel/Line.d.ts +2 -2
- package/Common/DataModel/PiecewiseFunction.d.ts +2 -2
- package/Common/DataModel/Plane.d.ts +2 -2
- package/Common/DataModel/PointSet.d.ts +3 -3
- package/Common/DataModel/PolyData.d.ts +3 -3
- package/Common/DataModel/Polygon.d.ts +2 -2
- package/Common/DataModel/SelectionNode.d.ts +2 -2
- package/Common/DataModel/Sphere.d.ts +2 -2
- package/Common/DataModel/Spline1D.d.ts +1 -1
- package/Common/DataModel/Spline3D.d.ts +1 -1
- package/Common/DataModel/Triangle.d.ts +2 -2
- package/Common/Transform/LandmarkTransform.d.ts +2 -2
- package/Filters/General/AppendPolyData.d.ts +1 -1
- package/Filters/General/ImageCropFilter.d.ts +1 -1
- package/Filters/General/ImageOutlineFilter.d.ts +1 -1
- package/Filters/General/ImageSliceFilter.d.ts +1 -1
- package/Filters/General/ImageStreamline.d.ts +3 -3
- package/Filters/General/LineFilter.d.ts +1 -1
- package/Filters/General/OutlineFilter.d.ts +1 -1
- package/Filters/General/TriangleFilter.d.ts +1 -1
- package/Filters/General/TubeFilter.d.ts +2 -2
- package/Filters/Sources/Arrow2DSource.d.ts +2 -2
- package/Filters/Sources/ArrowSource.d.ts +2 -2
- package/Filters/Sources/CircleSource.d.ts +2 -2
- package/Filters/Sources/ConeSource.d.ts +2 -2
- package/Filters/Sources/CubeSource.d.ts +2 -2
- package/Filters/Sources/Cursor3D.d.ts +3 -3
- package/Filters/Sources/CylinderSource.d.ts +2 -2
- package/Filters/Sources/LineSource.d.ts +2 -2
- package/Filters/Sources/PlaneSource.d.ts +2 -2
- package/Filters/Sources/PointSource.d.ts +2 -2
- package/Filters/Sources/SphereSource.d.ts +2 -2
- package/Filters/Texture/TextureMapToPlane.d.ts +1 -1
- package/Filters/Texture/TextureMapToSphere.d.ts +1 -1
- package/IO/Core/DataAccessHelper.d.ts +4 -4
- package/IO/Core/HttpDataSetReader.d.ts +5 -5
- package/IO/Core/HttpSceneLoader.d.ts +5 -5
- package/IO/Core/ImageStream/DefaultProtocol.d.ts +1 -1
- package/IO/Core/ImageStream/ViewStream.d.ts +4 -4
- package/IO/Core/ImageStream.d.ts +3 -3
- package/IO/Core/WSLinkClient.d.ts +1 -1
- package/IO/Geometry/DracoReader.d.ts +5 -5
- package/IO/Geometry/PLYReader.d.ts +5 -5
- package/IO/Geometry/PLYWriter.d.ts +2 -2
- package/IO/Geometry/STLReader.d.ts +5 -5
- package/IO/Geometry/STLWriter.d.ts +2 -2
- package/IO/Misc/ElevationReader.d.ts +5 -5
- package/IO/Misc/ITKImageReader.d.ts +1 -1
- package/IO/Misc/ITKPolyDataReader.d.ts +1 -1
- package/IO/Misc/JSONNucleoReader.d.ts +5 -5
- package/IO/Misc/JSONReader.d.ts +1 -1
- package/IO/Misc/MTLReader.d.ts +6 -6
- package/IO/Misc/OBJReader.d.ts +5 -5
- package/IO/Misc/PDBReader.d.ts +5 -5
- package/IO/XML/XMLImageDataReader.d.ts +1 -1
- package/IO/XML/XMLPolyDataReader.d.ts +1 -1
- package/IO/XML/XMLReader.d.ts +5 -5
- package/Imaging/Core/ImageInterpolator.js +181 -6
- package/Imaging/Core/ImageReslice.js +1 -1
- package/Interaction/Manipulators/MouseRangeManipulator.js +55 -1
- package/Interaction/Widgets/OrientationMarkerWidget.d.ts +12 -10
- package/Rendering/Core/AbstractMapper.d.ts +2 -2
- package/Rendering/Core/AbstractMapper3D.d.ts +2 -2
- package/Rendering/Core/AbstractPicker.d.ts +4 -4
- package/Rendering/Core/Actor.d.ts +4 -4
- package/Rendering/Core/Actor2D.d.ts +5 -5
- package/Rendering/Core/AnnotatedCubeActor.d.ts +1 -1
- package/Rendering/Core/AxesActor.d.ts +1 -1
- package/Rendering/Core/Camera.d.ts +2 -2
- package/Rendering/Core/CellPicker.d.ts +5 -5
- package/Rendering/Core/ColorTransferFunction.d.ts +1 -1
- package/Rendering/Core/Coordinate.d.ts +2 -2
- package/Rendering/Core/Follower.d.ts +2 -2
- package/Rendering/Core/Glyph3DMapper.d.ts +2 -2
- package/Rendering/Core/ImageMapper.d.ts +3 -3
- package/Rendering/Core/ImageProperty.d.ts +2 -2
- package/Rendering/Core/ImageSlice.d.ts +4 -4
- package/Rendering/Core/Light.d.ts +2 -2
- package/Rendering/Core/Mapper.d.ts +5 -5
- package/Rendering/Core/Mapper2D.d.ts +4 -3
- package/Rendering/Core/Picker.d.ts +5 -5
- package/Rendering/Core/PixelSpaceCallbackMapper.d.ts +2 -2
- package/Rendering/Core/PointPicker.d.ts +3 -3
- package/Rendering/Core/Prop.d.ts +5 -5
- package/Rendering/Core/Prop3D.d.ts +2 -2
- package/Rendering/Core/Property.d.ts +2 -2
- package/Rendering/Core/Property2D.d.ts +2 -2
- package/Rendering/Core/RenderWindow.d.ts +4 -4
- package/Rendering/Core/RenderWindowInteractor.d.ts +2 -2
- package/Rendering/Core/Renderer.d.ts +12 -11
- package/Rendering/Core/ScalarBarActor.d.ts +3 -3
- package/Rendering/Core/Skybox.d.ts +1 -1
- package/Rendering/Core/SphereMapper.d.ts +1 -1
- package/Rendering/Core/StickMapper.d.ts +1 -1
- package/Rendering/Core/Texture.d.ts +1 -1
- package/Rendering/Core/Viewport.d.ts +4 -4
- package/Rendering/Core/Volume.d.ts +4 -4
- package/Rendering/Core/VolumeMapper.d.ts +2 -2
- package/Rendering/Core/VolumeProperty.d.ts +1 -1
- package/Rendering/Misc/CanvasView.d.ts +2 -2
- package/Rendering/Misc/FullScreenRenderWindow.d.ts +8 -8
- package/Rendering/Misc/GenericRenderWindow.d.ts +6 -6
- package/Rendering/Misc/RemoteView.d.ts +3 -3
- package/Rendering/Misc/RenderWindowWithControlBar.d.ts +2 -2
- package/Rendering/Misc/SynchronizableRenderWindow.d.ts +4 -3
- package/Rendering/Misc/TextureLODsDownloader.d.ts +4 -4
- package/Rendering/OpenGL/ForwardPass.js +7 -3
- package/Rendering/OpenGL/Framebuffer.js +68 -11
- package/Rendering/OpenGL/ImageMapper.js +23 -4
- package/Rendering/OpenGL/OrderIndependentTranslucentPass.js +293 -0
- package/Rendering/OpenGL/PolyDataMapper.js +20 -2
- package/Rendering/OpenGL/RenderWindow.d.ts +18 -18
- package/Rendering/OpenGL/ShaderCache.js +10 -2
- package/Rendering/OpenGL/Texture.js +32 -16
- package/Rendering/OpenGL/glsl/vtkPolyDataFS.glsl.js +1 -1
- package/Rendering/SceneGraph/RenderPass.d.ts +2 -2
- package/Rendering/SceneGraph/ViewNode.d.ts +2 -2
- package/Rendering/SceneGraph/ViewNodeFactory.d.ts +1 -1
- package/Widgets/Manipulators/LineManipulator.d.ts +1 -1
- package/Widgets/Manipulators/PlaneManipulator.d.ts +1 -1
- package/Widgets/Manipulators/TrackballManipulator.d.ts +1 -1
- package/Widgets/Representations/ResliceCursorContextRepresentation.d.ts +1 -1
- package/Widgets/Representations/WidgetRepresentation.d.ts +1 -1
- package/interfaces.d.ts +4 -4
- package/macros.d.ts +1 -1
- package/package.json +1 -1
- package/types.d.ts +22 -1
- package/vtk.d.ts +7 -2
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { vtkAlgorithm, vtkObject } from '
|
|
2
|
-
import HtmlDataAccessHelper from '
|
|
3
|
-
import HttpDataAccessHelper from '
|
|
4
|
-
import JSZipDataAccessHelper from '
|
|
5
|
-
import LiteHttpDataAccessHelper from '
|
|
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
6
|
|
|
7
7
|
interface IPLYReaderOptions {
|
|
8
8
|
binary?: boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { mat4 } from "gl-matrix";
|
|
2
|
-
import vtkPolyData from '
|
|
3
|
-
import { vtkAlgorithm, vtkObject } from '
|
|
2
|
+
import vtkPolyData from '../../Common/DataModel/PolyData';
|
|
3
|
+
import { vtkAlgorithm, vtkObject } from '../../interfaces';
|
|
4
4
|
|
|
5
5
|
export enum FormatTypes {
|
|
6
6
|
ASCII,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { vtkAlgorithm, vtkObject } from '
|
|
2
|
-
import HtmlDataAccessHelper from '
|
|
3
|
-
import HttpDataAccessHelper from '
|
|
4
|
-
import JSZipDataAccessHelper from '
|
|
5
|
-
import LiteHttpDataAccessHelper from '
|
|
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
6
|
|
|
7
7
|
|
|
8
8
|
interface ISTLReaderOptions {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { mat4 } from "gl-matrix";
|
|
2
|
-
import vtkPolyData from '
|
|
3
|
-
import { vtkAlgorithm, vtkObject } from '
|
|
2
|
+
import vtkPolyData from '../../Common/DataModel/PolyData';
|
|
3
|
+
import { vtkAlgorithm, vtkObject } from '../../interfaces';
|
|
4
4
|
|
|
5
5
|
export enum FormatTypes {
|
|
6
6
|
ASCII,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { vtkAlgorithm, vtkObject, vtkSubscription } from '
|
|
2
|
-
import HtmlDataAccessHelper from '
|
|
3
|
-
import HttpDataAccessHelper from '
|
|
4
|
-
import JSZipDataAccessHelper from '
|
|
5
|
-
import LiteHttpDataAccessHelper from '
|
|
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';
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
interface IElevationReaderOptions {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { vtkAlgorithm, vtkObject } from '
|
|
2
|
-
import HtmlDataAccessHelper from '
|
|
3
|
-
import HttpDataAccessHelper from '
|
|
4
|
-
import JSZipDataAccessHelper from '
|
|
5
|
-
import LiteHttpDataAccessHelper from '
|
|
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
6
|
|
|
7
7
|
interface IJSONNucleoReaderOptions {
|
|
8
8
|
binary?: boolean;
|
package/IO/Misc/JSONReader.d.ts
CHANGED
package/IO/Misc/MTLReader.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { vtkObject, vtkSubscription } from '
|
|
1
|
+
import { vtkObject, vtkSubscription } from '../../interfaces';
|
|
2
2
|
|
|
3
|
-
import vtkActor from '
|
|
4
|
-
import HtmlDataAccessHelper from '
|
|
5
|
-
import HttpDataAccessHelper from '
|
|
6
|
-
import JSZipDataAccessHelper from '
|
|
7
|
-
import LiteHttpDataAccessHelper from '
|
|
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
|
|
|
10
10
|
interface IMTLReaderOptions {
|
package/IO/Misc/OBJReader.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { vtkAlgorithm, vtkObject, vtkSubscription } from '
|
|
2
|
-
import HtmlDataAccessHelper from '
|
|
3
|
-
import HttpDataAccessHelper from '
|
|
4
|
-
import JSZipDataAccessHelper from '
|
|
5
|
-
import LiteHttpDataAccessHelper from '
|
|
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';
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
interface IOBJReaderOptions {
|
package/IO/Misc/PDBReader.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { vtkAlgorithm, vtkObject, vtkSubscription } from '
|
|
2
|
-
import HtmlDataAccessHelper from '
|
|
3
|
-
import HttpDataAccessHelper from '
|
|
4
|
-
import JSZipDataAccessHelper from '
|
|
5
|
-
import LiteHttpDataAccessHelper from '
|
|
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';
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
interface IPDBReaderOptions {
|
package/IO/XML/XMLReader.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { vtkAlgorithm, vtkObject } from '
|
|
2
|
-
import HtmlDataAccessHelper from '
|
|
3
|
-
import HttpDataAccessHelper from '
|
|
4
|
-
import JSZipDataAccessHelper from '
|
|
5
|
-
import LiteHttpDataAccessHelper from '
|
|
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
6
|
|
|
7
7
|
|
|
8
8
|
interface IXMLReaderOptions {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
2
|
import macro from '../../macros.js';
|
|
3
3
|
import vtkAbstractImageInterpolator from './AbstractImageInterpolator.js';
|
|
4
|
-
import { vtkInterpolationMathRound, vtkInterpolationMathClamp, vtkInterpolationMathMirror, vtkInterpolationMathWrap,
|
|
4
|
+
import { vtkInterpolationMathRound, vtkInterpolationMathClamp, vtkInterpolationMathMirror, vtkInterpolationMathWrap, vtkInterpolationMathFloor, vtkInterpolationWeights } from './AbstractImageInterpolator/InterpolationInfo.js';
|
|
5
5
|
import { InterpolationMode, ImageBorderMode } from './AbstractImageInterpolator/Constants.js';
|
|
6
6
|
|
|
7
7
|
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; }
|
|
@@ -92,10 +92,80 @@ function vtkImageInterpolator(publicAPI, model) {
|
|
|
92
92
|
}
|
|
93
93
|
};
|
|
94
94
|
|
|
95
|
+
publicAPI.interpolateLinear = function (interpolationInfo, point, value) {
|
|
96
|
+
var inExt = interpolationInfo.extent;
|
|
97
|
+
var inInc = interpolationInfo.increments;
|
|
98
|
+
var numscalars = interpolationInfo.numberOfComponents;
|
|
99
|
+
var floorX = vtkInterpolationMathFloor(point[0]);
|
|
100
|
+
var floorY = vtkInterpolationMathFloor(point[1]);
|
|
101
|
+
var floorZ = vtkInterpolationMathFloor(point[2]);
|
|
102
|
+
var inIdX0 = floorX.floored;
|
|
103
|
+
var inIdY0 = floorY.floored;
|
|
104
|
+
var inIdZ0 = floorZ.floored;
|
|
105
|
+
var fx = floorX.error;
|
|
106
|
+
var fy = floorY.error;
|
|
107
|
+
var fz = floorZ.error;
|
|
108
|
+
var inIdX1 = inIdX0 + (fx !== 0);
|
|
109
|
+
var inIdY1 = inIdY0 + (fy !== 0);
|
|
110
|
+
var inIdZ1 = inIdZ0 + (fz !== 0);
|
|
111
|
+
|
|
112
|
+
switch (interpolationInfo.borderMode) {
|
|
113
|
+
case ImageBorderMode.REPEAT:
|
|
114
|
+
inIdX0 = vtkInterpolationMathWrap(inIdX0, inExt[0], inExt[1]);
|
|
115
|
+
inIdY0 = vtkInterpolationMathWrap(inIdY0, inExt[2], inExt[3]);
|
|
116
|
+
inIdZ0 = vtkInterpolationMathWrap(inIdZ0, inExt[4], inExt[5]);
|
|
117
|
+
inIdX1 = vtkInterpolationMathWrap(inIdX1, inExt[0], inExt[1]);
|
|
118
|
+
inIdY1 = vtkInterpolationMathWrap(inIdY1, inExt[2], inExt[3]);
|
|
119
|
+
inIdZ1 = vtkInterpolationMathWrap(inIdZ1, inExt[4], inExt[5]);
|
|
120
|
+
break;
|
|
121
|
+
|
|
122
|
+
case ImageBorderMode.MIRROR:
|
|
123
|
+
inIdX0 = vtkInterpolationMathMirror(inIdX0, inExt[0], inExt[1]);
|
|
124
|
+
inIdY0 = vtkInterpolationMathMirror(inIdY0, inExt[2], inExt[3]);
|
|
125
|
+
inIdZ0 = vtkInterpolationMathMirror(inIdZ0, inExt[4], inExt[5]);
|
|
126
|
+
inIdX1 = vtkInterpolationMathMirror(inIdX1, inExt[0], inExt[1]);
|
|
127
|
+
inIdY1 = vtkInterpolationMathMirror(inIdY1, inExt[2], inExt[3]);
|
|
128
|
+
inIdZ1 = vtkInterpolationMathMirror(inIdZ1, inExt[4], inExt[5]);
|
|
129
|
+
break;
|
|
130
|
+
|
|
131
|
+
default:
|
|
132
|
+
inIdX0 = vtkInterpolationMathClamp(inIdX0, inExt[0], inExt[1]);
|
|
133
|
+
inIdY0 = vtkInterpolationMathClamp(inIdY0, inExt[2], inExt[3]);
|
|
134
|
+
inIdZ0 = vtkInterpolationMathClamp(inIdZ0, inExt[4], inExt[5]);
|
|
135
|
+
inIdX1 = vtkInterpolationMathClamp(inIdX1, inExt[0], inExt[1]);
|
|
136
|
+
inIdY1 = vtkInterpolationMathClamp(inIdY1, inExt[2], inExt[3]);
|
|
137
|
+
inIdZ1 = vtkInterpolationMathClamp(inIdZ1, inExt[4], inExt[5]);
|
|
138
|
+
break;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
var factX0 = inIdX0 * inInc[0];
|
|
142
|
+
var factX1 = inIdX1 * inInc[0];
|
|
143
|
+
var factY0 = inIdY0 * inInc[1];
|
|
144
|
+
var factY1 = inIdY1 * inInc[1];
|
|
145
|
+
var factZ0 = inIdZ0 * inInc[2];
|
|
146
|
+
var factZ1 = inIdZ1 * inInc[2];
|
|
147
|
+
var i00 = factY0 + factZ0;
|
|
148
|
+
var i01 = factY0 + factZ1;
|
|
149
|
+
var i10 = factY1 + factZ0;
|
|
150
|
+
var i11 = factY1 + factZ1;
|
|
151
|
+
var rx = 1 - fx;
|
|
152
|
+
var ry = 1 - fy;
|
|
153
|
+
var rz = 1 - fz;
|
|
154
|
+
var ryrz = ry * rz;
|
|
155
|
+
var fyrz = fy * rz;
|
|
156
|
+
var ryfz = ry * fz;
|
|
157
|
+
var fyfz = fy * fz;
|
|
158
|
+
var inPtr = interpolationInfo.pointer;
|
|
159
|
+
|
|
160
|
+
for (var i = 0; i < numscalars; ++i) {
|
|
161
|
+
value[i] = rx * (ryrz * inPtr[factX0 + i00 + i * 4] + ryfz * inPtr[factX0 + i01 + i * 4] + fyrz * inPtr[factX0 + i10 + i * 4] + fyfz * inPtr[factX0 + i11 + i * 4]) + fx * (ryrz * inPtr[factX1 + i00 + i * 4] + ryfz * inPtr[factX1 + i01 + i * 4] + fyrz * inPtr[factX1 + i10 + i * 4] + fyfz * inPtr[factX1 + i11 + i * 4]);
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
|
|
95
165
|
publicAPI.interpolatePoint = function (interpolationInfo, point, value) {
|
|
96
166
|
switch (model.interpolationMode) {
|
|
97
167
|
case InterpolationMode.LINEAR:
|
|
98
|
-
|
|
168
|
+
publicAPI.interpolateLinear(interpolationInfo, point, value);
|
|
99
169
|
break;
|
|
100
170
|
|
|
101
171
|
case InterpolationMode.CUBIC:
|
|
@@ -123,10 +193,115 @@ function vtkImageInterpolator(publicAPI, model) {
|
|
|
123
193
|
}
|
|
124
194
|
};
|
|
125
195
|
|
|
196
|
+
publicAPI.interpolateRowLinear = function (weights, idX, idY, idZ, outPtr, n) {
|
|
197
|
+
var stepX = weights.kernelSize[0];
|
|
198
|
+
var stepY = weights.kernelSize[1];
|
|
199
|
+
var stepZ = weights.kernelSize[2];
|
|
200
|
+
var idXtemp = idX * stepX;
|
|
201
|
+
var idYtemp = idY * stepY;
|
|
202
|
+
var idZtemp = idZ * stepZ;
|
|
203
|
+
var fX = weights.weights[0].subarray(idXtemp);
|
|
204
|
+
var fY = weights.weights[1].subarray(idYtemp);
|
|
205
|
+
var fZ = weights.weights[2].subarray(idZtemp);
|
|
206
|
+
var iX = weights.positions[0].subarray(idXtemp);
|
|
207
|
+
var iY = weights.positions[1].subarray(idYtemp);
|
|
208
|
+
var iZ = weights.positions[2].subarray(idZtemp);
|
|
209
|
+
var inPtr = weights.pointer; // get the number of components per pixel
|
|
210
|
+
|
|
211
|
+
var numscalars = weights.numberOfComponents; // create a 2x2 bilinear kernel in local variables
|
|
212
|
+
|
|
213
|
+
var i00 = iY.subarray(iZ[0]);
|
|
214
|
+
var i01 = i00;
|
|
215
|
+
var i10 = i00;
|
|
216
|
+
var i11 = i00;
|
|
217
|
+
var ry = 1;
|
|
218
|
+
var fy = 0;
|
|
219
|
+
var rz = 1;
|
|
220
|
+
var fz = 0;
|
|
221
|
+
|
|
222
|
+
if (stepY === 2) {
|
|
223
|
+
i10 = iY[1].subarray(iZ[0]);
|
|
224
|
+
i11 = i10;
|
|
225
|
+
ry = fY[0];
|
|
226
|
+
fy = fY[1];
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
if (stepZ === 2) {
|
|
230
|
+
i01 = iY[0].subarray(iZ[1]);
|
|
231
|
+
i11 = i01;
|
|
232
|
+
rz = fZ[0];
|
|
233
|
+
fz = fZ[1];
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
if (stepY + stepZ === 4) {
|
|
237
|
+
i11 = iY[1].subarray(iZ[1]);
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
var ryrz = ry * rz;
|
|
241
|
+
var ryfz = ry * fz;
|
|
242
|
+
var fyrz = fy * rz;
|
|
243
|
+
var fyfz = fy * fz;
|
|
244
|
+
|
|
245
|
+
if (stepX === 1) {
|
|
246
|
+
if (fy === 0 && fz === 0) {
|
|
247
|
+
// no interpolation needed at all
|
|
248
|
+
for (var i = n; i > 0; --i) {
|
|
249
|
+
for (var j = 0; j < numscalars; j++) {
|
|
250
|
+
outPtr[j + n - i] = inPtr[i00 + iX[n - i] + j];
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
} else if (fy === 0) {
|
|
254
|
+
// only need linear z interpolation
|
|
255
|
+
for (var _i = n; _i > 0; --_i) {
|
|
256
|
+
for (var _j = 0; _j < numscalars; _j++) {
|
|
257
|
+
outPtr[_j + n - _i] = rz * inPtr[iX[n - _i] + i00 + _j * 4] + fz * inPtr[iX[n - _i] + i01 + _j * 4];
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
} else {
|
|
261
|
+
// interpolate in y and z but not in x
|
|
262
|
+
for (var _i2 = n; _i2 > 0; --_i2) {
|
|
263
|
+
for (var _j2 = 0; _j2 < numscalars; _j2++) {
|
|
264
|
+
outPtr[_j2 + n - _i2] = ryrz * inPtr[iX[n - _i2] + i00 + _j2 * 4] + ryfz * inPtr[iX[n - _i2] + i01 + _j2 * 4] + fyrz * inPtr[iX[n - _i2] + i10 + _j2 * 4] + fyfz * inPtr[iX[n - _i2] + i11 + _j2 * 4];
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
} else if (fz === 0) {
|
|
269
|
+
var x = 0; // bilinear interpolation in x,y
|
|
270
|
+
|
|
271
|
+
for (var _i3 = n; _i3 > 0; --_i3) {
|
|
272
|
+
var rx = fX[0 + 2 * x];
|
|
273
|
+
var fx = fX[1 + 2 * x];
|
|
274
|
+
var t0 = iX[0 + 2 * x];
|
|
275
|
+
var t1 = iX[1 + 2 * x];
|
|
276
|
+
|
|
277
|
+
for (var _j3 = 0; _j3 < numscalars; _j3++) {
|
|
278
|
+
outPtr[_j3 + n - _i3] = rx * (ry * inPtr[t0 + i00 + _j3 * 4] + fy * inPtr[t0 + i10 + _j3 * 4]) + fx * (ry * inPtr[t1 + i00 + _j3 * 4] + fy * inPtr[t1 + i10 + _j3 * 4]);
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
x++;
|
|
282
|
+
}
|
|
283
|
+
} else {
|
|
284
|
+
var _x = 0; // do full trilinear interpolation
|
|
285
|
+
|
|
286
|
+
for (var _i4 = n; _i4 > 0; --_i4) {
|
|
287
|
+
var _rx = fX[0 + 2 * _x];
|
|
288
|
+
var _fx = fX[1 + 2 * _x];
|
|
289
|
+
var _t = iX[0 + 2 * _x];
|
|
290
|
+
var _t2 = iX[1 + 2 * _x];
|
|
291
|
+
|
|
292
|
+
for (var _j4 = 0; _j4 < numscalars; _j4++) {
|
|
293
|
+
outPtr[_j4] = _rx * (ryrz * inPtr[_t + i00 + _j4 * 4] + ryfz * inPtr[_t + i01 + _j4 * 4] + fyrz * inPtr[_t + i10 + _j4 * 4] + fyfz * inPtr[_t + i11 + _j4 * 4]) + _fx * (ryrz * inPtr[_t2 + i00 + _j4 * 4] + ryfz * inPtr[_t2 + i01 + _j4 * 4] + fyrz * inPtr[_t2 + i10 + _j4 * 4] + fyfz * inPtr[_t2 + i11 + _j4 * 4]);
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
_x++;
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
};
|
|
300
|
+
|
|
126
301
|
publicAPI.interpolateRow = function (weights, xIdx, yIdx, zIdx, value, n) {
|
|
127
302
|
switch (model.interpolationMode) {
|
|
128
303
|
case InterpolationMode.LINEAR:
|
|
129
|
-
|
|
304
|
+
publicAPI.interpolateRowLinear(weights, xIdx, yIdx, zIdx, value, n);
|
|
130
305
|
break;
|
|
131
306
|
|
|
132
307
|
case InterpolationMode.CUBIC:
|
|
@@ -311,9 +486,9 @@ function vtkImageInterpolator(publicAPI, model) {
|
|
|
311
486
|
|
|
312
487
|
if (!validClip) {
|
|
313
488
|
// output extent doesn't itersect input extent
|
|
314
|
-
for (var
|
|
315
|
-
clipExt[2 *
|
|
316
|
-
clipExt[2 *
|
|
489
|
+
for (var _j5 = 0; _j5 < 3; _j5++) {
|
|
490
|
+
clipExt[2 * _j5] = outExt[2 * _j5];
|
|
491
|
+
clipExt[2 * _j5 + 1] = outExt[2 * _j5] - 1;
|
|
317
492
|
}
|
|
318
493
|
}
|
|
319
494
|
};
|
|
@@ -1000,7 +1000,7 @@ function extend(publicAPI, model) {
|
|
|
1000
1000
|
macro.obj(publicAPI, model); // Also make it an algorithm with one input and one output
|
|
1001
1001
|
|
|
1002
1002
|
macro.algo(publicAPI, model, 1, 1);
|
|
1003
|
-
macro.setGet(publicAPI, model, ['outputDimensionality', 'outputScalarType', 'scalarShift', 'scalarScale', 'transformInputSampling', 'autoCropOutput', 'wrap', 'mirror', 'border', 'backgroundColor', 'slabMode', 'slabTrapezoidIntegration', 'slabNumberOfSlices', 'slabSliceSpacingFraction']);
|
|
1003
|
+
macro.setGet(publicAPI, model, ['outputDimensionality', 'outputScalarType', 'scalarShift', 'scalarScale', 'transformInputSampling', 'autoCropOutput', 'wrap', 'mirror', 'border', 'backgroundColor', 'interpolationMode', 'slabMode', 'slabTrapezoidIntegration', 'slabNumberOfSlices', 'slabSliceSpacingFraction']);
|
|
1004
1004
|
macro.setGetArray(publicAPI, model, ['outputOrigin', 'outputSpacing'], 3);
|
|
1005
1005
|
macro.setGetArray(publicAPI, model, ['outputExtent'], 6);
|
|
1006
1006
|
setNullArray(publicAPI, model, ['outputOrigin', 'outputSpacing', 'outputExtent']);
|
|
@@ -149,12 +149,64 @@ function vtkMouseRangeManipulator(publicAPI, model) {
|
|
|
149
149
|
model.containerSize = size.map(function (v) {
|
|
150
150
|
return v * ratio;
|
|
151
151
|
});
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
publicAPI.onButtonUp = function (interactor) {
|
|
155
|
+
interactor.exitPointerLock();
|
|
156
|
+
}; //--------------------------------------------------------------------------
|
|
157
|
+
// TODO: at some point, this should perhaps be done in
|
|
158
|
+
// RenderWindowInteractor instead of here.
|
|
159
|
+
// We need to hook into mousemove directly for two reasons:
|
|
160
|
+
// 1. We need to keep receiving mouse move events after the mouse button
|
|
161
|
+
// is released. This is currently not possible with
|
|
162
|
+
// vtkInteractorStyleManipulator.
|
|
163
|
+
// 2. Since the mouse is stationary in pointer lock mode, we need the
|
|
164
|
+
// event.movementX and event.movementY info, which are not currently
|
|
165
|
+
// passed via interactor.onMouseMove.
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
publicAPI.startPointerLockEvent = function (interactor, renderer) {
|
|
169
|
+
var handlePointerLockMove = function handlePointerLockMove(event) {
|
|
170
|
+
publicAPI.onPointerLockMove(interactor, renderer, event);
|
|
171
|
+
};
|
|
172
|
+
|
|
173
|
+
document.addEventListener('mousemove', handlePointerLockMove);
|
|
174
|
+
var subscription = null;
|
|
175
|
+
|
|
176
|
+
var endInteraction = function endInteraction() {
|
|
177
|
+
var _subscription;
|
|
178
|
+
|
|
179
|
+
document.removeEventListener('mousemove', handlePointerLockMove);
|
|
180
|
+
(_subscription = subscription) === null || _subscription === void 0 ? void 0 : _subscription.unsubscribe();
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
subscription = interactor === null || interactor === void 0 ? void 0 : interactor.onEndPointerLock(endInteraction);
|
|
184
|
+
};
|
|
185
|
+
|
|
186
|
+
publicAPI.onPointerLockMove = function (interactor, renderer, event) {
|
|
187
|
+
// There is a slight delay between the `onEndPointerLock` call
|
|
188
|
+
// and the last `onMouseMove` event, we must make sure the pointer
|
|
189
|
+
// is still locked before we run this logic otherwise we may
|
|
190
|
+
// get a `onMouseMove` call after the pointer has been unlocked.
|
|
191
|
+
if (!interactor.isPointerLocked()) return;
|
|
192
|
+
model.previousPosition.x += event.movementX;
|
|
193
|
+
model.previousPosition.y += event.movementY;
|
|
194
|
+
publicAPI.onMouseMove(interactor, renderer, model.previousPosition);
|
|
152
195
|
}; //-------------------------------------------------------------------------
|
|
153
196
|
|
|
154
197
|
|
|
155
198
|
publicAPI.onMouseMove = function (interactor, renderer, position) {
|
|
156
199
|
if (!model.verticalListener && !model.horizontalListener) {
|
|
157
200
|
return;
|
|
201
|
+
} // We only want to initialize the pointer lock listener
|
|
202
|
+
// after the user starts moving their mouse, this way
|
|
203
|
+
// we don't interfere with other events such as doubleClick,
|
|
204
|
+
// for this reason we don't call this from `onButtonDown`
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
if (model.usePointerLock && !interactor.isPointerLocked()) {
|
|
208
|
+
interactor.requestPointerLock();
|
|
209
|
+
publicAPI.startPointerLockEvent(interactor, renderer);
|
|
158
210
|
}
|
|
159
211
|
|
|
160
212
|
if (!position) {
|
|
@@ -202,7 +254,9 @@ function extend(publicAPI, model) {
|
|
|
202
254
|
Object.assign(model, DEFAULT_VALUES, initialValues); // Inheritance
|
|
203
255
|
|
|
204
256
|
macro.obj(publicAPI, model);
|
|
205
|
-
vtkCompositeMouseManipulator.extend(publicAPI, model, initialValues); //
|
|
257
|
+
vtkCompositeMouseManipulator.extend(publicAPI, model, initialValues); // Create get-set macros
|
|
258
|
+
|
|
259
|
+
macro.setGet(publicAPI, model, ['usePointerLock']); // Object specific methods
|
|
206
260
|
|
|
207
261
|
vtkMouseRangeManipulator(publicAPI, model);
|
|
208
262
|
} // ----------------------------------------------------------------------------
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { vtkObject } from '
|
|
2
|
-
import vtkAnnotatedCubeActor from '
|
|
3
|
-
import vtkAxesActor from '
|
|
4
|
-
import vtkRenderer from '
|
|
5
|
-
import vtkRenderWindowInteractor from '
|
|
1
|
+
import { vtkObject } from '../../interfaces';
|
|
2
|
+
import vtkAnnotatedCubeActor from '../../Rendering/Core/AnnotatedCubeActor';
|
|
3
|
+
import vtkAxesActor from '../../Rendering/Core/AxesActor';
|
|
4
|
+
import vtkRenderer from '../../Rendering/Core/Renderer';
|
|
5
|
+
import vtkRenderWindowInteractor from '../../Rendering/Core/RenderWindowInteractor';
|
|
6
|
+
import { Nullable } from '../../types';
|
|
6
7
|
|
|
7
8
|
export enum Corners {
|
|
8
9
|
TOP_LEFT,
|
|
@@ -48,7 +49,7 @@ export interface vtkOrientationMarkerWidget extends vtkObject {
|
|
|
48
49
|
/**
|
|
49
50
|
* Gets the parent renderer, if any.
|
|
50
51
|
*/
|
|
51
|
-
getParentRenderer(): vtkRenderer
|
|
52
|
+
getParentRenderer(): Nullable<vtkRenderer>;
|
|
52
53
|
|
|
53
54
|
/**
|
|
54
55
|
* Get wheter the orientation marker is enabled.
|
|
@@ -89,13 +90,13 @@ export interface vtkOrientationMarkerWidget extends vtkObject {
|
|
|
89
90
|
|
|
90
91
|
/**
|
|
91
92
|
* Get the actor associated with the widget.
|
|
92
|
-
* @param actor
|
|
93
|
+
* @param {vtkAnnotatedCubeActor | vtkAxesActor} actor The actor instance.
|
|
93
94
|
*/
|
|
94
95
|
setActor(actor: vtkAnnotatedCubeActor | vtkAxesActor): void;
|
|
95
96
|
|
|
96
97
|
/**
|
|
97
98
|
* Sets the parent renderer
|
|
98
|
-
* @param ren The parent renderer
|
|
99
|
+
* @param {vtkRenderer} ren The parent renderer
|
|
99
100
|
*/
|
|
100
101
|
setParentRenderer(ren: vtkRenderer): boolean;
|
|
101
102
|
|
|
@@ -135,9 +136,10 @@ export interface vtkOrientationMarkerWidget extends vtkObject {
|
|
|
135
136
|
setViewportCorner(viewportCorner: Corners): boolean;
|
|
136
137
|
|
|
137
138
|
/**
|
|
138
|
-
* Set the viewport size.
|
|
139
|
+
* Set the viewport size.
|
|
140
|
+
* The sizeFactor should be between 0.0 and 1.0.
|
|
139
141
|
* It says how much of the main render window to color.
|
|
140
|
-
* @param sizeFactor
|
|
142
|
+
* @param {Number} sizeFactor
|
|
141
143
|
* @default 0.2
|
|
142
144
|
*/
|
|
143
145
|
setViewportSize(sizeFactor: number): void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { vtkAlgorithm, vtkObject } from '
|
|
2
|
-
import vtkPlane from '
|
|
1
|
+
import { vtkAlgorithm, vtkObject } from '../../interfaces';
|
|
2
|
+
import vtkPlane from '../../Common/DataModel/Plane';
|
|
3
3
|
import { mat4 } from "gl-matrix";
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Bounds, Vector3 } from '
|
|
2
|
-
import vtkAbstractMapper, { IAbstractMapperInitialValues } from '
|
|
1
|
+
import { Bounds, Vector3 } from '../../types';
|
|
2
|
+
import vtkAbstractMapper, { IAbstractMapperInitialValues } from './AbstractMapper';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
*
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { vtkObject } from '
|
|
2
|
-
import { Vector3 } from '
|
|
3
|
-
import vtkActor from '
|
|
4
|
-
import vtkRenderer from '
|
|
1
|
+
import { vtkObject } from '../../interfaces' ;
|
|
2
|
+
import { Vector3 } from '../../types';
|
|
3
|
+
import vtkActor from './Actor';
|
|
4
|
+
import vtkRenderer from './Renderer'
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
*
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Bounds } from '
|
|
2
|
-
import vtkMapper from '
|
|
3
|
-
import vtkProp3D, { IProp3DInitialValues } from '
|
|
4
|
-
import vtkProperty from '
|
|
1
|
+
import { Bounds } from '../../types';
|
|
2
|
+
import vtkMapper from './Mapper';
|
|
3
|
+
import vtkProp3D, { IProp3DInitialValues } from './Prop3D';
|
|
4
|
+
import vtkProperty from './Property';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
*
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import vtkProp, { IPropInitialValues } from '
|
|
2
|
-
import vtkCoordinate from '
|
|
3
|
-
import vtkMapper from '
|
|
4
|
-
import vtkProperty from '
|
|
5
|
-
import { Bounds } from '
|
|
1
|
+
import vtkProp, { IPropInitialValues } from './Prop';
|
|
2
|
+
import vtkCoordinate from './Coordinate';
|
|
3
|
+
import vtkMapper from './Mapper';
|
|
4
|
+
import vtkProperty from './Property';
|
|
5
|
+
import { Bounds } from '../../types';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { mat4 } from 'gl-matrix';
|
|
2
|
-
import { vtkObject } from '
|
|
3
|
-
import { Bounds, Vector3, Range } from '
|
|
2
|
+
import { vtkObject } from '../../interfaces' ;
|
|
3
|
+
import { Bounds, Vector3, Range } from '../../types';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
*
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import vtkCell from '
|
|
2
|
-
import { Vector3 } from '
|
|
3
|
-
import vtkMapper from '
|
|
4
|
-
import vtkPicker, { IPickerInitialValues } from '
|
|
5
|
-
import vtkRenderer from '
|
|
1
|
+
import vtkCell from '../../Common/DataModel/Cell';
|
|
2
|
+
import { Vector3 } from '../../types';
|
|
3
|
+
import vtkMapper from './Mapper';
|
|
4
|
+
import vtkPicker, { IPickerInitialValues } from './Picker';
|
|
5
|
+
import vtkRenderer from './Renderer';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
*
|