@cornerstonejs/core 0.10.0 → 0.10.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/dist/cjs/RenderingEngine/RenderingEngine.js +2 -1
- package/dist/cjs/RenderingEngine/RenderingEngine.js.map +1 -1
- package/dist/cjs/RenderingEngine/StackViewport.d.ts +1 -1
- package/dist/cjs/RenderingEngine/StackViewport.js +35 -20
- package/dist/cjs/RenderingEngine/StackViewport.js.map +1 -1
- package/dist/cjs/RenderingEngine/Viewport.d.ts +1 -1
- package/dist/cjs/RenderingEngine/Viewport.js +28 -28
- package/dist/cjs/RenderingEngine/Viewport.js.map +1 -1
- package/dist/cjs/RenderingEngine/VolumeViewport.d.ts +1 -1
- package/dist/cjs/RenderingEngine/VolumeViewport.js +48 -24
- package/dist/cjs/RenderingEngine/VolumeViewport.js.map +1 -1
- package/dist/cjs/RenderingEngine/vtkClasses/vtkSlabCamera.d.ts +12 -0
- package/dist/cjs/RenderingEngine/vtkClasses/vtkSlabCamera.js +11 -2
- package/dist/cjs/RenderingEngine/vtkClasses/vtkSlabCamera.js.map +1 -1
- package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +2 -0
- package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js.map +1 -1
- package/dist/cjs/constants/index.d.ts +2 -2
- package/dist/cjs/constants/index.js +2 -2
- package/dist/cjs/constants/index.js.map +1 -1
- package/dist/cjs/constants/rendering.d.ts +5 -2
- package/dist/cjs/constants/rendering.js +6 -2
- package/dist/cjs/constants/rendering.js.map +1 -1
- package/dist/cjs/types/IActor.d.ts +4 -2
- package/dist/cjs/types/IStackViewport.d.ts +1 -1
- package/dist/cjs/types/IVolumeViewport.d.ts +1 -1
- package/dist/cjs/types/index.d.ts +2 -2
- package/dist/cjs/utilities/getImageSliceDataForVolumeViewport.js +3 -3
- package/dist/cjs/utilities/getImageSliceDataForVolumeViewport.js.map +1 -1
- package/dist/cjs/utilities/getVolumeViewportsContainingVolumeId.js +2 -2
- package/dist/cjs/utilities/getVolumeViewportsContainingVolumeId.js.map +1 -1
- package/dist/esm/RenderingEngine/RenderingEngine.js +2 -1
- package/dist/esm/RenderingEngine/RenderingEngine.js.map +1 -1
- package/dist/esm/RenderingEngine/StackViewport.d.ts +1 -1
- package/dist/esm/RenderingEngine/StackViewport.js +35 -20
- package/dist/esm/RenderingEngine/StackViewport.js.map +1 -1
- package/dist/esm/RenderingEngine/Viewport.d.ts +1 -1
- package/dist/esm/RenderingEngine/Viewport.js +29 -29
- package/dist/esm/RenderingEngine/Viewport.js.map +1 -1
- package/dist/esm/RenderingEngine/VolumeViewport.d.ts +1 -1
- package/dist/esm/RenderingEngine/VolumeViewport.js +49 -25
- package/dist/esm/RenderingEngine/VolumeViewport.js.map +1 -1
- package/dist/esm/RenderingEngine/vtkClasses/vtkSlabCamera.d.ts +12 -0
- package/dist/esm/RenderingEngine/vtkClasses/vtkSlabCamera.js +11 -2
- package/dist/esm/RenderingEngine/vtkClasses/vtkSlabCamera.js.map +1 -1
- package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +2 -0
- package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js.map +1 -1
- package/dist/esm/constants/index.d.ts +2 -2
- package/dist/esm/constants/index.js +2 -2
- package/dist/esm/constants/index.js.map +1 -1
- package/dist/esm/constants/rendering.d.ts +5 -2
- package/dist/esm/constants/rendering.js +6 -2
- package/dist/esm/constants/rendering.js.map +1 -1
- package/dist/esm/types/IActor.d.ts +4 -2
- package/dist/esm/types/IStackViewport.d.ts +1 -1
- package/dist/esm/types/IVolumeViewport.d.ts +1 -1
- package/dist/esm/types/index.d.ts +2 -2
- package/dist/esm/utilities/getImageSliceDataForVolumeViewport.js +3 -3
- package/dist/esm/utilities/getImageSliceDataForVolumeViewport.js.map +1 -1
- package/dist/esm/utilities/getVolumeViewportsContainingVolumeId.js +2 -2
- package/dist/esm/utilities/getVolumeViewportsContainingVolumeId.js.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -5,7 +5,7 @@ import _cloneDeep from 'lodash.clonedeep';
|
|
|
5
5
|
import Events from '../enums/Events';
|
|
6
6
|
import renderingEngineCache from './renderingEngineCache';
|
|
7
7
|
import { triggerEvent, planar } from '../utilities';
|
|
8
|
-
import {
|
|
8
|
+
import { RENDERINGDEFAULTS } from '../constants';
|
|
9
9
|
class Viewport {
|
|
10
10
|
constructor(props) {
|
|
11
11
|
this.flipHorizontal = false;
|
|
@@ -13,12 +13,12 @@ class Viewport {
|
|
|
13
13
|
this.rotation = 0;
|
|
14
14
|
this._suppressCameraModifiedEvents = false;
|
|
15
15
|
this.applyFlipTx = (worldPos) => {
|
|
16
|
-
const
|
|
17
|
-
if (!
|
|
16
|
+
const actorEntry = this.getDefaultActor();
|
|
17
|
+
if (!actorEntry) {
|
|
18
18
|
return worldPos;
|
|
19
19
|
}
|
|
20
|
-
const
|
|
21
|
-
const mat =
|
|
20
|
+
const actor = actorEntry.actor;
|
|
21
|
+
const mat = actor.getMatrix();
|
|
22
22
|
const newPos = vec3.create();
|
|
23
23
|
const matT = mat4.create();
|
|
24
24
|
mat4.transpose(matT, mat);
|
|
@@ -132,25 +132,25 @@ class Viewport {
|
|
|
132
132
|
.scale(1, -1, 1)
|
|
133
133
|
.multiply(transformBackFromOriginTx.getMatrix());
|
|
134
134
|
}
|
|
135
|
-
const
|
|
136
|
-
|
|
137
|
-
const
|
|
138
|
-
const mat =
|
|
135
|
+
const actorEntries = this.getActors();
|
|
136
|
+
actorEntries.forEach((actorEntry) => {
|
|
137
|
+
const actor = actorEntry.actor;
|
|
138
|
+
const mat = actor.getUserMatrix();
|
|
139
139
|
if (flipHTx) {
|
|
140
140
|
mat4.multiply(mat, mat, flipHTx.getMatrix());
|
|
141
141
|
}
|
|
142
142
|
if (flipVTx) {
|
|
143
143
|
mat4.multiply(mat, mat, flipVTx.getMatrix());
|
|
144
144
|
}
|
|
145
|
-
|
|
145
|
+
actor.setUserMatrix(mat);
|
|
146
146
|
this.getRenderingEngine().render();
|
|
147
147
|
});
|
|
148
148
|
this.getRenderingEngine().render();
|
|
149
149
|
}
|
|
150
150
|
getDefaultImageData() {
|
|
151
|
-
const
|
|
152
|
-
if (actor) {
|
|
153
|
-
return actor.
|
|
151
|
+
const actorEntry = this.getDefaultActor();
|
|
152
|
+
if (actorEntry && actorEntry.actor.isA('vtkVolume')) {
|
|
153
|
+
return actorEntry.actor.getMapper().getInputData();
|
|
154
154
|
}
|
|
155
155
|
}
|
|
156
156
|
getDefaultActor() {
|
|
@@ -177,13 +177,13 @@ class Viewport {
|
|
|
177
177
|
this.addActors(actors, resetCameraPanAndZoom);
|
|
178
178
|
}
|
|
179
179
|
removeActor(actorUID) {
|
|
180
|
-
const
|
|
181
|
-
if (!
|
|
180
|
+
const actorEntry = this.getActor(actorUID);
|
|
181
|
+
if (!actorEntry) {
|
|
182
182
|
console.warn(`Actor ${actorUID} does not exist for this viewport`);
|
|
183
183
|
return;
|
|
184
184
|
}
|
|
185
185
|
const renderer = this.getRenderer();
|
|
186
|
-
renderer.removeViewProp(actor
|
|
186
|
+
renderer.removeViewProp(actorEntry.actor);
|
|
187
187
|
this._actors.delete(actorUID);
|
|
188
188
|
}
|
|
189
189
|
removeActors(actorUIDs) {
|
|
@@ -196,22 +196,21 @@ class Viewport {
|
|
|
196
196
|
this.resetCamera(resetCameraPanAndZoom, resetCameraPanAndZoom);
|
|
197
197
|
}
|
|
198
198
|
addActor(actorEntry) {
|
|
199
|
-
const { uid: actorUID,
|
|
199
|
+
const { uid: actorUID, actor } = actorEntry;
|
|
200
200
|
const renderingEngine = this.getRenderingEngine();
|
|
201
201
|
if (!renderingEngine || renderingEngine.hasBeenDestroyed) {
|
|
202
202
|
console.warn(`Cannot add actor UID of ${actorUID} Rendering Engine has been destroyed`);
|
|
203
203
|
return;
|
|
204
204
|
}
|
|
205
|
-
if (!actorUID || !
|
|
206
|
-
throw new Error('Actors should have uid and vtk
|
|
205
|
+
if (!actorUID || !actor) {
|
|
206
|
+
throw new Error('Actors should have uid and vtk Actor properties');
|
|
207
207
|
}
|
|
208
|
-
|
|
209
|
-
if (actor) {
|
|
208
|
+
if (this.getActor(actorUID)) {
|
|
210
209
|
console.warn(`Actor ${actorUID} already exists for this viewport`);
|
|
211
210
|
return;
|
|
212
211
|
}
|
|
213
212
|
const renderer = this.getRenderer();
|
|
214
|
-
renderer.addActor(
|
|
213
|
+
renderer.addActor(actor);
|
|
215
214
|
this._actors.set(actorUID, Object.assign({}, actorEntry));
|
|
216
215
|
}
|
|
217
216
|
removeAllActors() {
|
|
@@ -325,7 +324,7 @@ class Viewport {
|
|
|
325
324
|
}
|
|
326
325
|
renderer.invokeEvent(RESET_CAMERA_EVENT);
|
|
327
326
|
this.checkAndTriggerCameraModifiedEvent(previousCamera, this.getCamera());
|
|
328
|
-
return
|
|
327
|
+
return true;
|
|
329
328
|
}
|
|
330
329
|
_getFocalPointForViewPlaneReset(imageData) {
|
|
331
330
|
const { focalPoint, viewPlaneNormal: normal } = this.getCamera();
|
|
@@ -409,13 +408,14 @@ class Viewport {
|
|
|
409
408
|
}
|
|
410
409
|
}
|
|
411
410
|
updateActorsClippingPlanesOnCameraModified(updatedCamera) {
|
|
412
|
-
const
|
|
413
|
-
|
|
414
|
-
const mapper = actor.
|
|
411
|
+
const actorEntries = this.getActors();
|
|
412
|
+
actorEntries.forEach((actorEntry) => {
|
|
413
|
+
const mapper = actorEntry.actor.getMapper();
|
|
415
414
|
const vtkPlanes = mapper.getClippingPlanes();
|
|
416
|
-
let slabThickness = MINIMUM_SLAB_THICKNESS;
|
|
417
|
-
if (
|
|
418
|
-
slabThickness
|
|
415
|
+
let slabThickness = RENDERINGDEFAULTS.MINIMUM_SLAB_THICKNESS;
|
|
416
|
+
if (actorEntry.slabThicknessEnabled !== false &&
|
|
417
|
+
actorEntry.slabThickness) {
|
|
418
|
+
slabThickness = actorEntry.slabThickness;
|
|
419
419
|
}
|
|
420
420
|
this.setOrientationOfClippingPlanes(vtkPlanes, slabThickness, updatedCamera.viewPlaneNormal, updatedCamera.focalPoint);
|
|
421
421
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Viewport.js","sourceRoot":"","sources":["../../../src/RenderingEngine/Viewport.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,2CAA2C,CAAC;AACzE,OAAO,OAAO,MAAM,kCAAkC,CAAC;AAGvD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAE1C,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAapD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAWtD,MAAM,QAAQ;IAiCZ,YAAY,KAAoB;QAtBtB,mBAAc,GAAG,KAAK,CAAC;QACvB,iBAAY,GAAG,KAAK,CAAC;QACrB,aAAQ,GAAG,CAAC,CAAC;QAgBf,kCAA6B,GAAG,KAAK,CAAC;QA0GpC,gBAAW,GAAG,CAAC,QAAgB,EAAU,EAAE;YACnD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAErC,IAAI,CAAC,KAAK,EAAE;gBACV,OAAO,QAAQ,CAAC;aACjB;YAED,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;YACtC,MAAM,GAAG,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;YAEpC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAE3C,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC;QArHA,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QAEzB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,mBAAmB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,CAAC,YAAY,CACvB,2BAA2B,EAC3B,IAAI,CAAC,iBAAiB,CACvB,CAAC;QAEF,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACvD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc;YACvD,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc;YACrC,CAAC,CAAC,KAAK,CAAC;QACV,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAClD,CAAC;IASD,MAAM,KAAK,0BAA0B;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IAOM,kBAAkB;QACvB,OAAO,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC1D,CAAC;IAOM,WAAW;QAChB,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAElD,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,gBAAgB,EAAE;YACxD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QAED,OAAO,eAAe,CAAC,0BAA0B,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;IAKM,MAAM;QACX,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAElD,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1C,CAAC;IAQM,UAAU,CAAC,OAA6B,EAAE,SAAS,GAAG,KAAK;QAChE,IAAI,CAAC,OAAO,GAAyB,UAAU,CAAC,OAAO,CAAC,CAAC;QAKzD,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,MAAM,EAAE,CAAC;SACf;IACH,CAAC;IAOM,KAAK,CAAC,SAAS,GAAG,KAAK;QAC5B,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAK/C,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,MAAM,EAAE,CAAC;SACf;IACH,CAAC;IA4BS,IAAI,CAAC,EAAE,cAAc,EAAE,YAAY,EAAiB;QAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE7C,IAAI,CAAC,SAAS,EAAE;YACd,OAAO;SACR;QAED,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,KAAK,GAAG,KAAK,CAAC;QAElB,IACE,OAAO,cAAc,KAAK,WAAW;YACrC,CAAC,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;gBACvC,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,EAC3C;YACA,KAAK,GAAG,IAAI,CAAC;SACd;QAED,IACE,OAAO,YAAY,KAAK,WAAW;YACnC,CAAC,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;gBACnC,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,EACvC;YACA,KAAK,GAAG,IAAI,CAAC;SACd;QAED,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE;YACpB,OAAO;SACR;QAUD,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;QAEvC,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAGtC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAExE,IAAI,OAAO,EAAE,OAAO,CAAC;QAErB,MAAM,mBAAmB,GAAG,gBAAgB;aACzC,eAAe,EAAE;aACjB,QAAQ,EAAE;aACV,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAC1C,oBAAoB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;aACxC,oBAAoB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE5C,MAAM,yBAAyB,GAAG,gBAAgB;aAC/C,eAAe,EAAE;aACjB,QAAQ,EAAE;aACV,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC;aACxC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC;aACxC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjD,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YACrC,OAAO,GAAG,gBAAgB;iBACvB,eAAe,EAAE;iBACjB,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC;iBACzC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;iBACf,QAAQ,CAAC,yBAAyB,CAAC,SAAS,EAAE,CAAC,CAAC;SACpD;QAED,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YACjC,OAAO,GAAG,gBAAgB;iBACvB,eAAe,EAAE;iBACjB,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC;iBACzC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;iBACf,QAAQ,CAAC,yBAAyB,CAAC,SAAS,EAAE,CAAC,CAAC;SACpD;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAEhC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACvB,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;YAEtC,MAAM,GAAG,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC;YAExC,IAAI,OAAO,EAAE;gBACX,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;aAC9C;YAED,IAAI,OAAO,EAAE;gBACX,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;aAC9C;YAED,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAE/B,IAAI,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,CAAC;IACrC,CAAC;IAEO,mBAAmB;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAErC,IAAI,KAAK,EAAE;YACT,OAAO,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,CAAC;SACrD;IACH,CAAC;IAMM,eAAe;QACpB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAMM,SAAS;QACd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAOM,QAAQ,CAAC,QAAgB;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAOM,kBAAkB,CAAC,KAAa;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,KAAK,EAAE;YACT,OAAO,KAAK,CAAC,GAAG,CAAC;SAClB;IACH,CAAC;IAOM,eAAe,CAAC,KAAa;QAClC,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAMM,SAAS,CAAC,MAAyB;QACxC,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,MAAM,qBAAqB,GAAG,IAAI,CAAC;QAGnC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAChD,CAAC;IAMM,WAAW,CAAC,QAAgB;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,CAAC,IAAI,CAAC,SAAS,QAAQ,mCAAmC,CAAC,CAAC;YACnE,OAAO;SACR;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAMM,YAAY,CAAC,SAAwB;QAC1C,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC7B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAQM,SAAS,CACd,MAAyB,EACzB,qBAAqB,GAAG,KAAK;QAE7B,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAGhD,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,CAAC;IACjE,CAAC;IAUM,QAAQ,CAAC,UAAsB;QACpC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC;QAClD,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAElD,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,gBAAgB,EAAE;YACxD,OAAO,CAAC,IAAI,CACV,2BAA2B,QAAQ,sCAAsC,CAC1E,CAAC;YACF,OAAO;SACR;QAED,IAAI,CAAC,QAAQ,IAAI,CAAC,WAAW,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;SAC1E;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,KAAK,EAAE;YACT,OAAO,CAAC,IAAI,CAAC,SAAS,QAAQ,mCAAmC,CAAC,CAAC;YACnE,OAAO;SACR;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;IAC5D,CAAC;IAKM,eAAe;QACpB,IAAI,CAAC,WAAW,EAAE,CAAC,kBAAkB,EAAE,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QACzB,OAAO;IACT,CAAC;IAKS,kBAAkB;QAC1B,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC;QAC1C,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,6BAA6B,GAAG,KAAK,CAAC;IAC7C,CAAC;IAMS,gBAAgB,CAAC,MAAe;QACxC,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC;QAC1C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACvB,IAAI,CAAC,6BAA6B,GAAG,KAAK,CAAC;IAC7C,CAAC;IAgBO,8BAA8B,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM;QAElE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAGpE,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAErC,MAAM,aAAa,GAAG,EAAE,CAAC;QAEzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YAExB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;YAE1C,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE;gBACvD,SAAS;aACV;YACD,MAAM,iBAAiB,GAAG,MAAM,CAAC,qBAAqB,CACpD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EACZ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EACZ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CACb,CAAC;YAEF,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,MAAM,CAAC,EAAE;gBAC/C,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;aACvC;SACF;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAWS,WAAW,CAAC,QAAQ,GAAG,IAAI,EAAE,SAAS,GAAG,IAAI;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAEpD,MAAM,MAAM,GAAG,QAAQ,CAAC,wBAAwB,EAAE,CAAC;QACnD,MAAM,UAAU,GAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAG7C,IAAI,SAAS,EAAE;YACb,MAAM,GAAG,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC;YAEnC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SACpC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC/C,MAAM,eAAe,GAAW,YAAY,CAAC,kBAAkB,EAAE,CAAC;QAClE,MAAM,MAAM,GAAW,YAAY,CAAC,SAAS,EAAE,CAAC;QAKhD,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAEhC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QAC9C,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QAC9C,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QAE9C,IAAI,SAAS,EAAE;YACb,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;YAC7C,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAE3D,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;SACzC;QAED,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAC/B,IAAI,CAAC,mCAAmC,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;QAE5E,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAE/C,MAAM,iBAAiB,GAAG,UAAU,GAAG,WAAW,CAAC;QACnD,MAAM,iBAAiB,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAExD,IAAI,MAAM,CAAC;QAEX,IAAI,iBAAiB,GAAG,iBAAiB,EAAE;YAEzC,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC;SAC1B;aAAM;YACL,MAAM,WAAW,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;YAE1D,MAAM,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;SAC1C;QAGD,MAAM,aAAa,GAAG,GAAG,GAAG,MAAM,CAAC;QAEnC,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/B,EAAE,IAAI,EAAE,CAAC;QACT,EAAE,IAAI,EAAE,CAAC;QACT,EAAE,IAAI,EAAE,CAAC;QACT,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QAGtB,MAAM,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;QAGrC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;QAEjC,MAAM,QAAQ,GAAG,GAAG,GAAG,MAAM,CAAC;QAI9B,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,GAAG,KAAK,EAAE;YAC1D,YAAY,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1D;QAED,IAAI,eAAe,GAAG,UAAU,CAAC;QAEjC,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE;YAC1B,eAAe,GAAG,cAAc,CAAC,UAAU,CAAC;SAC7C;QAED,YAAY,CAAC,aAAa,CACxB,eAAe,CAAC,CAAC,CAAC,EAClB,eAAe,CAAC,CAAC,CAAC,EAClB,eAAe,CAAC,CAAC,CAAC,CACnB,CAAC;QACF,YAAY,CAAC,WAAW,CACtB,eAAe,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,EAClD,eAAe,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,EAClD,eAAe,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,CACnD,CAAC;QAEF,QAAQ,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QAE1C,IAAI,SAAS,EAAE;YACb,YAAY,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;SAC9C;QAGD,YAAY,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAGtC,YAAY,CAAC,sBAAsB,CACjC,CAAC,eAAe,CAAC,CAAC,CAAC,EACnB,CAAC,eAAe,CAAC,CAAC,CAAC,EACnB,CAAC,eAAe,CAAC,CAAC,CAAC,CACpB,CAAC;QAEF,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAAC,CAAC;QAExD,MAAM,kBAAkB,GAAG;YACzB,IAAI,EAAE,kBAAkB;YACxB,QAAQ;SACT,CAAC;QAEF,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,YAAY,EAAE;YAC5C,IAAI,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;SAC3D;QAID,QAAQ,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;QAEzC,IAAI,CAAC,kCAAkC,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAE1E,OAAO,QAAQ,CAAC;IAClB,CAAC;IAYO,+BAA+B,CAAC,SAAS;QAE/C,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACjE,MAAM,aAAa,GAAG,IAAI,CAAC,8BAA8B,CACvD,SAAS,EACT,UAAU,EACV,MAAM,CACP,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,GAAG,CAAC,CAAC;QAEV,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE;YACpD,CAAC,IAAI,OAAO,CAAC;YACb,CAAC,IAAI,OAAO,CAAC;YACb,CAAC,IAAI,OAAO,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,MAAM,aAAa,GAAW;YAC5B,CAAC,GAAG,aAAa,CAAC,MAAM;YACxB,CAAC,GAAG,aAAa,CAAC,MAAM;YACxB,CAAC,GAAG,aAAa,CAAC,MAAM;SACzB,CAAC;QAGF,OAAO,aAAa,CAAC;IACvB,CAAC;IAOM,SAAS;QACd,OAA0B,IAAI,CAAC,MAAM,CAAC;IACxC,CAAC;IAMS,kBAAkB;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEpC,OAAO,QAAQ,CAAC,eAAe,EAAE,CAAC;IACpC,CAAC;IAMM,SAAS;QACd,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE5C,OAAO;YACL,MAAM,EAAU,SAAS,CAAC,SAAS,EAAE;YACrC,eAAe,EAAU,SAAS,CAAC,kBAAkB,EAAE;YACvD,QAAQ,EAAU,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,EAAY,CAAC;YACrE,UAAU,EAAU,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,aAAa,EAAY,CAAC;YACzE,kBAAkB,EAAE,SAAS,CAAC,qBAAqB,EAAE;YACrD,aAAa,EAAE,SAAS,CAAC,gBAAgB,EAAE;YAC3C,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE;YACnC,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;IACJ,CAAC;IAMM,SAAS,CAAC,eAAwB;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5C,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACpD,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;QACzE,MAAM,EACJ,MAAM,EACN,eAAe,EACf,QAAQ,EACR,UAAU,EACV,aAAa,EACb,SAAS,EACT,cAAc,EACd,YAAY,GACb,GAAG,eAAe,CAAC;QAEpB,IAAI,cAAc,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,EAAE;YAC9D,IAAI,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC;SAC7C;QAED,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;SAC7B;QAED,IAAI,eAAe,KAAK,SAAS,EAAE;YACjC,SAAS,CAAC,wBAAwB,CAChC,CAAC,eAAe,CAAC,CAAC,CAAC,EACnB,CAAC,eAAe,CAAC,CAAC,CAAC,EACnB,CAAC,eAAe,CAAC,CAAC,CAAC,CACpB,CAAC;SACH;QAED,IAAI,QAAQ,KAAK,SAAS,EAAE;YAC1B,SAAS,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;SACtD;QAED,IAAI,UAAU,KAAK,SAAS,EAAE;YAC5B,SAAS,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;SAC1D;QAED,IAAI,aAAa,KAAK,SAAS,EAAE;YAC/B,SAAS,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;SAC3C;QAED,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;SACnC;QAGD,IAAI,CAAC,0CAA0C,CAAC,aAAa,CAAC,CAAC;QAE/D,IAAI,CAAC,kCAAkC,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IACzE,CAAC;IAOM,kCAAkC,CACvC,cAAuB,EACvB,aAAsB;QAEtB,IAAI,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YAC/D,MAAM,WAAW,GAAyC;gBACxD,cAAc;gBACd,MAAM,EAAE,aAAa;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,UAAU,EAAE,IAAI,CAAC,EAAE;gBACnB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC;YAEF,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;SACjE;IACH,CAAC;IAMM,0CAA0C,CAC/C,aAAsB;QAEtB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACvB,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;YAC7C,MAAM,SAAS,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAE7C,IAAI,aAAa,GAAG,sBAAsB,CAAC;YAC3C,IAAI,KAAK,CAAC,oBAAoB,KAAK,KAAK,IAAI,KAAK,CAAC,aAAa,EAAE;gBAC/D,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;aACrC;YAED,IAAI,CAAC,8BAA8B,CACjC,SAAS,EACT,aAAa,EACb,aAAa,CAAC,eAAe,EAC7B,aAAa,CAAC,UAAU,CACzB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,8BAA8B,CACnC,SAA0B,EAC1B,aAAqB,EACrB,eAAuB,EACvB,UAAkB;QAElB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,OAAO;SACR;QAED,MAAM,cAAc,GAAW;YAC7B,eAAe,CAAC,CAAC,CAAC;YAClB,eAAe,CAAC,CAAC,CAAC;YAClB,eAAe,CAAC,CAAC,CAAC;SACnB,CAAC;QACF,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QAEtD,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACxC,MAAM,UAAU,GAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;QACzD,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAEnC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,MAAM,UAAU,GAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;QACpD,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;IAEO,mCAAmC,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe;QACzE,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAElD,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAE9B,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;QAE/C,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1D,IAAI,SAAS,GAAG,gBAAgB;aAC7B,eAAe,EAAE;aACjB,QAAQ,EAAE;aACV,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE3C,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAGnD,IAAI,IAAI,GAAG,QAAQ,CAAC;QACpB,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,GAAG,IAAI,EAAE;gBACZ,IAAI,GAAG,CAAC,CAAC;aACV;YACD,IAAI,CAAC,GAAG,IAAI,EAAE;gBACZ,IAAI,GAAG,CAAC,CAAC;aACV;SACF;QAED,SAAS,GAAG,gBAAgB;aACzB,eAAe,EAAE;aACjB,QAAQ,EAAE;aACV,oBAAoB,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE9C,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAGtD,IAAI,IAAI,GAAG,QAAQ,CAAC;QACpB,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,GAAG,IAAI,EAAE;gBACZ,IAAI,GAAG,CAAC,CAAC;aACV;YACD,IAAI,CAAC,GAAG,IAAI,EAAE;gBACZ,IAAI,GAAG,CAAC,CAAC;aACV;SACF;QAED,OAAO,EAAE,UAAU,EAAE,IAAI,GAAG,IAAI,EAAE,WAAW,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC;IAC/D,CAAC;IAED,WAAW,CAAC,MAAqB;QAC/B,OAAO;YACL,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;SAClC,CAAC;IACJ,CAAC;IAQD,WAAW,CAAC,KAAa,EAAE,MAAgB;QACzC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC;QACpD,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE;YACxE,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAgBD,SAAS,CAAC,MAAqB;QAC7B,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAClE,OAAO;YACL,CAAC,EAAE,EAAE,EAAE,CAAC;YACR,CAAC,EAAE,EAAE,EAAE,CAAC;YACR,CAAC,EAAE,EAAE,EAAE,CAAC;YACR,CAAC,EAAE,EAAE,EAAE,CAAC;YACR,CAAC,EAAE,EAAE,EAAE,CAAC;YACR,CAAC,EAAE,EAAE,EAAE,CAAC;YACR,CAAC,EAAE,EAAE,EAAE,CAAC;YACR,CAAC,EAAE,EAAE,EAAE,CAAC;YACR,CAAC,EAAE,EAAE,EAAE,CAAC;YACR,CAAC,EAAE,EAAE,EAAE,CAAC;YACR,CAAC,EAAE,EAAE,EAAE,CAAC;YACR,CAAC,EAAE,EAAE,EAAE,CAAC;SACT,CAAC;IACJ,CAAC;CACF;AAED,eAAe,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"Viewport.js","sourceRoot":"","sources":["../../../src/RenderingEngine/Viewport.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ declare class VolumeViewport extends Viewport implements IVolumeViewport {
|
|
|
15
15
|
getIntensityFromWorld(point: Point3): number;
|
|
16
16
|
getBounds(): number[];
|
|
17
17
|
flip(flipDirection: FlipDirection): void;
|
|
18
|
-
resetCamera(resetPan?: boolean, resetZoom?: boolean):
|
|
18
|
+
resetCamera(resetPan?: boolean, resetZoom?: boolean): boolean;
|
|
19
19
|
getFrameOfReferenceUID: () => string;
|
|
20
20
|
setSlabThicknessForAllVolumeActors(slabThickness: number): void;
|
|
21
21
|
setSlabThicknessForVolumeActor(actorUID: string, slabThickness: number): void;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { vec3 } from 'gl-matrix';
|
|
2
|
+
import vtkPlane from '@kitware/vtk.js/Common/DataModel/Plane';
|
|
2
3
|
import cache from '../cache';
|
|
3
4
|
import ViewportType from '../enums/ViewportType';
|
|
4
5
|
import Viewport from './Viewport';
|
|
5
6
|
import { createVolumeActor } from './helpers';
|
|
6
7
|
import volumeNewImageEventDispatcher, { resetVolumeNewImageState, } from './helpers/volumeNewImageEventDispatcher';
|
|
7
8
|
import { loadVolume } from '../volumeLoader';
|
|
8
|
-
import vtkPlane from '@kitware/vtk.js/Common/DataModel/Plane';
|
|
9
9
|
import vtkSlabCamera from './vtkClasses/vtkSlabCamera';
|
|
10
10
|
import { getShouldUseCPURendering } from '../init';
|
|
11
11
|
import transformWorldToIndex from '../utilities/transformWorldToIndex';
|
|
12
|
-
import {
|
|
12
|
+
import { RENDERINGDEFAULTS } from '../constants';
|
|
13
13
|
import { Events } from '../enums';
|
|
14
14
|
import eventTarget from '../eventTarget';
|
|
15
15
|
const EPSILON = 1e-3;
|
|
@@ -21,6 +21,8 @@ class VolumeViewport extends Viewport {
|
|
|
21
21
|
return this._FrameOfReferenceUID;
|
|
22
22
|
};
|
|
23
23
|
this.canvasToWorld = (canvasPos) => {
|
|
24
|
+
const vtkCamera = this.getVtkActiveCamera();
|
|
25
|
+
vtkCamera.setIsPerformingCoordinateTransformation(true);
|
|
24
26
|
const renderer = this.getRenderer();
|
|
25
27
|
const offscreenMultiRenderWindow = this.getRenderingEngine().offscreenMultiRenderWindow;
|
|
26
28
|
const openGLRenderWindow = offscreenMultiRenderWindow.getOpenGLRenderWindow();
|
|
@@ -28,10 +30,13 @@ class VolumeViewport extends Viewport {
|
|
|
28
30
|
const displayCoord = [canvasPos[0] + this.sx, canvasPos[1] + this.sy];
|
|
29
31
|
displayCoord[1] = size[1] - displayCoord[1];
|
|
30
32
|
let worldCoord = openGLRenderWindow.displayToWorld(displayCoord[0], displayCoord[1], 0, renderer);
|
|
33
|
+
vtkCamera.setIsPerformingCoordinateTransformation(false);
|
|
31
34
|
worldCoord = this.applyFlipTx(worldCoord);
|
|
32
35
|
return worldCoord;
|
|
33
36
|
};
|
|
34
37
|
this.worldToCanvas = (worldPos) => {
|
|
38
|
+
const vtkCamera = this.getVtkActiveCamera();
|
|
39
|
+
vtkCamera.setIsPerformingCoordinateTransformation(true);
|
|
35
40
|
const renderer = this.getRenderer();
|
|
36
41
|
const offscreenMultiRenderWindow = this.getRenderingEngine().offscreenMultiRenderWindow;
|
|
37
42
|
const openGLRenderWindow = offscreenMultiRenderWindow.getOpenGLRenderWindow();
|
|
@@ -42,6 +47,7 @@ class VolumeViewport extends Viewport {
|
|
|
42
47
|
displayCoord[0] - this.sx,
|
|
43
48
|
displayCoord[1] - this.sy,
|
|
44
49
|
];
|
|
50
|
+
vtkCamera.setIsPerformingCoordinateTransformation(false);
|
|
45
51
|
return canvasCoord;
|
|
46
52
|
};
|
|
47
53
|
this.getCurrentImageIdIndex = () => {
|
|
@@ -52,7 +58,10 @@ class VolumeViewport extends Viewport {
|
|
|
52
58
|
if (!index) {
|
|
53
59
|
return;
|
|
54
60
|
}
|
|
55
|
-
const { uid } = this.getDefaultActor();
|
|
61
|
+
const { uid, actor } = this.getDefaultActor();
|
|
62
|
+
if (!actor.isA('vtkVolume')) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
56
65
|
const volume = cache.getVolume(uid);
|
|
57
66
|
if (!volume) {
|
|
58
67
|
return;
|
|
@@ -134,11 +143,11 @@ class VolumeViewport extends Viewport {
|
|
|
134
143
|
const volumeActors = [];
|
|
135
144
|
for (let i = 0; i < volumeInputArray.length; i++) {
|
|
136
145
|
const { volumeId, actorUID, slabThickness, slabThicknessEnabled } = volumeInputArray[i];
|
|
137
|
-
const
|
|
146
|
+
const actor = await createVolumeActor(volumeInputArray[i], this.element, this.id);
|
|
138
147
|
const uid = actorUID || volumeId;
|
|
139
148
|
volumeActors.push({
|
|
140
149
|
uid,
|
|
141
|
-
|
|
150
|
+
actor,
|
|
142
151
|
slabThickness,
|
|
143
152
|
slabThicknessEnabled,
|
|
144
153
|
});
|
|
@@ -153,14 +162,14 @@ class VolumeViewport extends Viewport {
|
|
|
153
162
|
await this._isValidVolumeInputArray(volumeInputArray, this._FrameOfReferenceUID);
|
|
154
163
|
for (let i = 0; i < volumeInputArray.length; i++) {
|
|
155
164
|
const { volumeId, visibility, actorUID, slabThickness, slabThicknessEnabled, } = volumeInputArray[i];
|
|
156
|
-
const
|
|
165
|
+
const actor = await createVolumeActor(volumeInputArray[i], this.element, this.id);
|
|
157
166
|
if (visibility === false) {
|
|
158
|
-
|
|
167
|
+
actor.setVisibility(false);
|
|
159
168
|
}
|
|
160
169
|
const uid = actorUID || volumeId;
|
|
161
170
|
volumeActors.push({
|
|
162
171
|
uid,
|
|
163
|
-
|
|
172
|
+
actor,
|
|
164
173
|
slabThickness,
|
|
165
174
|
slabThicknessEnabled,
|
|
166
175
|
});
|
|
@@ -191,8 +200,11 @@ class VolumeViewport extends Viewport {
|
|
|
191
200
|
return true;
|
|
192
201
|
}
|
|
193
202
|
getIntensityFromWorld(point) {
|
|
194
|
-
const {
|
|
195
|
-
|
|
203
|
+
const { actor, uid } = this.getDefaultActor();
|
|
204
|
+
if (!actor.isA('vtkVolume')) {
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
const imageData = actor.getMapper().getInputData();
|
|
196
208
|
const volume = cache.getVolume(uid);
|
|
197
209
|
const { dimensions } = volume;
|
|
198
210
|
const index = transformWorldToIndex(imageData, point);
|
|
@@ -210,29 +222,38 @@ class VolumeViewport extends Viewport {
|
|
|
210
222
|
super.flip(flipDirection);
|
|
211
223
|
}
|
|
212
224
|
resetCamera(resetPan = true, resetZoom = true) {
|
|
213
|
-
|
|
225
|
+
super.resetCamera(resetPan, resetZoom);
|
|
214
226
|
const activeCamera = this.getVtkActiveCamera();
|
|
215
|
-
activeCamera.
|
|
227
|
+
if (activeCamera.getParallelProjection()) {
|
|
228
|
+
activeCamera.setClippingRange(-RENDERINGDEFAULTS.MAXIMUMRAYDISTANCE, RENDERINGDEFAULTS.MAXIMUMRAYDISTANCE);
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
activeCamera.setClippingRange(RENDERINGDEFAULTS.MINIMUM_SLAB_THICKNESS, RENDERINGDEFAULTS.MAXIMUMRAYDISTANCE);
|
|
232
|
+
}
|
|
216
233
|
const viewPlaneNormal = activeCamera.getViewPlaneNormal();
|
|
217
234
|
const focalPoint = activeCamera.getFocalPoint();
|
|
218
|
-
const
|
|
219
|
-
|
|
220
|
-
|
|
235
|
+
const actorEntries = this.getActors();
|
|
236
|
+
actorEntries.forEach((actorEntry) => {
|
|
237
|
+
if (!actorEntry.actor || !actorEntry.actor.isA('vtkVolume')) {
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
const mapper = actorEntry.actor.getMapper();
|
|
221
241
|
const vtkPlanes = mapper.getClippingPlanes();
|
|
222
242
|
if (vtkPlanes.length === 0) {
|
|
223
243
|
const clipPlane1 = vtkPlane.newInstance();
|
|
224
244
|
const clipPlane2 = vtkPlane.newInstance();
|
|
225
245
|
const newVtkPlanes = [clipPlane1, clipPlane2];
|
|
226
|
-
let slabThickness = MINIMUM_SLAB_THICKNESS;
|
|
227
|
-
if (
|
|
228
|
-
slabThickness
|
|
246
|
+
let slabThickness = RENDERINGDEFAULTS.MINIMUM_SLAB_THICKNESS;
|
|
247
|
+
if (actorEntry.slabThicknessEnabled !== false &&
|
|
248
|
+
actorEntry.slabThickness) {
|
|
249
|
+
slabThickness = actorEntry.slabThickness;
|
|
229
250
|
}
|
|
230
251
|
this.setOrientationOfClippingPlanes(newVtkPlanes, slabThickness, viewPlaneNormal, focalPoint);
|
|
231
252
|
mapper.addClippingPlane(clipPlane1);
|
|
232
253
|
mapper.addClippingPlane(clipPlane2);
|
|
233
254
|
}
|
|
234
255
|
});
|
|
235
|
-
return
|
|
256
|
+
return true;
|
|
236
257
|
}
|
|
237
258
|
setSlabThicknessForAllVolumeActors(slabThickness) {
|
|
238
259
|
const actors = this.getActors();
|
|
@@ -263,7 +284,7 @@ class VolumeViewport extends Viewport {
|
|
|
263
284
|
}
|
|
264
285
|
getSlabThickness() {
|
|
265
286
|
const actors = this.getActors();
|
|
266
|
-
let slabThickness = MINIMUM_SLAB_THICKNESS;
|
|
287
|
+
let slabThickness = RENDERINGDEFAULTS.MINIMUM_SLAB_THICKNESS;
|
|
267
288
|
actors.forEach((actor) => {
|
|
268
289
|
if (actor.slabThicknessEnabled === false) {
|
|
269
290
|
return;
|
|
@@ -275,19 +296,22 @@ class VolumeViewport extends Viewport {
|
|
|
275
296
|
return slabThickness;
|
|
276
297
|
}
|
|
277
298
|
getImageData() {
|
|
278
|
-
const
|
|
279
|
-
if (!
|
|
299
|
+
const defaultActor = this.getDefaultActor();
|
|
300
|
+
if (!defaultActor) {
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
303
|
+
const { actor } = defaultActor;
|
|
304
|
+
if (!actor.isA('vtkVolume')) {
|
|
280
305
|
return;
|
|
281
306
|
}
|
|
282
|
-
const
|
|
283
|
-
const vtkImageData = volumeActor.getMapper().getInputData();
|
|
307
|
+
const vtkImageData = actor.getMapper().getInputData();
|
|
284
308
|
return {
|
|
285
309
|
dimensions: vtkImageData.getDimensions(),
|
|
286
310
|
spacing: vtkImageData.getSpacing(),
|
|
287
311
|
origin: vtkImageData.getOrigin(),
|
|
288
312
|
direction: vtkImageData.getDirection(),
|
|
289
313
|
scalarData: vtkImageData.getPointData().getScalars().getData(),
|
|
290
|
-
imageData:
|
|
314
|
+
imageData: actor.getMapper().getInputData(),
|
|
291
315
|
metadata: undefined,
|
|
292
316
|
scaling: undefined,
|
|
293
317
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VolumeViewport.js","sourceRoot":"","sources":["../../../src/RenderingEngine/VolumeViewport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,KAAK,MAAM,UAAU,CAAC;AAC7B,OAAO,YAAY,MAAM,uBAAuB,CAAC;AACjD,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,6BAA6B,EAAE,EACpC,wBAAwB,GACzB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,QAAQ,MAAM,wCAAwC,CAAC;AAC9D,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAEvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,qBAAqB,MAAM,oCAAoC,CAAC;AAYvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAEzC,MAAM,OAAO,GAAG,IAAI,CAAC;AAWrB,MAAM,cAAe,SAAQ,QAAQ;IAInC,YAAY,KAAoB;QAC9B,KAAK,CAAC,KAAK,CAAC,CAAC;QAJf,oBAAe,GAAG,KAAK,CAAC;QAkVjB,2BAAsB,GAAG,GAAW,EAAE;YAC3C,OAAO,IAAI,CAAC,oBAAoB,CAAC;QACnC,CAAC,CAAC;QAuHK,kBAAa,GAAG,CAAC,SAAiB,EAAU,EAAE;YACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,0BAA0B,GAC9B,IAAI,CAAC,kBAAkB,EAAE,CAAC,0BAA0B,CAAC;YACvD,MAAM,kBAAkB,GACtB,0BAA0B,CAAC,qBAAqB,EAAE,CAAC;YACrD,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAC1C,MAAM,YAAY,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;YAGtE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAE5C,IAAI,UAAU,GAAG,kBAAkB,CAAC,cAAc,CAChD,YAAY,CAAC,CAAC,CAAC,EACf,YAAY,CAAC,CAAC,CAAC,EACf,CAAC,EACD,QAAQ,CACT,CAAC;YAEF,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC1C,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC;QAUK,kBAAa,GAAG,CAAC,QAAgB,EAAU,EAAE;YAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,0BAA0B,GAC9B,IAAI,CAAC,kBAAkB,EAAE,CAAC,0BAA0B,CAAC;YACvD,MAAM,kBAAkB,GACtB,0BAA0B,CAAC,qBAAqB,EAAE,CAAC;YACrD,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAC1C,MAAM,YAAY,GAAG,kBAAkB,CAAC,cAAc,CACpD,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAC7B,QAAQ,CACT,CAAC;YAGF,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAE5C,MAAM,WAAW,GAAW;gBAC1B,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE;gBACzB,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE;aAC1B,CAAC;YAEF,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC;QAUK,2BAAsB,GAAG,GAAuB,EAAE;YACvD,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACjC,CAAC,CAAC;QAUK,sBAAiB,GAAG,GAAuB,EAAE;YAClD,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAEtC,IAAI,CAAC,KAAK,EAAE;gBACV,OAAO;aACR;YAED,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAEpC,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO;aACR;YAED,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAEjC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,CAAC;QAEM,qBAAgB,GAAG,GAAG,EAAE;YAC9B,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAKzD,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAG3D,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAElD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAClB,GAAG,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;gBACzB,GAAG,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;gBAC3B,GAAG,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAC9B,CAAC;YAIF,IAAI,GAAG,GAAG,CAAC,GAAG,OAAO,EAAE;gBACrB,OAAO;aACR;YAID,MAAM,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YAIhD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,eAAe,CAAC,CAAC;QAC1D,CAAC,CAAC;QAnkBA,IAAI,CAAC,eAAe,GAAG,wBAAwB,EAAE,CAAC;QAElD,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAC;SACH;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEpC,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;QAC3C,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAEjC,QAAQ,IAAI,CAAC,IAAI,EAAE;YACjB,KAAK,YAAY,CAAC,YAAY;gBAC5B,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,YAAY,CAAC,WAAW;gBAC3B,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;gBACpC,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;SAC/D;QAED,IAAI,CAAC,uCAAuC,EAAE,CAAC;QAE/C,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;QAEhE,MAAM,CAAC,wBAAwB,CAC7B,CAAC,WAAW,CAAC,CAAC,CAAC,EACf,CAAC,WAAW,CAAC,CAAC,CAAC,EACf,CAAC,WAAW,CAAC,CAAC,CAAC,CAChB,CAAC;QACF,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAE7B,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,0BAA0B;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,uCAAuC;QAC7C,SAAS,qBAAqB,CAAC,WAAW;YACxC,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAE9C,IAAI,CAAC,iBAAiB,EAAE;gBACtB,OAAO;aACR;YAED,6BAA6B,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC;QAED,SAAS,qBAAqB,CAAC,GAAG;YAChC,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;YAElC,IAAI,UAAU,KAAK,IAAI,CAAC,EAAE,EAAE;gBAC1B,OAAO;aACR;YAED,WAAW,CAAC,mBAAmB,CAC7B,MAAM,CAAC,gBAAgB,EACvB,qBAAqB,CACtB,CAAC;YAEF,wBAAwB,CAAC,UAAU,CAAC,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAC9B,MAAM,CAAC,eAAe,EACtB,qBAAqB,CACtB,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAC9B,MAAM,CAAC,eAAe,EACtB,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CACjC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAC3B,MAAM,CAAC,eAAe,EACtB,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CACjC,CAAC;QAEF,WAAW,CAAC,gBAAgB,CAC1B,MAAM,CAAC,gBAAgB,EACvB,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CACjC,CAAC;IACJ,CAAC;IAWM,KAAK,CAAC,UAAU,CACrB,gBAAqC,EACrC,SAAS,GAAG,KAAK;QAEjB,MAAM,gBAAgB,GAAG,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAEvE,IAAI,CAAC,gBAAgB,EAAE;YACrB,MAAM,IAAI,KAAK,CACb,wBAAwB,gBAAgB,CAAC,QAAQ,iBAAiB,CACnE,CAAC;SACH;QAED,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAE1E,MAAM,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;QAE3E,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;QAEhD,MAAM,YAAY,GAAG,EAAE,CAAC;QAGxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,oBAAoB,EAAE,GAC/D,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,WAAW,GAAG,MAAM,iBAAiB,CACzC,gBAAgB,CAAC,CAAC,CAAC,EACnB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,EAAE,CACR,CAAC;YAOF,MAAM,GAAG,GAAG,QAAQ,IAAI,QAAQ,CAAC;YACjC,YAAY,CAAC,IAAI,CAAC;gBAChB,GAAG;gBACH,WAAW;gBACX,aAAa;gBACb,oBAAoB;aACrB,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAEpC,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,MAAM,EAAE,CAAC;SACf;IACH,CAAC;IASM,KAAK,CAAC,UAAU,CACrB,gBAAqC,EACrC,SAAS,GAAG,KAAK;QAEjB,MAAM,YAAY,GAAG,EAAE,CAAC;QAExB,MAAM,IAAI,CAAC,wBAAwB,CACjC,gBAAgB,EAChB,IAAI,CAAC,oBAAoB,CAC1B,CAAC;QAGF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChD,MAAM,EACJ,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,aAAa,EACb,oBAAoB,GACrB,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,WAAW,GAAG,MAAM,iBAAiB,CACzC,gBAAgB,CAAC,CAAC,CAAC,EACnB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,EAAE,CACR,CAAC;YAEF,IAAI,UAAU,KAAK,KAAK,EAAE;gBACxB,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aAClC;YAOD,MAAM,GAAG,GAAG,QAAQ,IAAI,QAAQ,CAAC;YACjC,YAAY,CAAC,IAAI,CAAC;gBAChB,GAAG;gBACH,WAAW;gBACX,aAAa;gBACb,oBAAoB;aACrB,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAE7B,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,MAAM,EAAE,CAAC;SACf;IACH,CAAC;IAUM,kBAAkB,CAAC,SAAwB,EAAE,SAAS,GAAG,KAAK;QACnE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAE7B,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,MAAM,EAAE,CAAC;SACf;IACH,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACpC,gBAAqC,EACrC,mBAA2B;QAE3B,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC;QAG3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;YACnC,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAExC,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAE3D,IAAI,CAAC,WAAW,EAAE;gBAChB,MAAM,IAAI,KAAK,CACb,wBAAwB,WAAW,CAAC,QAAQ,iBAAiB,CAC9D,CAAC;aACH;YAED,IAAI,mBAAmB,KAAK,WAAW,CAAC,QAAQ,CAAC,mBAAmB,EAAE;gBACpE,MAAM,IAAI,KAAK,CACb,mCAAmC,IAAI,CAAC,EAAE,uEAAuE,CAClH,CAAC;aACH;SACF;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAQM,qBAAqB,CAAC,KAAa;QACxC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACpD,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,CAAC;QAEzD,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QAE9B,MAAM,KAAK,GAAG,qBAAqB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAEtD,MAAM,UAAU,GACd,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;YACxC,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;YACxB,KAAK,CAAC,CAAC,CAAC,CAAC;QAEX,OAAO,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAKM,SAAS;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,QAAQ,CAAC,wBAAwB,EAAE,CAAC;QACnD,OAAO,MAAM,CAAC;IAChB,CAAC;IAMM,IAAI,CAAC,aAA4B;QACtC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC5B,CAAC;IAKM,WAAW,CAAC,QAAQ,GAAG,IAAI,EAAE,SAAS,GAAG,IAAI;QAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAExD,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC/C,YAAY,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;QAElD,MAAM,eAAe,GAAW,YAAY,CAAC,kBAAkB,EAAE,CAAC;QAClE,MAAM,UAAU,GAAW,YAAY,CAAC,aAAa,EAAE,CAAC;QAExD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAGvB,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;YAC7C,MAAM,SAAS,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC7C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC1B,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC1C,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC1C,MAAM,YAAY,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBAE9C,IAAI,aAAa,GAAG,sBAAsB,CAAC;gBAC3C,IAAI,KAAK,CAAC,oBAAoB,KAAK,KAAK,IAAI,KAAK,CAAC,aAAa,EAAE;oBAC/D,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;iBACrC;gBAED,IAAI,CAAC,8BAA8B,CACjC,YAAY,EACZ,aAAa,EACb,eAAe,EACf,UAAU,CACX,CAAC;gBAEF,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;gBACpC,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;aACrC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAWM,kCAAkC,CAAC,aAAqB;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,oBAAoB,GAAG,KAAK,CAAC;QACjC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACvB,IAAI,KAAK,CAAC,oBAAoB,KAAK,KAAK,EAAE;gBACxC,OAAO;aACR;YAED,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;YACpC,oBAAoB,GAAG,IAAI,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,IAAI,oBAAoB,KAAK,KAAK,EAAE;YAClC,OAAO;SACR;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACvC,IAAI,CAAC,0CAA0C,CAAC,aAAa,CAAC,CAAC;QAC/D,IAAI,CAAC,kCAAkC,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IACxE,CAAC;IAQM,8BAA8B,CACnC,QAAgB,EAChB,aAAqB;QAErB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEtC,IAAI,KAAK,CAAC,oBAAoB,KAAK,KAAK,EAAE;YACxC,OAAO;SACR;QAED,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;QAEpC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACvC,IAAI,CAAC,0CAA0C,CAAC,aAAa,CAAC,CAAC;QAC/D,IAAI,CAAC,kCAAkC,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IACxE,CAAC;IAOM,gBAAgB;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,aAAa,GAAG,sBAAsB,CAAC;QAC3C,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACvB,IAAI,KAAK,CAAC,oBAAoB,KAAK,KAAK,EAAE;gBACxC,OAAO;aACR;YAED,IAAI,KAAK,CAAC,aAAa,GAAG,aAAa,EAAE;gBACvC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;aACrC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC;IACvB,CAAC;IASM,YAAY;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAErC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;SACR;QAED,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;QAC9B,MAAM,YAAY,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,CAAC;QAC5D,OAAO;YACL,UAAU,EAAE,YAAY,CAAC,aAAa,EAAE;YACxC,OAAO,EAAE,YAAY,CAAC,UAAU,EAAE;YAClC,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE;YAChC,SAAS,EAAE,YAAY,CAAC,YAAY,EAAE;YACtC,UAAU,EAAE,YAAY,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE;YAC9D,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE;YACjD,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,SAAS;SACnB,CAAC;IACJ,CAAC;IAQO,gBAAgB,CAAC,kBAAqC;QAC5D,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;IACrC,CAAC;CA0IF;AAED,eAAe,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"VolumeViewport.js","sourceRoot":"","sources":["../../../src/RenderingEngine/VolumeViewport.ts"],"names":[],"mappings":"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"}
|
|
@@ -361,6 +361,12 @@ export interface vtkSlabCamera extends VtkObject {
|
|
|
361
361
|
*/
|
|
362
362
|
getWorldToPhysicalMatrix(result: mat4): void;
|
|
363
363
|
|
|
364
|
+
/**
|
|
365
|
+
*
|
|
366
|
+
* @defaultValue false
|
|
367
|
+
*/
|
|
368
|
+
getIsPerformingCoordinateTransformation(status: boolean): void;
|
|
369
|
+
|
|
364
370
|
/**
|
|
365
371
|
* Recompute the ViewUp vector to force it to be perpendicular to the camera's focalpoint vector.
|
|
366
372
|
*/
|
|
@@ -730,6 +736,12 @@ export interface vtkSlabCamera extends VtkObject {
|
|
|
730
736
|
* @param factor -
|
|
731
737
|
*/
|
|
732
738
|
zoom(factor: number): void;
|
|
739
|
+
|
|
740
|
+
/**
|
|
741
|
+
* Activate camera clipping customization necessary when doing coordinate transformations
|
|
742
|
+
* @param status -
|
|
743
|
+
*/
|
|
744
|
+
setIsPerformingCoordinateTransformation(status: boolean): void;
|
|
733
745
|
}
|
|
734
746
|
|
|
735
747
|
/**
|
|
@@ -17,8 +17,12 @@ function vtkSlabCamera(publicAPI, model) {
|
|
|
17
17
|
return result;
|
|
18
18
|
}
|
|
19
19
|
mat4.identity(tmpMatrix);
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
let cRange0 = model.clippingRange[0];
|
|
21
|
+
let cRange1 = model.clippingRange[1];
|
|
22
|
+
if (model.isPerformingCoordinateTransformation) {
|
|
23
|
+
cRange0 = model.distance;
|
|
24
|
+
cRange1 = model.distance + 0.1;
|
|
25
|
+
}
|
|
22
26
|
const cWidth = cRange1 - cRange0;
|
|
23
27
|
const cRange = [
|
|
24
28
|
cRange0 + ((nearz + 1) * cWidth) / 2.0,
|
|
@@ -68,8 +72,13 @@ function vtkSlabCamera(publicAPI, model) {
|
|
|
68
72
|
return result;
|
|
69
73
|
};
|
|
70
74
|
}
|
|
75
|
+
const DEFAULT_VALUES = {
|
|
76
|
+
isPerformingCoordinateTransformation: false,
|
|
77
|
+
};
|
|
71
78
|
export function extend(publicAPI, model, initialValues = {}) {
|
|
79
|
+
Object.assign(model, DEFAULT_VALUES, initialValues);
|
|
72
80
|
vtkCamera.extend(publicAPI, model, initialValues);
|
|
81
|
+
macro.setGet(publicAPI, model, ['isPerformingCoordinateTransformation']);
|
|
73
82
|
vtkSlabCamera(publicAPI, model);
|
|
74
83
|
}
|
|
75
84
|
export const newInstance = macro.newInstance(extend, 'vtkSlabCamera');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vtkSlabCamera.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/vtkClasses/vtkSlabCamera.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,wBAAwB,CAAC;AAC3C,OAAO,SAAS,MAAM,uCAAuC,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,OAAO,MAAM,kCAAkC,CAAC;AAcvD,SAAS,aAAa,CAAC,SAAS,EAAE,KAAK;IACrC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAG3C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IAOpC,SAAS,CAAC,mBAAmB,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAE7B,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC1B,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC;YACtC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAEvC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC1C,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACpC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC/B,OAAO,MAAM,CAAC;SACf;QAED,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEzB,
|
|
1
|
+
{"version":3,"file":"vtkSlabCamera.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/vtkClasses/vtkSlabCamera.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,wBAAwB,CAAC;AAC3C,OAAO,SAAS,MAAM,uCAAuC,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,OAAO,MAAM,kCAAkC,CAAC;AAcvD,SAAS,aAAa,CAAC,SAAS,EAAE,KAAK;IACrC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAG3C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IAOpC,SAAS,CAAC,mBAAmB,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAE7B,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC1B,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC;YACtC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAEvC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC1C,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACpC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC/B,OAAO,MAAM,CAAC;SACf;QAED,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEzB,IAAI,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,KAAK,CAAC,oCAAoC,EAAE;YAsB9C,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC;YACzB,OAAO,GAAG,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC;SAChC;QAED,MAAM,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;QACjC,MAAM,MAAM,GAAG;YACb,OAAO,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG;YACtC,OAAO,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG;SACtC,CAAC;QAEF,IAAI,KAAK,CAAC,kBAAkB,EAAE;YAE5B,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;YAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC;YAEnC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;YACnD,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;YACnD,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC;YACpD,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC;YAEpD,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;SACtC;aAAM,IAAI,KAAK,CAAC,oBAAoB,EAAE;YACrC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;SACtE;aAAM;YACL,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC;YACxE,IAAI,KAAK,CAAC;YACV,IAAI,MAAM,CAAC;YACX,IAAI,KAAK,CAAC,sBAAsB,KAAK,IAAI,EAAE;gBACzC,KAAK,GAAG,OAAO,GAAG,GAAG,CAAC;gBACtB,MAAM,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC;aACnC;iBAAM;gBACL,KAAK,GAAG,OAAO,GAAG,GAAG,GAAG,MAAM,CAAC;gBAC/B,MAAM,GAAG,OAAO,GAAG,GAAG,CAAC;aACxB;YAED,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;YACnD,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;YACnD,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC;YACpD,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC;YACpD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAEvB,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;YAC7C,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;YAC7C,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;YAC7C,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;YAC7C,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;YACjD,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;YACrB,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;YACvD,SAAS,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;SACrB;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAE7B,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAQD,MAAM,cAAc,GAAG;IACrB,oCAAoC,EAAE,KAAK;CAC5C,CAAC;AAEF,MAAM,UAAU,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,aAAa,GAAG,EAAE;IACzD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IAEpD,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IAElD,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,sCAAsC,CAAC,CAAC,CAAC;IAGzE,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AAClC,CAAC;AAID,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAItE,eAAe,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -153,7 +153,9 @@ function vtkStreamingOpenGLVolumeMapper(publicAPI, model) {
|
|
|
153
153
|
program.setUniformf('camThick', crange[1] - crange[0]);
|
|
154
154
|
program.setUniformf('camNear', crange[0]);
|
|
155
155
|
program.setUniformf('camFar', crange[1]);
|
|
156
|
+
cam.setIsPerformingCoordinateTransformation(true);
|
|
156
157
|
const keyMats = model.openGLCamera.getKeyMatrices(ren);
|
|
158
|
+
cam.setIsPerformingCoordinateTransformation(false);
|
|
157
159
|
const actMats = model.openGLVolume.getKeyMatrices();
|
|
158
160
|
mat4.multiply(model.modelToView, keyMats.wcvc, actMats.mcwc);
|
|
159
161
|
const bounds = model.currentInput.getBounds();
|