@cornerstonejs/core 1.71.3 → 1.71.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/RenderingEngine/BaseVolumeViewport.d.ts +2 -1
- package/dist/cjs/RenderingEngine/BaseVolumeViewport.js +4 -2
- package/dist/cjs/RenderingEngine/BaseVolumeViewport.js.map +1 -1
- package/dist/cjs/RenderingEngine/RenderingEngine.js +6 -1
- package/dist/cjs/RenderingEngine/RenderingEngine.js.map +1 -1
- package/dist/cjs/RenderingEngine/VolumeViewport.d.ts +2 -1
- package/dist/cjs/RenderingEngine/VolumeViewport.js +26 -1
- package/dist/cjs/RenderingEngine/VolumeViewport.js.map +1 -1
- package/dist/cjs/RenderingEngine/VolumeViewport3D.d.ts +1 -0
- package/dist/cjs/RenderingEngine/VolumeViewport3D.js +3 -0
- package/dist/cjs/RenderingEngine/VolumeViewport3D.js.map +1 -1
- package/dist/cjs/types/EventTypes.d.ts +8 -1
- package/dist/cjs/types/IVolumeViewport.d.ts +2 -1
- package/dist/esm/RenderingEngine/BaseVolumeViewport.js +4 -2
- package/dist/esm/RenderingEngine/BaseVolumeViewport.js.map +1 -1
- package/dist/esm/RenderingEngine/RenderingEngine.js +6 -1
- package/dist/esm/RenderingEngine/RenderingEngine.js.map +1 -1
- package/dist/esm/RenderingEngine/VolumeViewport.js +26 -1
- package/dist/esm/RenderingEngine/VolumeViewport.js.map +1 -1
- package/dist/esm/RenderingEngine/VolumeViewport3D.js +3 -0
- package/dist/esm/RenderingEngine/VolumeViewport3D.js.map +1 -1
- package/dist/types/RenderingEngine/BaseVolumeViewport.d.ts +2 -1
- package/dist/types/RenderingEngine/BaseVolumeViewport.d.ts.map +1 -1
- package/dist/types/RenderingEngine/RenderingEngine.d.ts.map +1 -1
- package/dist/types/RenderingEngine/VolumeViewport.d.ts +2 -1
- package/dist/types/RenderingEngine/VolumeViewport.d.ts.map +1 -1
- package/dist/types/RenderingEngine/VolumeViewport3D.d.ts +1 -0
- package/dist/types/RenderingEngine/VolumeViewport3D.d.ts.map +1 -1
- package/dist/types/types/EventTypes.d.ts +8 -1
- package/dist/types/types/EventTypes.d.ts.map +1 -1
- package/dist/types/types/IVolumeViewport.d.ts +2 -1
- package/dist/types/types/IVolumeViewport.d.ts.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +2 -2
- package/src/RenderingEngine/BaseVolumeViewport.ts +7 -2
- package/src/RenderingEngine/RenderingEngine.ts +12 -1
- package/src/RenderingEngine/VolumeViewport.ts +35 -1
- package/src/RenderingEngine/VolumeViewport3D.ts +4 -0
- package/src/types/EventTypes.ts +19 -0
- package/src/types/IVolumeViewport.ts +6 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cornerstonejs/core",
|
|
3
|
-
"version": "1.71.
|
|
3
|
+
"version": "1.71.4",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "src/index.ts",
|
|
6
6
|
"types": "dist/types/index.d.ts",
|
|
@@ -47,5 +47,5 @@
|
|
|
47
47
|
"type": "individual",
|
|
48
48
|
"url": "https://ohif.org/donate"
|
|
49
49
|
},
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "c80a68cc56c7e2c96168051a6e2b8d83dab91cc0"
|
|
51
51
|
}
|
|
@@ -126,7 +126,8 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
|
|
|
126
126
|
}
|
|
127
127
|
|
|
128
128
|
protected applyViewOrientation(
|
|
129
|
-
orientation: OrientationAxis | OrientationVectors
|
|
129
|
+
orientation: OrientationAxis | OrientationVectors,
|
|
130
|
+
resetCamera = true
|
|
130
131
|
) {
|
|
131
132
|
const { viewPlaneNormal, viewUp } =
|
|
132
133
|
this._getOrientationVectors(orientation);
|
|
@@ -139,7 +140,9 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
|
|
|
139
140
|
camera.setViewUpFrom(viewUp);
|
|
140
141
|
this.initialViewUp = viewUp;
|
|
141
142
|
|
|
142
|
-
|
|
143
|
+
if (resetCamera) {
|
|
144
|
+
this.resetCamera();
|
|
145
|
+
}
|
|
143
146
|
}
|
|
144
147
|
|
|
145
148
|
private initializeVolumeNewImageEventDispatcher(): void {
|
|
@@ -1611,6 +1614,8 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
|
|
|
1611
1614
|
filterActorUIDs?: Array<string>
|
|
1612
1615
|
): void;
|
|
1613
1616
|
|
|
1617
|
+
abstract resetSlabThickness(): void;
|
|
1618
|
+
|
|
1614
1619
|
abstract resetProperties(volumeId?: string): void;
|
|
1615
1620
|
}
|
|
1616
1621
|
|
|
@@ -626,7 +626,18 @@ class RenderingEngine implements IRenderingEngine {
|
|
|
626
626
|
const prevCamera = vp.getCamera();
|
|
627
627
|
const rotation = vp.getRotation();
|
|
628
628
|
const { flipHorizontal } = prevCamera;
|
|
629
|
-
|
|
629
|
+
const resetPan = true;
|
|
630
|
+
const resetZoom = true;
|
|
631
|
+
const resetToCenter = true;
|
|
632
|
+
const resetRotation = false;
|
|
633
|
+
const supressEvents = true;
|
|
634
|
+
vp.resetCamera(
|
|
635
|
+
resetPan,
|
|
636
|
+
resetZoom,
|
|
637
|
+
resetToCenter,
|
|
638
|
+
resetRotation,
|
|
639
|
+
supressEvents
|
|
640
|
+
);
|
|
630
641
|
|
|
631
642
|
const displayArea = vp.getDisplayArea();
|
|
632
643
|
|
|
@@ -12,6 +12,7 @@ import type {
|
|
|
12
12
|
IVolumeInput,
|
|
13
13
|
OrientationVectors,
|
|
14
14
|
Point3,
|
|
15
|
+
EventTypes,
|
|
15
16
|
} from '../types';
|
|
16
17
|
import type { ViewportInput } from '../types/IViewport';
|
|
17
18
|
import {
|
|
@@ -253,8 +254,13 @@ class VolumeViewport extends BaseVolumeViewport {
|
|
|
253
254
|
resetPan = true,
|
|
254
255
|
resetZoom = true,
|
|
255
256
|
resetToCenter = true,
|
|
256
|
-
resetRotation = false
|
|
257
|
+
resetRotation = false,
|
|
258
|
+
supressEvents = false
|
|
257
259
|
): boolean {
|
|
260
|
+
const { orientation } = this.viewportProperties;
|
|
261
|
+
if (orientation) {
|
|
262
|
+
this.applyViewOrientation(orientation, false);
|
|
263
|
+
}
|
|
258
264
|
super.resetCamera(resetPan, resetZoom, resetToCenter);
|
|
259
265
|
|
|
260
266
|
this.resetVolumeViewportClippingRange();
|
|
@@ -310,6 +316,16 @@ class VolumeViewport extends BaseVolumeViewport {
|
|
|
310
316
|
});
|
|
311
317
|
}
|
|
312
318
|
|
|
319
|
+
if (!supressEvents) {
|
|
320
|
+
const eventDetail: EventTypes.CameraResetEventDetail = {
|
|
321
|
+
viewportId: this.id,
|
|
322
|
+
camera: this.getCamera(),
|
|
323
|
+
renderingEngineId: this.renderingEngineId,
|
|
324
|
+
element: this.element,
|
|
325
|
+
};
|
|
326
|
+
|
|
327
|
+
triggerEvent(this.element, Events.CAMERA_RESET, eventDetail);
|
|
328
|
+
}
|
|
313
329
|
return true;
|
|
314
330
|
}
|
|
315
331
|
|
|
@@ -348,6 +364,24 @@ class VolumeViewport extends BaseVolumeViewport {
|
|
|
348
364
|
this.viewportProperties.slabThickness = slabThickness;
|
|
349
365
|
}
|
|
350
366
|
|
|
367
|
+
/**
|
|
368
|
+
* Resets the slab thickness of the actors of the viewport to the default value.
|
|
369
|
+
*/
|
|
370
|
+
public resetSlabThickness(): void {
|
|
371
|
+
const actorEntries = this.getActors();
|
|
372
|
+
|
|
373
|
+
actorEntries.forEach((actorEntry) => {
|
|
374
|
+
if (actorIsA(actorEntry, 'vtkVolume')) {
|
|
375
|
+
actorEntry.slabThickness = RENDERING_DEFAULTS.MINIMUM_SLAB_THICKNESS;
|
|
376
|
+
}
|
|
377
|
+
});
|
|
378
|
+
|
|
379
|
+
const currentCamera = this.getCamera();
|
|
380
|
+
this.updateClippingPlanesForActors(currentCamera);
|
|
381
|
+
this.triggerCameraModifiedEventIfNecessary(currentCamera, currentCamera);
|
|
382
|
+
this.viewportProperties.slabThickness = undefined;
|
|
383
|
+
}
|
|
384
|
+
|
|
351
385
|
/**
|
|
352
386
|
* Uses the origin and focalPoint to calculate the slice index.
|
|
353
387
|
*
|
package/src/types/EventTypes.ts
CHANGED
|
@@ -31,6 +31,23 @@ type CameraModifiedEventDetail = {
|
|
|
31
31
|
rotation?: number;
|
|
32
32
|
};
|
|
33
33
|
|
|
34
|
+
/**
|
|
35
|
+
* CAMERA_RESET Event's data
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
type CameraResetEventDetail = {
|
|
39
|
+
/** Viewport HTML element in the DOM */
|
|
40
|
+
element: HTMLDivElement;
|
|
41
|
+
/** Viewport Unique ID in the renderingEngine */
|
|
42
|
+
viewportId: string;
|
|
43
|
+
/** Unique ID for the renderingEngine */
|
|
44
|
+
renderingEngineId: string;
|
|
45
|
+
/** Camera properties */
|
|
46
|
+
camera: ICamera;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
type CameraResetEvent = CustomEventType<CameraResetEventDetail>;
|
|
50
|
+
|
|
34
51
|
/**
|
|
35
52
|
* VOI_MODIFIED Event's data
|
|
36
53
|
*/
|
|
@@ -461,4 +478,6 @@ export type {
|
|
|
461
478
|
StackViewportNewStackEventDetail,
|
|
462
479
|
StackViewportScrollEvent,
|
|
463
480
|
StackViewportScrollEventDetail,
|
|
481
|
+
CameraResetEvent,
|
|
482
|
+
CameraResetEventDetail,
|
|
464
483
|
};
|
|
@@ -137,8 +137,13 @@ export default interface IVolumeViewport extends IViewport {
|
|
|
137
137
|
resetPan?: boolean,
|
|
138
138
|
resetZoom?: boolean,
|
|
139
139
|
resetToCenter?: boolean,
|
|
140
|
-
resetRotation?: boolean
|
|
140
|
+
resetRotation?: boolean,
|
|
141
|
+
supressEvents?: boolean
|
|
141
142
|
): boolean;
|
|
143
|
+
/**
|
|
144
|
+
* Reset the slab thickness for actors of the viewport.
|
|
145
|
+
*/
|
|
146
|
+
resetSlabThickness(): void;
|
|
142
147
|
/**
|
|
143
148
|
* Sets the blendMode for actors of the viewport.
|
|
144
149
|
*/
|