Skip to content

Commit 758989e

Browse files
authored
Merge pull request #2166 from boucaud/add-typescript-definitions
docs(ts): Add and update TypeScript definitions
2 parents 94b9880 + 68ab649 commit 758989e

File tree

4 files changed

+510
-7
lines changed

4 files changed

+510
-7
lines changed
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import { Size, Vector3 } from '../../../types';
2+
3+
declare function createMethods(session: any): {
4+
subscribeToImageStream: (callback: any) => any;
5+
unsubscribeToImageStream: (subscription: any) => any;
6+
registerView: (viewId: number) => any;
7+
unregisterView: (viewId: number) => any;
8+
enableView: (viewId: number, enabled: boolean) => any;
9+
render: (options?: {
10+
size: Size;
11+
view: number;
12+
}) => any;
13+
resetCamera: (view?: number) => any;
14+
invalidateCache: (viewId: number) => any;
15+
setQuality: (viewId: number, quality: number, ratio?: number) => any;
16+
setSize: (viewId: number, width?: number, height?: number) => any;
17+
setServerAnimationFPS: (fps?: number) => any;
18+
getServerAnimationFPS: () => number;
19+
startAnimation: (viewId?: number) => any;
20+
stopAnimation: (viewId?: number) => any;
21+
updateCamera: (viewId: number, focalPoint: Vector3, viewUp: Vector3, position: Vector3, forceUpdate?: boolean) => any;
22+
updateCameraParameters: (viewId?: number, parameters?: {}, forceUpdate?: boolean) => any;
23+
}
24+
25+
export default createMethods;
Lines changed: 256 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,256 @@
1+
import { vtkObject } from '../../../interfaces';
2+
import { Size } from '../../../types';
3+
import vtkCamera from '../../../Rendering/Core/Camera';
4+
import DefaultProtocol from './DefaultProtocol';
5+
/**
6+
*
7+
*/
8+
export interface IViewStreamInitialValues {
9+
protocol?: typeof DefaultProtocol;
10+
api?: any;
11+
cameraUpdateRate?: number;
12+
decodeImage?: boolean;
13+
fpsWindowSize?: number;
14+
interactiveQuality?: number;
15+
interactiveRatio?: number;
16+
isAnimating?: boolean;
17+
mimeType?: string;
18+
size?: Size;
19+
stillQuality?: number;
20+
stillRatio?: number;
21+
useCameraParameters?: boolean;
22+
viewId?: string;
23+
}
24+
25+
interface IMetaData {
26+
size: Size,
27+
id: string,
28+
memory: number,
29+
workTime: number,
30+
}
31+
32+
interface IEvent {
33+
url: string,
34+
fps: number[],
35+
metadata: IMetaData,
36+
}
37+
38+
export interface vtkViewStream extends vtkObject {
39+
/**
40+
*
41+
* @param callback
42+
*/
43+
onImageReady(callback: () => void): any;
44+
45+
/**
46+
*
47+
*/
48+
getViewId(): string;
49+
50+
/**
51+
*
52+
*/
53+
getSize(): Size;
54+
55+
/**
56+
*
57+
*/
58+
getFps(): number[];
59+
60+
/**
61+
*
62+
*/
63+
getLastImageEvent(): IEvent;
64+
65+
/**
66+
*
67+
*/
68+
getCamera(): vtkCamera;
69+
70+
/**
71+
*
72+
* @param camera
73+
*/
74+
setCamera(camera: vtkCamera): boolean;
75+
76+
/**
77+
*
78+
*/
79+
getCameraUpdateRate(): number;
80+
81+
/**
82+
*
83+
* @param cameraUpdateRate
84+
*/
85+
setCameraUpdateRate(cameraUpdateRate: number): boolean;
86+
87+
/**
88+
*
89+
*/
90+
getDecodeImage(): boolean;
91+
92+
/**
93+
*
94+
* @param decodeImage
95+
*/
96+
setDecodeImage(decodeImage: boolean): boolean;
97+
98+
/**
99+
*
100+
*/
101+
getFpsWindowSize(): number;
102+
103+
/**
104+
*
105+
* @param fpsWindowSize
106+
*/
107+
setFpsWindowSize(fpsWindowSize: number): boolean;
108+
109+
/**
110+
*
111+
*/
112+
getInteractiveQuality(): number;
113+
114+
/**
115+
*
116+
* @param interactiveQuality
117+
*/
118+
setInteractiveQuality(interactiveQuality: number): boolean;
119+
120+
/**
121+
*
122+
*/
123+
getInteractiveRatio(): number;
124+
125+
/**
126+
*
127+
* @param interactiveRatio
128+
*/
129+
setInteractiveRatio(interactiveRatio: number): boolean;
130+
131+
/**
132+
*
133+
*/
134+
getStillQuality(): number;
135+
136+
/**
137+
*
138+
* @param stillQuality
139+
*/
140+
setStillQuality(stillQuality: number): boolean;
141+
142+
/**
143+
*
144+
*/
145+
getStillRatio(): number;
146+
147+
/**
148+
*
149+
* @param stillRatio
150+
*/
151+
setStillRatio(stillRatio: number): boolean;
152+
153+
/**
154+
*
155+
*/
156+
getUseCameraParameters(): boolean;
157+
158+
/**
159+
*
160+
* @param useCameraParameters
161+
*/
162+
setUseCameraParameters(useCameraParameters: boolean): boolean;
163+
164+
/**
165+
*
166+
*/
167+
pushCamera(): any;
168+
169+
/**
170+
*
171+
*/
172+
invalidateCache(): any;
173+
174+
/**
175+
*
176+
*/
177+
render(): any;
178+
179+
/**
180+
*
181+
*/
182+
resetCamera(): any;
183+
184+
/**
185+
*
186+
*/
187+
startAnimation(): any;
188+
189+
/**
190+
*
191+
*/
192+
stopAnimation(): any;
193+
194+
/**
195+
*
196+
* @param width
197+
* @param height
198+
*/
199+
setSize(width: number, height: number): any;
200+
201+
/**
202+
*
203+
*/
204+
startInteraction(): any;
205+
206+
/**
207+
*
208+
*/
209+
endInteraction(): any;
210+
211+
/**
212+
*
213+
* @param viewId
214+
*/
215+
setViewId(viewId: string): boolean;
216+
217+
/**
218+
*
219+
* @param msg
220+
*/
221+
processMessage(msg: any): void;
222+
223+
/**
224+
*
225+
*/
226+
delete(): void;
227+
}
228+
229+
/**
230+
* Method used to decorate a given object (publicAPI+model) with vtkViewStream characteristics.
231+
* @param publicAPI
232+
* @param model
233+
* @param initialValues
234+
*/
235+
export function extend(
236+
publicAPI: object,
237+
model: object,
238+
initialValues?: IViewStreamInitialValues
239+
): void;
240+
241+
/**
242+
* Method used to create a new instance of vtkViewStream
243+
* @param {IViewStreamInitialValues} [initialValues] for pre-setting some of its content
244+
*/
245+
export function newInstance(
246+
initialValues?: IViewStreamInitialValues
247+
): vtkViewStream;
248+
249+
/**
250+
* IViewStreamInitialValues provides a way to create a remote view.
251+
*/
252+
export declare const vtkViewStream: {
253+
newInstance: typeof newInstance;
254+
extend: typeof extend;
255+
};
256+
export default vtkViewStream;

