Skip to content

Commit 441d124

Browse files
committed
remove unused client renderer members
1 parent 7b20a94 commit 441d124

5 files changed

Lines changed: 9 additions & 69 deletions

File tree

‎src/ansys/visor/visor-client/src/VisorFrontend.tsx‎

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import { attachCameraSyncReporter } from './CameraSyncReporter';
1414
import { Panel_TopRight_Util } from './components/ui-panels/Panel_TopRight_Util.tsx';
1515
import { Panel_TopLeft_Util } from './components/ui-panels/Panel_TopLeft_Util.tsx';
1616
import { OrientationWidget } from './widgets/orientationWidget.ts';
17+
import { FullscreenWidget } from './widgets/fullscreenWidget.ts';
1718
import { UiScaffoldUtil } from './components/UiScaffold.tsx';
1819

1920
export type { VisorCameraState } from './renderer/IRenderer';
@@ -255,8 +256,10 @@ export class VisorFrontend {
255256
sendUiPanelTriggerAsync('set_panel_top_right_legend_collapsed', { collapsed });
256257
this.sendPanelTopRightTabIndexAsync = (tabIndex) =>
257258
sendUiPanelTriggerAsync('set_panel_top_right_tab_index', { tabIndex });
258-
this.toggleFullScreenAsync = () => renderer.toggleFullScreenAsync();
259-
this.setEdgeVisibilityAsync = (visible) => renderer.setEdgeVisibilityGlobalAsync(visible);
259+
const fullscreenWidget = new FullscreenWidget();
260+
this.toggleFullScreenAsync = () => fullscreenWidget.setFullScreenAsync();
261+
this.setEdgeVisibilityGlobalAsync = (visible) =>
262+
renderer.setEdgeVisibilityGlobalAsync(visible);
260263
this.setCrossSectionVisibilityAsync = (visible) =>
261264
renderer.setCrossSectionVisibilityAsync(visible);
262265
this.setBoundingBoxVisibilityAsync = (visible) =>
@@ -578,7 +581,8 @@ export class VisorFrontend {
578581
addFrameRenderedListener: (handler: (fps: number) => void) => () => void;
579582
setCrossSectionVisibilityAsync: (visible?: boolean) => Promise<void>;
580583
setBoundingBoxVisibilityAsync: (visible?: boolean) => Promise<void>;
581-
setEdgeVisibilityAsync: (visible?: boolean | undefined) => Promise<void>;
584+
/** Show, hide or toggle edges on every part. */
585+
setEdgeVisibilityGlobalAsync: (visible?: boolean | undefined) => Promise<void>;
582586
setOrthographicModeAsync: (enable?: boolean) => Promise<void>;
583587
getAppStateAsync: (keyedByName?: boolean) => Promise<VisorAppState>;
584588
setAppStateAsync: (state?: StateInput<VisorAppState>, updateUI?: boolean) => Promise<void>;

‎src/ansys/visor/visor-client/src/components/ui-panels/Panel_BottomMiddle.tsx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ export const Panel_BottomMiddle: FC<{
6262
await visorState.render();
6363
};
6464
wireFrameCell.onclick = async () => {
65-
await visorState.setEdgeVisibilityAsync();
65+
await visorState.setEdgeVisibilityGlobalAsync();
6666
await visorState.render();
6767
};
6868
getFullScreenCell.onclick = async () => {

‎src/ansys/visor/visor-client/src/renderer/IRenderer.ts‎

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,6 @@ export type VisorCameraState = Readonly<{
2323
parallelScale: number;
2424
}>;
2525

26-
/** The seven camera fields that can be applied. No derived fields. */
27-
export type AppliedCameraState = Readonly<{
28-
position: readonly number[];
29-
focalPoint: readonly number[];
30-
viewUp: readonly number[];
31-
clippingRange: readonly number[];
32-
parallelProjection: boolean;
33-
viewAngle: number;
34-
parallelScale: number;
35-
}>;
36-
3726
/**
3827
* Where a settled camera change came from: `gesture` if user input was
3928
* active during the change, `programmatic` otherwise.
@@ -104,14 +93,6 @@ export interface IRenderer {
10493
setCameraParallelProjectionAsync(enabled: boolean): Promise<void>;
10594
setCameraViewAngleAsync(angle: number): Promise<void>;
10695
setCameraParallelScaleAsync(scale: number): Promise<void>;
107-
/**
108-
* Apply the seven applied camera fields in one RPC. WasmRenderer implements it
109-
* by delegating to the seven per-field setters above. See §11 for the
110-
* Story 3.2 rationale (server-tracked camera + sync-back).
111-
*/
112-
setCameraStateAsync(state: AppliedCameraState): Promise<void>;
113-
/** Frame the scene on the given bounds; used by scene-graph rebuilds. */
114-
resetCameraAsync(bounds?: readonly number[]): Promise<void>;
11596

11697
// ---- Subscriptions (return unsubscribe closures) ------------------------
11798
/** Fires whenever the camera changes. Callback receives a full snapshot. */
@@ -243,8 +224,6 @@ export interface IRenderer {
243224
/** Whether edges are shown on every part in the scene. See contract note above. */
244225
areEdgesVisibleGlobally(): boolean;
245226

246-
toggleFullScreenAsync(): Promise<void>;
247-
248227
// ---- Picking (geometry pick — the vertex/edge/face path) ---------------
249228
/**
250229
* Perform a geometry pick at the given viewport-normalised coordinates.

‎src/ansys/visor/visor-client/src/renderer/NullRenderer.ts‎

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import {
2-
AppliedCameraState,
32
CameraOrigin,
43
ColorVariableDescriptor,
54
GeometryPickMode,
@@ -25,9 +24,7 @@ const NULL_CAMERA_STATE: VisorCameraState = {
2524
};
2625

2726
/**
28-
* No-op implementation of IRenderer. Used to confirm the interface is
29-
* buildable and to serve as a placeholder renderer until a concrete one is
30-
* wired in. Nothing imports this yet.
27+
* No-op renderer for tests that need an `IRenderer` with no wasm behind it.
3128
*/
3229
export class NullRenderer implements IRenderer {
3330
readonly domElement: HTMLDivElement = document.createElement('div');
@@ -76,14 +73,6 @@ export class NullRenderer implements IRenderer {
7673
// no-op
7774
}
7875

79-
async setCameraStateAsync(_state: AppliedCameraState): Promise<void> {
80-
// no-op
81-
}
82-
83-
async resetCameraAsync(_bounds?: readonly number[]): Promise<void> {
84-
// no-op
85-
}
86-
8776
addCameraChangedListener(_callback: (state: VisorCameraState) => void): () => void {
8877
return () => {
8978
// no-op unsubscribe
@@ -264,10 +253,6 @@ export class NullRenderer implements IRenderer {
264253
// no-op
265254
}
266255

267-
async toggleFullScreenAsync(): Promise<void> {
268-
// no-op
269-
}
270-
271256
async pickGeometryAsync(
272257
_normX: number,
273258
_normY: number,

‎src/ansys/visor/visor-client/src/renderer/WasmRenderer.ts‎

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import {
2-
AppliedCameraState,
32
CameraOrigin,
43
ColorVariableDescriptor,
54
GeometryPickMode,
@@ -14,7 +13,6 @@ import { WasmNodeHandles, WasmRendererAnnotation } from './RendererAnnotation';
1413
import { CrossSectionWidget } from '../widgets/crossSectionWidget.ts';
1514
import { BoundingBoxWidget } from '../widgets/boundingBoxWidget.ts';
1615
import { OrthographicWidget } from '../widgets/orthographicWidget.ts';
17-
import { FullscreenWidget } from '../widgets/fullscreenWidget.ts';
1816
import { EdgesWidget } from '../widgets/edgesWidget.ts';
1917

2018
const SELECTION_TINT_RGB: Readonly<number[]> = [0 / 255, 62 / 255, 111 / 255];
@@ -54,7 +52,6 @@ export class WasmRenderer implements IRenderer {
5452
widgetWasmId: wasmPlaneWidgetId,
5553
});
5654
this.#orthographicWidget = new OrthographicWidget(vtkScene);
57-
this.#fullscreenWidget = new FullscreenWidget();
5855
this.#boundingBoxWidget = new BoundingBoxWidget(vtkScene, {
5956
outlineActorId: annotation.widgets.boundingBoxOutlineActorId,
6057
axesActorId: annotation.widgets.boundingBoxAxesActorId,
@@ -151,7 +148,6 @@ export class WasmRenderer implements IRenderer {
151148
readonly #nodeIdToHandles = new Map<NodeId, WasmNodeHandles>();
152149
readonly #crossSectionWidget: CrossSectionWidget;
153150
readonly #orthographicWidget: OrthographicWidget;
154-
readonly #fullscreenWidget: FullscreenWidget;
155151
readonly #boundingBoxWidget: BoundingBoxWidget;
156152
readonly #edgesWidget: EdgesWidget;
157153

@@ -222,26 +218,6 @@ export class WasmRenderer implements IRenderer {
222218
await this.#vtkScene.camera.setParallelScale(scale);
223219
}
224220

225-
async setCameraStateAsync(state: AppliedCameraState): Promise<void> {
226-
// Sequential, not Promise.all, to preserve the observable ordering of
227-
// camera events any FPS/camera-changed listener sees (§11).
228-
await this.setCameraPositionAsync(state.position);
229-
await this.setCameraFocalPointAsync(state.focalPoint);
230-
await this.setCameraViewUpAsync(state.viewUp);
231-
await this.setCameraClippingRangeAsync(state.clippingRange);
232-
await this.setCameraParallelProjectionAsync(state.parallelProjection);
233-
await this.setCameraViewAngleAsync(state.viewAngle);
234-
await this.setCameraParallelScaleAsync(state.parallelScale);
235-
}
236-
237-
async resetCameraAsync(bounds?: readonly number[]): Promise<void> {
238-
if (bounds != null) {
239-
await this.#vtkScene.renderer.ResetCamera(bounds);
240-
} else {
241-
await this.#vtkScene.renderer.ResetCamera();
242-
}
243-
}
244-
245221
// ---- Subscriptions ----------------------------------------------------
246222
addCameraChangedListener(callback: (state: VisorCameraState) => void): () => void {
247223
return this.#vtkScene.addCameraChangedListener(async (_) => {
@@ -609,10 +585,6 @@ export class WasmRenderer implements IRenderer {
609585
await this.#edgesWidget.setEdgesVisibleAsync(visible);
610586
}
611587

612-
async toggleFullScreenAsync(): Promise<void> {
613-
await this.#fullscreenWidget.setFullScreenAsync();
614-
}
615-
616588
// ---- Picking ------------------------------------------------------------
617589
async pickGeometryAsync(
618590
normX: number,

0 commit comments

Comments
 (0)