Skip to content

Commit 4ae995b

Browse files
author
unknown
committed
feat(KeyboardCameraManipulator): Add typescript
Add index.d.ts file for vtkKeyboardCameraManipulator
1 parent 04ece80 commit 4ae995b

File tree

1 file changed

+100
-0
lines changed
  • Sources/Interaction/Manipulators/KeyboardCameraManipulator

1 file changed

+100
-0
lines changed
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
import { Vector3 } from '../../../types';
2+
import { vtkObject } from '../../../interfaces';
3+
import vtkCompositeKeyboardManipulator from '../CompositeKeyboardManipulator';
4+
import vtkRenderWindowInteractor from '../../../Rendering/Core/RenderWindowInteractor';
5+
import vtkCamera from '../../../Rendering/Core/Camera';
6+
import vtkRenderer from '../../../Rendering/Core/Renderer';
7+
8+
export interface vtkKeyboardCameraManipulator
9+
extends vtkObject, vtkCompositeKeyboardManipulator
10+
{
11+
/**
12+
* Returns whether a movement is ongoing.
13+
*/
14+
inMotion(): boolean;
15+
16+
/**
17+
* Reset the movement speed to be proportional to the longest length of the renderer's bounds.
18+
*/
19+
resetMovementSpeed(): void;
20+
21+
/**
22+
* Initialize a movement of the current camera.
23+
*/
24+
startMovement(): void;
25+
26+
/**
27+
* Cancel any ongoing camera movement.
28+
*/
29+
endMovement(): void;
30+
31+
/**
32+
* Update active camera direction, depending on currently pressed keys.
33+
*/
34+
calculateCurrentDirection(): void;
35+
36+
/**
37+
* Returns the direction vector of the given camera for the given key.
38+
* @param key the movedkey
39+
* @param camera the camera
40+
*/
41+
getDirectionFromKey(key: KeyboardEvent['key'], camera: vtkCamera): Vector3;
42+
43+
/**
44+
* Moves the given camera, in the given direction, at the given speed.
45+
* @param camera the moved camera
46+
* @param direction the direction of the movemnt
47+
* @param speed the speed
48+
*/
49+
moveCamera(camera: vtkCamera, direction: Vector3, speed: number): void;
50+
51+
/**
52+
* Handles a keypress event.
53+
* @param interactor the interactor
54+
* @param renderer the renderer
55+
* @param key the key
56+
*/
57+
onKeyPress(interactor: vtkRenderWindowInteractor, renderer: vtkRenderer, key: KeyboardEvent['key']): void;
58+
59+
/**
60+
* Handles a keydown event.
61+
* @param interactor the interactor
62+
* @param renderer the renderer
63+
* @param key the key
64+
*/
65+
onKeyDown(interactor: vtkRenderWindowInteractor, renderer: vtkRenderer, key: KeyboardEvent['key']): void;
66+
67+
/**
68+
* Handles a keyup event.
69+
* @param interactor the interactor
70+
* @param renderer the renderer
71+
* @param key the key
72+
*/
73+
onKeyUp(interactor: vtkRenderWindowInteractor, renderer: vtkRenderer, key: KeyboardEvent['key']): void
74+
}
75+
76+
export interface IKeyboardCameraManipulatorInitialValues {
77+
moveForwardKeys?: KeyboardEvent['key'][],
78+
moveLeftKeys?: KeyboardEvent['key'][],
79+
moveBackwardKeys?: KeyboardEvent['key'][],
80+
moveRightKeys?: KeyboardEvent['key'][],
81+
moveUpKeys?: KeyboardEvent['key'][],
82+
moveDownKeys?: KeyboardEvent['key'][],
83+
}
84+
85+
export function newInstance(
86+
initialValues?: IKeyboardCameraManipulatorInitialValues
87+
): vtkKeyboardCameraManipulator;
88+
89+
export function extend(
90+
publicAPI: object,
91+
model: object,
92+
initialValues?: IKeyboardCameraManipulatorInitialValues
93+
): void;
94+
95+
export const vtkKeyboardCameraManipulator: {
96+
newInstance: typeof newInstance;
97+
extend: typeof extend;
98+
};
99+
100+
export default vtkKeyboardCameraManipulator;

0 commit comments

Comments
 (0)