Skip to content

Commit

Permalink
fix(VolumeViewport): Add optional volumeId to resetProperties in Volu…
Browse files Browse the repository at this point in the history
…meViewport (#749)

* fixes

* Update IVolumeViewport.ts

* fixes

* api

* fixes
  • Loading branch information
IbrahimCSAE committed Aug 22, 2023
1 parent 6d964df commit 34b815e
Show file tree
Hide file tree
Showing 7 changed files with 31 additions and 13 deletions.
8 changes: 4 additions & 4 deletions common/reviews/api/core.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ export abstract class BaseVolumeViewport extends Viewport implements IVolumeView
// (undocumented)
removeVolumeActors(actorUIDs: Array<string>, immediate?: boolean): void;
// (undocumented)
abstract resetProperties(): void;
abstract resetProperties(volumeId?: string): void;
// (undocumented)
protected resetVolumeViewportClippingRange(): void;
// (undocumented)
Expand Down Expand Up @@ -1894,7 +1894,7 @@ interface IVolumeViewport extends IViewport {
// (undocumented)
resetCamera(resetPan?: boolean, resetZoom?: boolean, resetToCenter?: boolean): boolean;
// (undocumented)
resetProperties(): void;
resetProperties(volumeId?: string): void;
// (undocumented)
setBlendMode(blendMode: BlendModes, filterActorUIDs?: Array<string>, immediate?: boolean): void;
// (undocumented)
Expand Down Expand Up @@ -2889,7 +2889,7 @@ export class VolumeViewport extends BaseVolumeViewport {
// (undocumented)
resetCamera(resetPan?: boolean, resetZoom?: boolean, resetToCenter?: boolean): boolean;
// (undocumented)
resetProperties(): void;
resetProperties(volumeId?: string): void;
// (undocumented)
setBlendMode(blendMode: BlendModes, filterActorUIDs?: any[], immediate?: boolean): void;
// (undocumented)
Expand All @@ -2912,7 +2912,7 @@ export class VolumeViewport3D extends BaseVolumeViewport {
// (undocumented)
resetCamera(resetPan?: boolean, resetZoom?: boolean, resetToCenter?: boolean): boolean;
// (undocumented)
resetProperties(): void;
resetProperties(volumeId?: string): void;
// (undocumented)
setBlendMode(blendMode: BlendModes, filterActorUIDs?: string[], immediate?: boolean): void;
// (undocumented)
Expand Down
2 changes: 1 addition & 1 deletion common/reviews/api/streaming-image-volume-loader.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -1318,7 +1318,7 @@ interface IVolumeViewport extends IViewport {
resetZoom?: boolean,
resetToCenter?: boolean
): boolean;
resetProperties(): void;
resetProperties(volumeId?: string): void;
setBlendMode(
blendMode: BlendModes,
filterActorUIDs?: Array<string>,
Expand Down
2 changes: 1 addition & 1 deletion common/reviews/api/tools.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -3138,7 +3138,7 @@ interface IVolumeViewport extends IViewport {
resetZoom?: boolean,
resetToCenter?: boolean
): boolean;
resetProperties(): void;
resetProperties(volumeId?: string): void;
setBlendMode(
blendMode: BlendModes,
filterActorUIDs?: Array<string>,
Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/RenderingEngine/BaseVolumeViewport.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1095,7 +1095,7 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
filterActorUIDs?: Array<string>
): void;

abstract resetProperties(): void;
abstract resetProperties(volumeId?: string): void;
}

export default BaseVolumeViewport;
25 changes: 21 additions & 4 deletions packages/core/src/RenderingEngine/VolumeViewport.ts
Original file line number Diff line number Diff line change
Expand Up @@ -356,15 +356,32 @@ class VolumeViewport extends BaseVolumeViewport {
/**
* Reset the viewport properties to the default values
*
* @param volumeId - Optional volume ID to specify which volume properties to reset.
* If not provided, it will reset the properties of the default actor.
*
* @returns void
*/
public resetProperties(): void {
this._resetProperties();
public resetProperties(volumeId?: string): void {
this._resetProperties(volumeId);
}

private _resetProperties() {
const volumeActor = this.getDefaultActor();
private _resetProperties(volumeId?: string) {
// Get the actor based on the volumeId if provided, otherwise use the default actor.
const volumeActor = volumeId
? this.getActor(volumeId)
: this.getDefaultActor();

if (!volumeActor) {
throw new Error(`No actor found for the given volumeId: ${volumeId}`);
}

const imageVolume = cache.getVolume(volumeActor.uid);
if (!imageVolume) {
throw new Error(
`imageVolume with id: ${volumeActor.uid} does not exist in cache`
);
}
setDefaultVolumeVOI(volumeActor.actor as vtkVolume, imageVolume, false);
}
}
Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/RenderingEngine/VolumeViewport3D.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ class VolumeViewport3D extends BaseVolumeViewport {
return null;
}

resetProperties(): void {
resetProperties(volumeId?: string): void {
return null;
}
}
Expand Down
3 changes: 2 additions & 1 deletion packages/core/src/types/IVolumeViewport.ts
Original file line number Diff line number Diff line change
Expand Up @@ -141,5 +141,6 @@ export default interface IVolumeViewport extends IViewport {
/**
* Reset the viewport properties to the default values
*/
resetProperties(): void;
resetProperties(volumeId?: string): void;

}

0 comments on commit 34b815e

Please sign in to comment.