Sources/IO/Core/WSLinkClient/index.d.ts

Lines changed: 30 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { vtkObject, vtkSubscription } from "../../../interfaces";
1+
import { vtkObject, vtkSubscription } from '../../../interfaces';
22

33
/**
44
* Bind optional dependency from WSLink to our current class.
@@ -15,7 +15,6 @@ import { vtkObject, vtkSubscription } from "../../../interfaces";
1515
*/
1616
export function setSmartConnectClass(smartConnectClass: object): void;
1717

18-
1918
export interface vtkWSLinkClient extends vtkObject {
2019

2120
/**
@@ -117,21 +116,45 @@ export interface vtkWSLinkClient extends vtkObject {
117116
*/
118117
getConfigDecorator(): (config: object) => object;
119118

120-
getConnection(): object;
121-
getCongig(): object;
119+
/**
120+
*
121+
*/
122+
getConnection(): any;
123+
124+
/**
125+
*
126+
*/
127+
getConfig(): object;
128+
129+
/**
130+
*
131+
*/
122132
getRemote(): object;
133+
134+
/**
135+
*
136+
*/
123137
getImageStream(): object;
124138

139+
/**
140+
*
141+
* @param callback
142+
* @param priority
143+
*/
125144
onBusyChange(callback: Function, priority: number): vtkSubscription;
145+
146+
/**
147+
*
148+
*/
126149
invokeBusyChange(): void;
127150

128-
onConnectionReady(callback: () => void): vtkSubscription;
151+
onConnectionReady(callback: (httpReq: any) => void): vtkSubscription;
129152
// invokeConnectionReady(): void
130153

131-
onConnectionError(callback: () => void): vtkSubscription;
154+
onConnectionError(callback: (httpReq: any) => void): vtkSubscription;
132155
// invokeConnectionError(): void
133156

134-
onConnectionClose(callback: () => void): vtkSubscription;
157+
onConnectionClose(callback: (httpReq: any) => void): vtkSubscription;
135158
// invokeConnectionClose(): void
136159
}
137160

0 commit comments

Comments
 (0)