File tree Expand file tree Collapse file tree
src/ansys/visor/visor-client/src/renderer Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -25,6 +25,17 @@ export type VisorCameraState = Readonly<{
2525 parallelScale : number ;
2626} > ;
2727
28+ /** The seven camera fields that can be applied. No derived fields. */
29+ export type AppliedCameraState = Readonly < {
30+ position : readonly number [ ] ;
31+ focalPoint : readonly number [ ] ;
32+ viewUp : readonly number [ ] ;
33+ clippingRange : readonly number [ ] ;
34+ parallelProjection : boolean ;
35+ viewAngle : number ;
36+ parallelScale : number ;
37+ } > ;
38+
2839/** Descriptor consumed by setColorVariableAsync. */
2940export type ColorVariableDescriptor = Readonly < {
3041 spectrumId : string ;
@@ -97,11 +108,11 @@ export interface IRenderer {
97108 setCameraViewAngleAsync ( angle : number ) : Promise < void > ;
98109 setCameraParallelScaleAsync ( scale : number ) : Promise < void > ;
99110 /**
100- * Apply an entire camera snapshot in one RPC. WasmRenderer implements it
111+ * Apply the seven applied camera fields in one RPC. WasmRenderer implements it
101112 * by delegating to the seven per-field setters above. See §11 for the
102113 * Story 3.2 rationale (server-tracked camera + sync-back).
103114 */
104- setCameraStateAsync ( state : VisorCameraState ) : Promise < void > ;
115+ setCameraStateAsync ( state : AppliedCameraState ) : Promise < void > ;
105116 /** Frame the scene on the given bounds; used by scene-graph rebuilds. */
106117 resetCameraAsync ( bounds ?: readonly number [ ] ) : Promise < void > ;
107118
Original file line number Diff line number Diff line change 11import {
2+ AppliedCameraState ,
23 ColorVariableDescriptor ,
34 GeometryPickMode ,
45 IRenderer ,
@@ -79,7 +80,7 @@ export class NullRenderer implements IRenderer {
7980 // no-op
8081 }
8182
82- async setCameraStateAsync ( _state : VisorCameraState ) : Promise < void > {
83+ async setCameraStateAsync ( _state : AppliedCameraState ) : Promise < void > {
8384 // no-op
8485 }
8586
Original file line number Diff line number Diff line change 11import {
2+ AppliedCameraState ,
23 ColorVariableDescriptor ,
34 GeometryPickMode ,
45 IRenderer ,
@@ -177,7 +178,7 @@ export class WasmRenderer implements IRenderer {
177178 await this . #vtkScene. camera . setParallelScale ( scale ) ;
178179 }
179180
180- async setCameraStateAsync ( state : VisorCameraState ) : Promise < void > {
181+ async setCameraStateAsync ( state : AppliedCameraState ) : Promise < void > {
181182 // Sequential, not Promise.all, to preserve the observable ordering of
182183 // camera events any FPS/camera-changed listener sees (§11).
183184 await this . setCameraPositionAsync ( state . position ) ;
You can’t perform that action at this time.
0 commit comments