@inweb/viewer-core 25.3.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,703 @@
1
+ import { Assembly, File, Model } from "@inweb/client";
2
+
3
+ /**
4
+ * A {@link Viewer} event that fires when model loading has been canceled.
5
+ *
6
+ * @event
7
+ */
8
+ export interface CancelEvent {
9
+ /**
10
+ * Event type.
11
+ */
12
+ type: "cancel";
13
+ }
14
+
15
+ /**
16
+ * A {@link Viewer} event that fires when the active dragger has been changed.
17
+ *
18
+ * @event
19
+ */
20
+ export interface ChangeActiveDraggerEvent {
21
+ /**
22
+ * Event type.
23
+ */
24
+ type: "changeactivedragger";
25
+
26
+ /**
27
+ * Dragger name.
28
+ */
29
+ data: string;
30
+ }
31
+
32
+ /**
33
+ * A {@link Viewer} event that fires when the markup color has been changed.
34
+ *
35
+ * @event
36
+ */
37
+ export interface ChangeMarkupColorEvent {
38
+ /**
39
+ * Event type.
40
+ */
41
+ type: "changemarkupcolor";
42
+
43
+ /**
44
+ * New color.
45
+ */
46
+ data: { r: number; g: number; b: number };
47
+ }
48
+
49
+ /**
50
+ * A {@link Viewer} event that fires when the viewer has been cleared.
51
+ *
52
+ * @event
53
+ */
54
+ export interface ClearEvent {
55
+ /**
56
+ * Event type.
57
+ */
58
+ type: "clear";
59
+ }
60
+
61
+ /**
62
+ * A {@link Viewer} event that fires after viewer executes the command.
63
+ *
64
+ * @event
65
+ */
66
+ export interface CommandEvent {
67
+ /**
68
+ * Event type.
69
+ */
70
+ type: "command";
71
+
72
+ /**
73
+ * Command name.
74
+ */
75
+ data: string;
76
+
77
+ /**
78
+ * Command arguments.
79
+ */
80
+ args: any[];
81
+ }
82
+
83
+ /**
84
+ * A {@link Viewer} event that fires when the model scene description file has been loaded.
85
+ *
86
+ * @event
87
+ */
88
+ export interface DatabaseChunkEvent {
89
+ /**
90
+ * Event type.
91
+ */
92
+ type: "databasechunk";
93
+
94
+ /**
95
+ * Scene description file.
96
+ */
97
+ data?: Uint8Array;
98
+
99
+ /**
100
+ * Model instance to open.
101
+ */
102
+ model?: Model;
103
+
104
+ /**
105
+ * Buffer to open.
106
+ */
107
+ buffer?: Uint8Array | ArrayBuffer;
108
+ }
109
+
110
+ /**
111
+ * A {@link Viewer} event that fires before viewer resources has been released.
112
+ *
113
+ * @event
114
+ */
115
+ export interface DisposeEvent {
116
+ /**
117
+ * Event type.
118
+ */
119
+ type: "dispose";
120
+ }
121
+
122
+ /**
123
+ * A {@link Viewer} event that fires when the model geometry data chunk has been loaded. Note
124
+ * that small files are loaded in one chunk, and `geometrychunk` event does not fire, only the
125
+ * `databasechink` event fires.
126
+ *
127
+ * @event
128
+ */
129
+ export interface GeometryChunkEvent {
130
+ /**
131
+ * Event type.
132
+ */
133
+ type: "geometrychunk";
134
+
135
+ /**
136
+ * Geometry data chunk.
137
+ */
138
+ data: Uint8Array;
139
+
140
+ /**
141
+ * Model instance to open.
142
+ */
143
+ model?: Model;
144
+
145
+ /**
146
+ * Buffer to open.
147
+ */
148
+ buffer?: Uint8Array | ArrayBuffer;
149
+ }
150
+
151
+ /**
152
+ * A {@link Viewer} event that fires after model has been successfully loaded.
153
+ *
154
+ * @event
155
+ */
156
+ export interface GeometryEndEvent {
157
+ /**
158
+ * Event type.
159
+ */
160
+ type: "geometryend";
161
+
162
+ /**
163
+ * Model instance to open.
164
+ */
165
+ model?: Model;
166
+
167
+ /**
168
+ * Buffer to open.
169
+ */
170
+ buffer?: Uint8Array | ArrayBuffer;
171
+
172
+ /**
173
+ * Loaded data (viewer depended).
174
+ */
175
+ data?: any;
176
+ }
177
+
178
+ /**
179
+ * A {@link Viewer} event that fires when the model fails to load.
180
+ *
181
+ * @event
182
+ */
183
+ export interface GeometryErrorEvent {
184
+ /**
185
+ * Event type.
186
+ */
187
+ type: "geometryerror";
188
+
189
+ /**
190
+ * Thrown exception.
191
+ */
192
+ data: Error;
193
+
194
+ /**
195
+ * Model instance to open.
196
+ */
197
+ model?: Model;
198
+
199
+ /**
200
+ * Buffer to open.
201
+ */
202
+ buffer?: Uint8Array | ArrayBuffer;
203
+ }
204
+
205
+ /**
206
+ * A {@link Viewer} event measuring progress of the model loading process.
207
+ *
208
+ * @event
209
+ */
210
+ export interface GeometryProgressEvent {
211
+ /**
212
+ * Event type.
213
+ */
214
+ type: "geometryprogress";
215
+
216
+ /**
217
+ * The non-rounded progress value from 0 to 1. To get a percentage (%), multiply the `data` by 100.
218
+ */
219
+ data: number;
220
+
221
+ /**
222
+ * Model instance to open.
223
+ */
224
+ model?: Model;
225
+
226
+ /**
227
+ * Buffer to open.
228
+ */
229
+ buffer?: Uint8Array | ArrayBuffer;
230
+ }
231
+
232
+ /**
233
+ * A {@link Viewer} event that fires before the model loads.
234
+ *
235
+ * @event
236
+ */
237
+ export interface GeometryStartEvent {
238
+ /**
239
+ * Event type.
240
+ */
241
+ type: "geometrystart";
242
+
243
+ /**
244
+ * Model instance to open.
245
+ */
246
+ model?: Model;
247
+
248
+ /**
249
+ * Buffer to open.
250
+ */
251
+ buffer?: Uint8Array | ArrayBuffer;
252
+ }
253
+
254
+ /**
255
+ * A {@link Viewer} event that fires before model opens.
256
+ *
257
+ * @event
258
+ */
259
+ export interface OpenEvent {
260
+ /**
261
+ * Event type.
262
+ */
263
+ type: "open";
264
+
265
+ /**
266
+ * File instance to open.
267
+ */
268
+ file?: File | Assembly | Model;
269
+
270
+ /*
271
+ * Deprecated since `25.3`. Use `file` instead.
272
+ */
273
+ model?: File | Assembly | Model;
274
+
275
+ /**
276
+ * Buffer to open.
277
+ */
278
+ buffer?: Uint8Array | ArrayBuffer;
279
+ }
280
+
281
+ /**
282
+ * A {@link Viewer} event that fires when rendering occurs.
283
+ *
284
+ * @event
285
+ */
286
+ export interface RenderEvent {
287
+ /**
288
+ * Event type.
289
+ */
290
+ type: "render";
291
+
292
+ time: DOMHighResTimeStamp;
293
+
294
+ deltaTime: DOMHighResTimeStamp;
295
+ }
296
+
297
+ /**
298
+ * A {@link Viewer} event that fires when resize occurs.
299
+ *
300
+ * @event
301
+ */
302
+ export interface ResizeEvent {
303
+ /**
304
+ * Event type.
305
+ */
306
+ type: "resize";
307
+
308
+ /**
309
+ * New width.
310
+ */
311
+ width: number;
312
+
313
+ /**
314
+ * New height.
315
+ */
316
+ height: number;
317
+ }
318
+
319
+ /**
320
+ * A {@link Viewer} event that fires when the selection changes.
321
+ *
322
+ * @event
323
+ */
324
+ export interface SelectEvent {
325
+ /**
326
+ * Event type.
327
+ */
328
+ type: "select";
329
+
330
+ /**
331
+ * Selection set.
332
+ */
333
+ data: any;
334
+
335
+ /**
336
+ * Handles of selected entities.
337
+ */
338
+ handles: string[];
339
+ }
340
+
341
+ /**
342
+ * A {@link Viewer} event that fires when an update occurs.
343
+ *
344
+ * @event
345
+ */
346
+ export interface UpdateEvent {
347
+ /**
348
+ * Event type.
349
+ */
350
+ type: "update";
351
+
352
+ /**
353
+ * `true` to force the update, otherwise the update is delayed until the next animation frame.
354
+ */
355
+ data: boolean;
356
+ }
357
+
358
+ /**
359
+ * A {@link Viewer} event measuring progress of loading a `VisualizeJS` library.
360
+ *
361
+ * @event
362
+ */
363
+ export interface VisualizeProgressEvent {
364
+ /**
365
+ * Event type.
366
+ */
367
+ type: "visualizeprogress";
368
+
369
+ /**
370
+ * A 64-bit unsigned integer value indicating the amount of work already performed by the
371
+ * underlying process. The ratio of work done can be calculated by dividing total by the
372
+ * value of this property.
373
+ */
374
+ loaded: number;
375
+
376
+ /**
377
+ * A 64-bit unsigned integer representing the total amount of work that the underlying
378
+ * process is in the progress of performing.
379
+ */
380
+ total: number;
381
+ }
382
+
383
+ /**
384
+ * A {@link Viewer} event that fires when walk speed changing.
385
+ *
386
+ * @event
387
+ */
388
+ export interface WalkSpeedChangeEvent {
389
+ /**
390
+ * Event type.
391
+ */
392
+ type: "walkspeedchange";
393
+
394
+ /**
395
+ * Multiplier
396
+ */
397
+ data: number;
398
+ }
399
+
400
+ /**
401
+ * A {@link Viewer} event that fires when walk started.
402
+ *
403
+ * @event
404
+ */
405
+ export interface WalkStartEvent {
406
+ /**
407
+ * Event type.
408
+ */
409
+ type: "walkstart";
410
+ }
411
+
412
+ /**
413
+ * A {@link Viewer} pan to event.
414
+ *
415
+ * @event
416
+ */
417
+ export interface PanEvent {
418
+ /**
419
+ * Event type.
420
+ */
421
+ type: "pan";
422
+
423
+ /**
424
+ * X coordinate.
425
+ */
426
+ x: number;
427
+ /**
428
+ * Y coordinate.
429
+ */
430
+ y: number;
431
+ /**
432
+ * delta X coordinate.
433
+ */
434
+ dX: number;
435
+ /**
436
+ * delta Y coordinate.
437
+ */
438
+ dY: number;
439
+ }
440
+
441
+ /**
442
+ * A {@link Viewer} zoom event.
443
+ *
444
+ * @event
445
+ */
446
+ export interface ZoomEvent {
447
+ /**
448
+ * Event type.
449
+ */
450
+ type: "zoom";
451
+
452
+ /**
453
+ * New view parameters.
454
+ */
455
+ data?: any;
456
+ }
457
+
458
+ /**
459
+ * A {@link Viewer} zoom at event.
460
+ *
461
+ * @event
462
+ */
463
+ export interface ZoomAtEvent {
464
+ /**
465
+ * Event type.
466
+ */
467
+ type: "zoomat";
468
+
469
+ /**
470
+ * Zoom factor
471
+ */
472
+ data: number;
473
+ }
474
+
475
+ /**
476
+ * A {@link Viewer} zoom to entity event.
477
+ *
478
+ * @event
479
+ */
480
+ export interface ZoomToEntityEvent {
481
+ /**
482
+ * Event type.
483
+ */
484
+ type: "zoomtoentity";
485
+
486
+ /**
487
+ * Entity
488
+ */
489
+ data: any;
490
+ }
491
+
492
+ /**
493
+ * Viewer Events
494
+ */
495
+ export interface ViewerEventMap {
496
+ /**
497
+ * A {@link Viewer} event that fires when model loading has been canceled.
498
+ */
499
+ cancel: CancelEvent;
500
+
501
+ /**
502
+ * A {@link Viewer} event that fires when the active dragger has been changed.
503
+ */
504
+ changeactivedragger: ChangeActiveDraggerEvent;
505
+
506
+ /**
507
+ * A {@link Viewer} event that fires when the markup color has been changed.
508
+ */
509
+ changemarkupcolor: ChangeMarkupColorEvent;
510
+
511
+ /**
512
+ * A {@link Viewer} event that fires when the viewer has been cleared.
513
+ */
514
+ clear: ClearEvent;
515
+
516
+ /**
517
+ * A {@link Viewer} event that fires after viewer executes the command.
518
+ */
519
+ command: CommandEvent;
520
+
521
+ /**
522
+ * A {@link Viewer} event that fires when the model scene description file has been loaded.
523
+ */
524
+ databasechunk: DatabaseChunkEvent;
525
+
526
+ /**
527
+ * A {@link Viewer} event that fires before viewer resources has been released.
528
+ */
529
+ dispose: DisposeEvent;
530
+
531
+ /**
532
+ * A {@link Viewer} event that fires when the model geometry data chunk has been loaded.
533
+ */
534
+ geometrychunk: GeometryChunkEvent;
535
+
536
+ /**
537
+ * A {@link Viewer} event that fires after model has been successfully loaded.
538
+ */
539
+ geometryend: GeometryEndEvent;
540
+
541
+ /**
542
+ * A {@link Viewer} event that fires when the model fails to open.
543
+ */
544
+ geometryerror: GeometryErrorEvent;
545
+
546
+ /**
547
+ * A {@link Viewer} event measuring progress of the model loading process.
548
+ */
549
+ geometryprogress: GeometryProgressEvent;
550
+
551
+ /**
552
+ * A {@link Viewer} event that fires before the model opens.
553
+ */
554
+ geometrystart: GeometryStartEvent;
555
+
556
+ /**
557
+ * A {@link Viewer} event that fires before model opens.
558
+ */
559
+ open: OpenEvent;
560
+
561
+ /**
562
+ * A {@link Viewer} event that fires when an rendering occurs.
563
+ */
564
+ render: RenderEvent;
565
+
566
+ /**
567
+ * A {@link Viewer} event that fires when resize occurs.
568
+ */
569
+ resize: ResizeEvent;
570
+
571
+ /**
572
+ * A {@link Viewer} event that fires when the selection changes.
573
+ */
574
+ select: SelectEvent;
575
+
576
+ /**
577
+ * A {@link Viewer} event that fires when an update occurs.
578
+ */
579
+ update: UpdateEvent;
580
+
581
+ /**
582
+ * A {@link Viewer} event measuring progress of loading a `VisualizeJS` library.
583
+ */
584
+ visualizeprogress: VisualizeProgressEvent;
585
+
586
+ /**
587
+ * A {@link Viewer} event that fires when walk speed changing.
588
+ */
589
+ walkspeedchange: WalkSpeedChangeEvent;
590
+
591
+ /**
592
+ * A {@link Viewer} event that fires when walk started.
593
+ */
594
+ walkstart: WalkStartEvent;
595
+
596
+ /**
597
+ * A {@link Viewer} pan event.
598
+ */
599
+ pan: PanEvent;
600
+
601
+ /**
602
+ * A {@link Viewer} zoom event.
603
+ */
604
+ zoom: ZoomEvent;
605
+
606
+ /**
607
+ * A {@link Viewer} zoom at event.
608
+ */
609
+ zoomat: ZoomAtEvent;
610
+
611
+ /**
612
+ * A {@link Viewer} zoom to entity event.
613
+ */
614
+ zoomtoentity: ZoomToEntityEvent;
615
+
616
+ // Canvas events
617
+
618
+ /**
619
+ * {@link Viewer} event that fires when the user attempts to open a context menu.
620
+ */
621
+ contextmenu: PointerEvent;
622
+
623
+ /**
624
+ * {@link Viewer} event that fires on mouse click.
625
+ */
626
+ click: MouseEvent;
627
+
628
+ /**
629
+ * A {@link Viewer} event that fires on mouse double click.
630
+ */
631
+ dblclick: MouseEvent;
632
+
633
+ /**
634
+ * A {@link Viewer} event that fires on mouse button is down.
635
+ */
636
+ mousedown: MouseEvent;
637
+
638
+ /**
639
+ * A {@link Viewer} event that fires on mouse leave.
640
+ */
641
+ mouseleave: MouseEvent;
642
+
643
+ /**
644
+ * A {@link Viewer} event that fires on mouse move.
645
+ */
646
+ mousemove: MouseEvent;
647
+
648
+ /**
649
+ * A {@link Viewer} event that fires on mouse button is up.
650
+ */
651
+ mouseup: MouseEvent;
652
+
653
+ /**
654
+ * A {@link Viewer} event is fired when the browser determines that there are unlikely to be
655
+ * any more pointer events.
656
+ */
657
+ pointercancel: PointerEvent;
658
+
659
+ /**
660
+ * A {@link Viewer} event that fires on mouse button is down.
661
+ */
662
+ pointerdown: PointerEvent;
663
+
664
+ /**
665
+ * A {@link Viewer} event that fires on mouse leave.
666
+ */
667
+ pointerleave: PointerEvent;
668
+
669
+ /**
670
+ * A {@link Viewer} event that fires on mouse move.
671
+ */
672
+ pointermove: PointerEvent;
673
+
674
+ /**
675
+ * A {@link Viewer} event that fires on mouse button is up.
676
+ */
677
+ pointerup: PointerEvent;
678
+
679
+ /**
680
+ * A {@link Viewer} event that fires touch is canceled.
681
+ */
682
+ touchcancel: TouchEvent;
683
+
684
+ /**
685
+ * A {@link Viewer} event that fires touch is ended.
686
+ */
687
+ touchend: TouchEvent;
688
+
689
+ /**
690
+ * A {@link Viewer} event that fires touch is moving.
691
+ */
692
+ touchmove: TouchEvent;
693
+
694
+ /**
695
+ * A {@link Viewer} event that fires when touch is started.
696
+ */
697
+ touchstart: TouchEvent;
698
+
699
+ /**
700
+ * A {@link Viewer} event that fires when mouse wheel is moving.
701
+ */
702
+ wheel: MouseEvent;
703
+ }