@xeokit/xeokit-sdk 2.2.5 → 2.3.0-beta-2

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.
Files changed (120) hide show
  1. package/dist/web-ifc.wasm +0 -0
  2. package/dist/xeokit-sdk.cjs.js +87051 -79967
  3. package/dist/xeokit-sdk.es.js +87051 -79967
  4. package/dist/xeokit-sdk.min.cjs.js +1 -1
  5. package/dist/xeokit-sdk.min.es.js +1 -1
  6. package/package.json +18 -22
  7. package/types/extras/ContextMenu/ContextMenu.d.ts +125 -0
  8. package/types/extras/ContextMenu/index.d.ts +1 -0
  9. package/types/extras/index.d.ts +1 -0
  10. package/types/index.d.ts +3 -0
  11. package/types/plugins/AngleMeasurementsPlugin/AngleMeasurement.d.ts +144 -0
  12. package/types/plugins/AngleMeasurementsPlugin/AngleMeasurementsControl.d.ts +67 -0
  13. package/types/plugins/AngleMeasurementsPlugin/AngleMeasurementsPlugin.d.ts +99 -0
  14. package/types/plugins/AngleMeasurementsPlugin/index.d.ts +1 -0
  15. package/types/plugins/AnnotationsPlugin/Annotation.d.ts +135 -0
  16. package/types/plugins/AnnotationsPlugin/AnnotationsPlugin.d.ts +150 -0
  17. package/types/plugins/AnnotationsPlugin/index.d.ts +2 -0
  18. package/types/plugins/AxisGizmoPlugin/AxisGizmoPlugin.d.ts +28 -0
  19. package/types/plugins/AxisGizmoPlugin/index.d.ts +1 -0
  20. package/types/plugins/BCFViewpointsPlugin/BCFViewpointsPlugin.d.ts +146 -0
  21. package/types/plugins/BCFViewpointsPlugin/index.d.ts +1 -0
  22. package/types/plugins/CityJSONLoaderPlugin/CityJSONLoaderPlugin.d.ts +81 -0
  23. package/types/plugins/CityJSONLoaderPlugin/index.d.ts +1 -0
  24. package/types/plugins/DistanceMeasurementsPlugin/DistanceMeasurement.d.ts +137 -0
  25. package/types/plugins/DistanceMeasurementsPlugin/DistanceMeasurementsControl.d.ts +65 -0
  26. package/types/plugins/DistanceMeasurementsPlugin/DistanceMeasurementsPlugin.d.ts +135 -0
  27. package/types/plugins/DistanceMeasurementsPlugin/index.d.ts +1 -0
  28. package/types/plugins/FastNavPlugin/FastNavPlugin.d.ts +203 -0
  29. package/types/plugins/FastNavPlugin/index.d.ts +1 -0
  30. package/types/plugins/GLTFLoaderPlugin/GLTFLoaderPlugin.d.ts +140 -0
  31. package/types/plugins/GLTFLoaderPlugin/index.d.ts +1 -0
  32. package/types/plugins/LASLoaderPlugin/LASLoaderPlugin.d.ts +146 -0
  33. package/types/plugins/LASLoaderPlugin/index.d.ts +1 -0
  34. package/types/plugins/NavCubePlugin/NavCubePlugin.d.ts +160 -0
  35. package/types/plugins/NavCubePlugin/index.d.ts +1 -0
  36. package/types/plugins/OBJLoaderPlugin/OBJLoaderPlugin.d.ts +44 -0
  37. package/types/plugins/OBJLoaderPlugin/index.d.ts +1 -0
  38. package/types/plugins/STLLoaderPlugin/STLLoaderPlugin.d.ts +88 -0
  39. package/types/plugins/STLLoaderPlugin/index.d.ts +1 -0
  40. package/types/plugins/SectionPlanesPlugin/SectionPlanesPlugin.d.ts +103 -0
  41. package/types/plugins/SectionPlanesPlugin/index.d.ts +1 -0
  42. package/types/plugins/SkyboxesPlugin/SkyboxesPlugin.d.ts +34 -0
  43. package/types/plugins/SkyboxesPlugin/index.d.ts +1 -0
  44. package/types/plugins/StoreyViewsPlugin/Storey.d.ts +47 -0
  45. package/types/plugins/StoreyViewsPlugin/StoreyMap.d.ts +41 -0
  46. package/types/plugins/StoreyViewsPlugin/StoreyViewsPlugin.d.ts +180 -0
  47. package/types/plugins/StoreyViewsPlugin/index.d.ts +1 -0
  48. package/types/plugins/TreeViewPlugin/ModelTreeView.d.ts +24 -0
  49. package/types/plugins/TreeViewPlugin/TreeViewNode.d.ts +66 -0
  50. package/types/plugins/TreeViewPlugin/TreeViewPlugin.d.ts +150 -0
  51. package/types/plugins/TreeViewPlugin/index.d.ts +1 -0
  52. package/types/plugins/ViewCullPlugin/ViewCullPlugin.d.ts +34 -0
  53. package/types/plugins/ViewCullPlugin/index.d.ts +1 -0
  54. package/types/plugins/WebIFCLoaderPlugin/WebIFCLoaderPlugin.d.ts +230 -0
  55. package/types/plugins/WebIFCLoaderPlugin/index.d.ts +1 -0
  56. package/types/plugins/XKTLoaderPlugin/XKTLoaderPlugin.d.ts +277 -0
  57. package/types/plugins/XKTLoaderPlugin/index.d.ts +1 -0
  58. package/types/plugins/XML3DLoaderPlugin/XML3DLoaderPlugin.d.ts +65 -0
  59. package/types/plugins/XML3DLoaderPlugin/index.d.ts +1 -0
  60. package/types/plugins/index.d.ts +34 -0
  61. package/types/viewer/Configs.d.ts +20 -0
  62. package/types/viewer/Plugin.d.ts +69 -0
  63. package/types/viewer/Viewer.d.ts +212 -0
  64. package/types/viewer/index.d.ts +6 -0
  65. package/types/viewer/localization/LocaleService.d.ts +183 -0
  66. package/types/viewer/metadata/IFCObjectDefaults.d.ts +9 -0
  67. package/types/viewer/metadata/MetaModel.d.ts +65 -0
  68. package/types/viewer/metadata/MetaObject.d.ts +74 -0
  69. package/types/viewer/metadata/MetaScene.d.ts +135 -0
  70. package/types/viewer/metadata/Property.d.ts +29 -0
  71. package/types/viewer/metadata/PropertySet.d.ts +31 -0
  72. package/types/viewer/metadata/index.d.ts +6 -0
  73. package/types/viewer/scene/CameraControl/CameraControl.d.ts +681 -0
  74. package/types/viewer/scene/Component.d.ts +155 -0
  75. package/types/viewer/scene/Entity.d.ts +394 -0
  76. package/types/viewer/scene/camera/Camera.d.ts +364 -0
  77. package/types/viewer/scene/camera/CameraFlightAnimation.d.ts +167 -0
  78. package/types/viewer/scene/camera/CameraPath.d.ts +28 -0
  79. package/types/viewer/scene/camera/CameraPathAnimation.d.ts +95 -0
  80. package/types/viewer/scene/camera/CustomProjection.d.ts +57 -0
  81. package/types/viewer/scene/camera/Frustum.d.ts +166 -0
  82. package/types/viewer/scene/camera/Ortho.d.ts +115 -0
  83. package/types/viewer/scene/camera/Perspective.d.ts +136 -0
  84. package/types/viewer/scene/camera/index.d.ts +4 -0
  85. package/types/viewer/scene/geometry/Geometry.d.ts +7 -0
  86. package/types/viewer/scene/geometry/ReadableGeometry.d.ts +95 -0
  87. package/types/viewer/scene/geometry/index.d.ts +1 -0
  88. package/types/viewer/scene/index.d.ts +17 -0
  89. package/types/viewer/scene/marker/Marker.d.ts +136 -0
  90. package/types/viewer/scene/marker/index.d.ts +1 -0
  91. package/types/viewer/scene/materials/EdgeMaterial.d.ts +83 -0
  92. package/types/viewer/scene/materials/EmphasisMaterial.d.ts +241 -0
  93. package/types/viewer/scene/materials/Fresnel.d.ts +148 -0
  94. package/types/viewer/scene/materials/LinesMaterial.d.ts +71 -0
  95. package/types/viewer/scene/materials/Material.d.ts +3 -0
  96. package/types/viewer/scene/materials/PhongMaterial.d.ts +468 -0
  97. package/types/viewer/scene/materials/PointsMaterial.d.ts +206 -0
  98. package/types/viewer/scene/materials/Texture.d.ts +260 -0
  99. package/types/viewer/scene/materials/index.d.ts +6 -0
  100. package/types/viewer/scene/math/math.d.ts +56 -0
  101. package/types/viewer/scene/mementos/CameraMemento.d.ts +28 -0
  102. package/types/viewer/scene/mementos/ModelMemento.d.ts +44 -0
  103. package/types/viewer/scene/mementos/ObjectsMemento.d.ts +39 -0
  104. package/types/viewer/scene/mementos/index.d.ts +3 -0
  105. package/types/viewer/scene/mesh/Mesh.d.ts +786 -0
  106. package/types/viewer/scene/mesh/index.d.ts +1 -0
  107. package/types/viewer/scene/models/PerformanceModel/PerformanceModel.d.ts +622 -0
  108. package/types/viewer/scene/models/PerformanceModel/PerformanceNode.d.ts +302 -0
  109. package/types/viewer/scene/models/PerformanceModel/index.d.ts +2 -0
  110. package/types/viewer/scene/models/index.d.ts +1 -0
  111. package/types/viewer/scene/nodes/Node.d.ts +664 -0
  112. package/types/viewer/scene/nodes/index.d.ts +1 -0
  113. package/types/viewer/scene/postfx/SAO.d.ts +209 -0
  114. package/types/viewer/scene/scene/Scene.d.ts +771 -0
  115. package/types/viewer/scene/sectionPlane/SectionPlane.d.ts +93 -0
  116. package/types/viewer/scene/sectionPlane/index.d.ts +1 -0
  117. package/types/viewer/scene/viewport/Viewport.d.ts +23 -0
  118. package/types/viewer/scene/viewport/index.d.ts +1 -0
  119. package/types/viewer/scene/webgl/PickResult.d.ts +103 -0
  120. package/types/viewer/scene/webgl/index.d.ts +1 -0
@@ -0,0 +1,364 @@
1
+ import { Component } from "../Component";
2
+ import { Perspective } from "./Perspective";
3
+ import { Ortho } from "./Ortho";
4
+ import { Frustum } from "./Frustum";
5
+ import { CustomProjection } from "./CustomProjection";
6
+
7
+ /**
8
+ * Manages viewing and projection transforms for its {@link Scene}.
9
+ */
10
+ export declare class Camera extends Component {
11
+ /**
12
+ * Sets an optional matrix to premultiply into {@link Camera.matrix} matrix.
13
+ *
14
+ * This is intended to be used for stereo rendering with WebVR etc.
15
+ *
16
+ * @param {Number[]} matrix The matrix.
17
+ */
18
+ set deviceMatrix(arg: number[]);
19
+
20
+ /**
21
+ * Gets an optional matrix to premultiply into {@link Camera.matrix} matrix.
22
+ *
23
+ * @returns {Number[]} The matrix.
24
+ */
25
+ get deviceMatrix(): number[];
26
+
27
+ /**
28
+ * Sets the position of the Camera's eye.
29
+ *
30
+ * Default value is ````[0,0,10]````.
31
+ *
32
+ * @emits "eye" event on change, with the value of this property.
33
+ * @type {Number[]} New eye position.
34
+ */
35
+ set eye(arg: number[]);
36
+
37
+ /**
38
+ * Gets the position of the Camera's eye.
39
+ *
40
+ * Default vale is ````[0,0,10]````.
41
+ *
42
+ * @type {Number[]} New eye position.
43
+ */
44
+ get eye(): number[];
45
+
46
+ /**
47
+ * Sets the position of this Camera's point-of-interest.
48
+ *
49
+ * Default value is ````[0,0,0]````.
50
+ *
51
+ * @emits "look" event on change, with the value of this property.
52
+ *
53
+ * @param {Number[]} look Camera look position.
54
+ */
55
+ set look(arg: number[]);
56
+
57
+ /**
58
+ * Gets the position of this Camera's point-of-interest.
59
+ *
60
+ * Default value is ````[0,0,0]````.
61
+ *
62
+ * @returns {Number[]} Camera look position.
63
+ */
64
+ get look(): number[];
65
+
66
+ /**
67
+ * Sets the direction of this Camera's {@link Camera.up} vector.
68
+ *
69
+ * @emits "up" event on change, with the value of this property.
70
+ *
71
+ * @param {Number[]} up Direction of "up".
72
+ */
73
+ set up(arg: number[]);
74
+
75
+ /**
76
+ * Gets the direction of this Camera's {@link Camera.up} vector.
77
+ *
78
+ * @returns {Number[]} Direction of "up".
79
+ */
80
+ get up(): number[];
81
+
82
+ /**
83
+ * Sets the up, right and forward axis of the World coordinate system.
84
+ *
85
+ * Has format: ````[rightX, rightY, rightZ, upX, upY, upZ, forwardX, forwardY, forwardZ]````
86
+ *
87
+ * Default axis is ````[1, 0, 0, 0, 1, 0, 0, 0, 1]````
88
+ *
89
+ * @param {Number[]} axis The new Wworld coordinate axis.
90
+ */
91
+ set worldAxis(arg: number[]);
92
+
93
+ /**
94
+ * Gets the up, right and forward axis of the World coordinate system.
95
+ *
96
+ * Has format: ````[rightX, rightY, rightZ, upX, upY, upZ, forwardX, forwardY, forwardZ]````
97
+ *
98
+ * Default axis is ````[1, 0, 0, 0, 1, 0, 0, 0, 1]````
99
+ *
100
+ * @returns {Number[]} The current World coordinate axis.
101
+ */
102
+ get worldAxis(): number[];
103
+
104
+ /**
105
+ * Sets whether to lock yaw rotation to pivot about the World-space "up" axis.
106
+ *
107
+ * Fires a {@link Camera.gimbalLock:event} event on change.
108
+ *
109
+ * @params {Boolean} gimbalLock Set true to lock gimbal.
110
+ */
111
+ set gimbalLock(arg: boolean);
112
+
113
+ /**
114
+ * Gets whether to lock yaw rotation to pivot about the World-space "up" axis.
115
+ *
116
+ * @returns {Boolean} Returns ````true```` if gimbal is locked.
117
+ */
118
+ get gimbalLock(): boolean;
119
+
120
+ /**
121
+ * Sets the active projection type.
122
+ *
123
+ * Accepted values are ````"perspective"````, ````"ortho"````, ````"frustum"```` and ````"customProjection"````.
124
+ *
125
+ * Default value is ````"perspective"````.
126
+ *
127
+ * @param {String} value Identifies the active projection type.
128
+ */
129
+ set projection(arg: "perspective" | "ortho" | "frustum" | "customProjection");
130
+
131
+ /**
132
+ * Gets the active projection type.
133
+ *
134
+ * Possible values are ````"perspective"````, ````"ortho"````, ````"frustum"```` and ````"customProjection"````.
135
+ *
136
+ * Default value is ````"perspective"````.
137
+ *
138
+ * @returns {String} Identifies the active projection type.
139
+ */
140
+ get projection(): "perspective" | "ortho" | "frustum" | "customProjection";
141
+
142
+ /**
143
+ * Rotates {@link Camera.eye} about {@link Camera.look}, around the {@link Camera.up} vector
144
+ *
145
+ * @param {Number} angleInc Angle of rotation in degrees
146
+ */
147
+ orbitYaw(angleInc: number): void;
148
+
149
+ /**
150
+ * Rotates {@link Camera.eye} about {@link Camera.look} around the right axis (orthogonal to {@link Camera.up} and "look").
151
+ *
152
+ * @param {Number} angleInc Angle of rotation in degrees
153
+ */
154
+ orbitPitch(angleInc: number): void;
155
+
156
+ /**
157
+ * Rotates {@link Camera.look} about {@link Camera.eye}, around the {@link Camera.up} vector.
158
+ *
159
+ * @param {Number} angleInc Angle of rotation in degrees
160
+ */
161
+ yaw(angleInc: number): void;
162
+
163
+ /**
164
+ * Rotates {@link Camera.look} about {@link Camera.eye}, around the right axis (orthogonal to {@link Camera.up} and "look").
165
+ *
166
+ * @param {Number} angleInc Angle of rotation in degrees
167
+ */
168
+ pitch(angleInc: number): void;
169
+
170
+ /**
171
+ * Pans the Camera along its local X, Y and Z axis.
172
+ *
173
+ * @param {Number[]}pan The pan vector
174
+ */
175
+ pan(pan: number[]): void;
176
+
177
+ /**
178
+ * Increments/decrements the Camera's zoom factor, which is the distance between {@link Camera.eye} and {@link Camera.look}.
179
+ *
180
+ * @param {Number} delta Zoom factor increment.
181
+ */
182
+ zoom(delta: number): void;
183
+
184
+ /**
185
+ * Gets the direction of World-space "up".
186
+ *
187
+ * This is set by {@link Camera.worldAxis}.
188
+ *
189
+ * Default value is ````[0,1,0]````.
190
+ *
191
+ * @returns {Number[]} The "up" vector.
192
+ */
193
+ get worldUp(): number[];
194
+
195
+ /**
196
+ * Gets if the World-space X-axis is "up".
197
+ * @returns {boolean}
198
+ */
199
+ get xUp(): boolean;
200
+
201
+ /**
202
+ * Gets if the World-space Y-axis is "up".
203
+ * @returns {boolean}
204
+ */
205
+ get yUp(): boolean;
206
+
207
+ /**
208
+ * Gets if the World-space Z-axis is "up".
209
+ * @returns {boolean}
210
+ */
211
+ get zUp(): boolean;
212
+
213
+ /**
214
+ * Gets the direction of World-space "right".
215
+ *
216
+ * This is set by {@link Camera.worldAxis}.
217
+ *
218
+ * Default value is ````[1,0,0]````.
219
+ *
220
+ * @returns {Number[]} The "up" vector.
221
+ */
222
+ get worldRight(): number[];
223
+
224
+ /**
225
+ * Gets the direction of World-space "forwards".
226
+ *
227
+ * This is set by {@link Camera.worldAxis}.
228
+ *
229
+ * Default value is ````[0,0,1]````.
230
+ *
231
+ * @returns {Number[]} The "up" vector.
232
+ */
233
+ get worldForward(): number[];
234
+
235
+ /**
236
+ * Gets whether to prevent camera from being pitched upside down.
237
+ *
238
+ * The camera is upside down when the angle between {@link Camera.up} and {@link Camera.worldUp} is less than one degree.
239
+ *
240
+ * Default value is ````false````.
241
+ *
242
+ * @returns {Boolean} ````true```` if pitch rotation is currently constrained.
243
+ */
244
+ get constrainPitch(): boolean;
245
+
246
+ /**
247
+ * Sets whether to prevent camera from being pitched upside down.
248
+ *
249
+ * The camera is upside down when the angle between {@link Camera.up} and {@link Camera.worldUp} is less than one degree.
250
+ *
251
+ * Fires a {@link Camera.constrainPitch:event} event on change.
252
+ *
253
+ * Default value is ````false````.
254
+ *
255
+ * @param {Boolean} value Set ````true```` to contrain pitch rotation.
256
+ */
257
+ set constrainPitch(arg: boolean);
258
+
259
+ /**
260
+ * Gets distance from {@link Camera.look} to {@link Camera.eye}.
261
+ *
262
+ * @returns {Number} The distance.
263
+ */
264
+ get eyeLookDist(): boolean;
265
+
266
+ /**
267
+ * Gets the Camera's viewing transformation matrix.
268
+ *
269
+ * Fires a {@link Camera.matrix:event} event on change.
270
+ *
271
+ * @returns {Number[]} The viewing transform matrix.
272
+ */
273
+ get matrix(): number[];
274
+
275
+ /**
276
+ * Gets the Camera's viewing transformation matrix.
277
+ *
278
+ * Fires a {@link Camera.matrix:event} event on change.
279
+ *
280
+ * @returns {Number[]} The viewing transform matrix.
281
+ */
282
+ get viewMatrix(): number[];
283
+
284
+ /**
285
+ * The Camera's viewing normal transformation matrix.
286
+ *
287
+ * Fires a {@link Camera.matrix:event} event on change.
288
+ *
289
+ * @returns {Number[]} The viewing normal transform matrix.
290
+ */
291
+ get normalMatrix(): number[];
292
+
293
+ /**
294
+ * The Camera's viewing normal transformation matrix.
295
+ *
296
+ * Fires a {@link Camera.matrix:event} event on change.
297
+ *
298
+ * @returns {Number[]} The viewing normal transform matrix.
299
+ */
300
+ get viewNormalMatrix(): number[];
301
+
302
+ /**
303
+ * Gets the inverse of the Camera's viewing transform matrix.
304
+ *
305
+ * This has the same value as {@link Camera.normalMatrix}.
306
+ *
307
+ * @returns {Number[]} The inverse viewing transform matrix.
308
+ */
309
+ get inverseViewMatrix(): number[];
310
+
311
+ /**
312
+ * Gets the Camera's projection transformation projMatrix.
313
+ *
314
+ * Fires a {@link Camera.projMatrix:event} event on change.
315
+ *
316
+ * @returns {Number[]} The projection matrix.
317
+ */
318
+ get projMatrix(): number[];
319
+
320
+ /**
321
+ * Gets the Camera's perspective projection.
322
+ *
323
+ * The Camera uses this while {@link Camera.projection} equals ````perspective````.
324
+ *
325
+ * @returns {Perspective} The Perspective component.
326
+ */
327
+ get perspective(): Perspective;
328
+
329
+ /**
330
+ * Gets the Camera's orthographic projection.
331
+ *
332
+ * The Camera uses this while {@link Camera.projection} equals ````ortho````.
333
+ *
334
+ * @returns {Ortho} The Ortho component.
335
+ */
336
+ get ortho(): Ortho;
337
+
338
+ /**
339
+ * Gets the Camera's frustum projection.
340
+ *
341
+ * The Camera uses this while {@link Camera.projection} equals ````frustum````.
342
+ *
343
+ * @returns {Frustum} The Ortho component.
344
+ */
345
+ get frustum(): Frustum;
346
+
347
+ /**
348
+ * Gets the Camera's custom projection.
349
+ *
350
+ * This is used while {@link Camera.projection} equals "customProjection".
351
+ *
352
+ * @returns {CustomProjection} The custom projection.
353
+ */
354
+ get customProjection(): CustomProjection;
355
+
356
+ /**
357
+ * Gets the currently active projection for this Camera.
358
+ *
359
+ * The currently active project is selected with {@link Camera.projection}.
360
+ *
361
+ * @returns {Perspective|Ortho|Frustum|CustomProjection} The currently active projection is active.
362
+ */
363
+ get project(): Perspective | Ortho | Frustum | CustomProjection;
364
+ }
@@ -0,0 +1,167 @@
1
+ import { Component } from "../Component";
2
+
3
+ /**
4
+ * Jumps or flies the {@link Scene}'s {@link Camera} to a given target.
5
+ */
6
+ export declare class CameraFlightAnimation extends Component {
7
+ /**
8
+ * Sets the flight duration, in seconds, when calling {@link CameraFlightAnimation.flyTo}.
9
+ *
10
+ * Stops any flight currently in progress.
11
+ *
12
+ * default value is ````0.5````.
13
+ *
14
+ * @param {Number} value New duration value.
15
+ */
16
+ set duration(arg: number);
17
+
18
+ /**
19
+ * Gets the flight duration, in seconds, when calling {@link CameraFlightAnimation.flyTo}.
20
+ *
21
+ * default value is ````0.5````.
22
+ *
23
+ * @returns {Number} New duration value.
24
+ */
25
+ get duration(): number;
26
+
27
+ /**
28
+ * Sets if, when CameraFlightAnimation is flying to a boundary, it will always adjust the distance between the
29
+ * {@link Camera.eye} and {@link Camera.look} so as to ensure that the target boundary is always filling the view volume.
30
+ *
31
+ * When false, the eye will remain at its current distance from the look position.
32
+ *
33
+ * Default value is ````true````.
34
+ *
35
+ * @param {Boolean} value Set ````true```` to activate this behaviour.
36
+ */
37
+ set fit(arg: boolean);
38
+
39
+ /**
40
+ * Gets if, when CameraFlightAnimation is flying to a boundary, it will always adjust the distance between the
41
+ * {@link Camera.eye} and {@link Camera.look} so as to ensure that the target boundary is always filling the view volume.
42
+ *
43
+ * When false, the eye will remain at its current distance from the look position.
44
+ *
45
+ * Default value is ````true````.
46
+ *
47
+ * @returns {Boolean} value Set ````true```` to activate this behaviour.
48
+ */
49
+ get fit(): boolean;
50
+
51
+ /**
52
+ * Sets how much of the perspective field-of-view, in degrees, that a target {@link Entity.aabb} should
53
+ * fill the canvas when calling {@link CameraFlightAnimation.flyTo} or {@link CameraFlightAnimation.jumpTo}.
54
+ *
55
+ * Default value is ````45````.
56
+ *
57
+ * @param {Number} value New FOV value.
58
+ */
59
+ set fitFOV(arg: number);
60
+
61
+ /**
62
+ * Gets how much of the perspective field-of-view, in degrees, that a target {@link Entity.aabb} should
63
+ * fill the canvas when calling {@link CameraFlightAnimation.flyTo} or {@link CameraFlightAnimation.jumpTo}.
64
+ *
65
+ * Default value is ````45````.
66
+ *
67
+ * @returns {Number} Current FOV value.
68
+ */
69
+ get fitFOV(): number;
70
+
71
+ /**
72
+ * Sets if this CameraFlightAnimation to point the {@link Camera}
73
+ * in the direction that it is travelling when flying to a target after calling {@link CameraFlightAnimation.flyTo}.
74
+ *
75
+ * Default value is ````true````.
76
+ *
77
+ * @param {Boolean} value Set ````true```` to activate trailing behaviour.
78
+ */
79
+ set trail(arg: boolean);
80
+
81
+ /**
82
+ * Gets if this CameraFlightAnimation points the {@link Camera}
83
+ * in the direction that it is travelling when flying to a target after calling {@link CameraFlightAnimation.flyTo}.
84
+ *
85
+ * Default value is ````true````.
86
+ *
87
+ * @returns {Boolean} True if trailing behaviour is active.
88
+ */
89
+ get trail(): boolean;
90
+
91
+ /**
92
+ * Flies the {@link Camera} to a target.
93
+ *
94
+ * * When the target is a boundary, the {@link Camera} will fly towards the target and stop when the target fills most of the canvas.
95
+ * * When the target is an explicit {@link Camera} position, given as ````eye````, ````look```` and ````up````, then CameraFlightAnimation will interpolate the {@link Camera} to that target and stop there.
96
+ *
97
+ * @param {Object|Component} [params=Scene] Either a parameters object or a {@link Component} subtype that has
98
+ * an AABB. Defaults to the {@link Scene}, which causes the {@link Camera} to fit the Scene in view.
99
+ * @param {Number} [params.arc=0] Factor in range ````[0..1]```` indicating how much the {@link Camera.eye} position
100
+ * will swing away from its {@link Camera.look} position as it flies to the target.
101
+ * @param {Number|String|Component} [params.component] ID or instance of a component to fly to. Defaults to the entire {@link Scene}.
102
+ * @param {Number[]} [params.aabb] World-space axis-aligned bounding box (AABB) target to fly to.
103
+ * @param {Number[]} [params.eye] Position to fly the eye position to.
104
+ * @param {Number[]} [params.look] Position to fly the look position to.
105
+ * @param {Number[]} [params.up] Position to fly the up vector to.
106
+ * @param {String} [params.projection] Projection type to transition into as we fly. Can be any of the values of {@link Camera.projection}.
107
+ * @param {Boolean} [params.fit=true] Whether to fit the target to the view volume. Overrides {@link CameraFlightAnimation.fit}.
108
+ * @param {Number} [params.fitFOV] How much of field-of-view, in degrees, that a target {@link Entity} or its AABB should
109
+ * fill the canvas on arrival. Overrides {@link CameraFlightAnimation.fitFOV}.
110
+ * @param {Number} [params.duration] Flight duration in seconds. Overrides {@link CameraFlightAnimation.duration}.
111
+ * @param {Number} [params.orthoScale] Animate the Camera's orthographic scale to this target value. See {@link Ortho.scale}.
112
+ * @param {Function} [callback] Callback fired on arrival.
113
+ * @param {Object} [scope] Optional scope for callback.
114
+ */
115
+ flyTo(params?: {
116
+ arc?: number
117
+ component?: number | string | Component
118
+ aabb?: number[];
119
+ eye?: number[];
120
+ look?: number[];
121
+ up?: number[];
122
+ projection?: string;
123
+ fit?: boolean
124
+ fitFOV?: number;
125
+ duration?: number;
126
+ orthoScale?: number;
127
+ } | Component, callback?: ()=> void, scope?: any): void;
128
+
129
+ /**
130
+ * Jumps the {@link Scene}'s {@link Camera} to the given target.
131
+ *
132
+ * * When the target is a boundary, this CameraFlightAnimation will position the {@link Camera} at where the target fills most of the canvas.
133
+ * * When the target is an explicit {@link Camera} position, given as ````eye````, ````look```` and ````up```` vectors, then this CameraFlightAnimation will jump the {@link Camera} to that target.
134
+ *
135
+ * @param {*|Component} params Either a parameters object or a {@link Component} subtype that has a World-space AABB.
136
+ * @param {Number} [params.arc=0] Factor in range [0..1] indicating how much the {@link Camera.eye} will swing away from its {@link Camera.look} as it flies to the target.
137
+ * @param {Number|String|Component} [params.component] ID or instance of a component to fly to.
138
+ * @param {Number[]} [params.aabb] World-space axis-aligned bounding box (AABB) target to fly to.
139
+ * @param {Number[]} [params.eye] Position to fly the eye position to.
140
+ * @param {Number[]} [params.look] Position to fly the look position to.
141
+ * @param {Number[]} [params.up] Position to fly the up vector to.
142
+ * @param {String} [params.projection] Projection type to transition into. Can be any of the values of {@link Camera.projection}.
143
+ * @param {Number} [params.fitFOV] How much of field-of-view, in degrees, that a target {@link Entity} or its AABB should fill the canvas on arrival. Overrides {@link CameraFlightAnimation.fitFOV}.
144
+ * @param {Boolean} [params.fit] Whether to fit the target to the view volume. Overrides {@link CameraFlightAnimation.fit}.
145
+ */
146
+ jumpTo(params: {
147
+ arc?: number;
148
+ component?: number | string | Component;
149
+ aabb?: number[];
150
+ eye?: number[];
151
+ look?: number[];
152
+ up?: number[];
153
+ projection?: "perspective" | "ortho" | "frustum" | "customProjection",
154
+ fitFOV?: number;
155
+ fit?: boolean;
156
+ } | Component): void;
157
+
158
+ /**
159
+ * Stops an earlier flyTo, fires arrival callback.
160
+ */
161
+ stop(): void;
162
+
163
+ /**
164
+ * Cancels an earlier flyTo without calling the arrival callback.
165
+ */
166
+ cancel(): void;
167
+ }
@@ -0,0 +1,28 @@
1
+ import { Component } from "../Component";
2
+
3
+ export declare type Frame = {
4
+ t: number;
5
+ eye: number[];
6
+ look: number[];
7
+ up: number[];
8
+ };
9
+
10
+ export declare type CameraPathConfiguration = {
11
+ /** Optional ID, unique among all components in the parent {@link Scene}, generated automatically when omitted. */
12
+ id?: string;
13
+ /** Initial sequence of frames. */
14
+ frames: Frame[];
15
+ };
16
+
17
+ /**
18
+ * Defines a sequence of frames along which a {@link CameraPathAnimation} can animate a {@link Camera}.
19
+ *
20
+ */
21
+ export declare class CameraPath extends Component {
22
+ /**
23
+ * @constructor
24
+ * @param {Component} [owner] Owner component. When destroyed, the owner will destroy this CameraPath as well.
25
+ * @param {CameraPathConfiguration} [cfg] Configuration
26
+ */
27
+ constructor(owner?: Component, cfg?: CameraPathConfiguration);
28
+ }
@@ -0,0 +1,95 @@
1
+ import { Component } from "../Component";
2
+ import { CameraPath } from "./CameraPath";
3
+
4
+ export declare type CameraPathAnimationConfiguration = {
5
+ playingRate: number;
6
+ /** A {@link CameraPath} that defines the path of a {@link Camera} */
7
+ cameraPath: CameraPath;
8
+ };
9
+
10
+ /**
11
+ * Animates the {@link Scene}'s's {@link Camera} along a {@link CameraPath}.
12
+ */
13
+ export declare class CameraPathAnimation extends Component {
14
+ /**
15
+ * @constructor
16
+ * @param {Component} [owner] Owner component. When destroyed, the owner will destroy this CameraPathAnimation as well.
17
+ * @param {CameraPathAnimationConfiguration} [cfg] Configuration
18
+ */
19
+ constructor(owner?: Component, cfg?: CameraPathAnimationConfiguration);
20
+
21
+ /**
22
+ * Sets the {@link CameraPath} animated by this CameraPathAnimation.
23
+ *
24
+ @param {CameraPath} value The new CameraPath.
25
+ */
26
+ set cameraPath(arg: CameraPath);
27
+
28
+ /**
29
+ * Gets the {@link CameraPath} animated by this CameraPathAnimation.
30
+ *
31
+ @returns {CameraPath} The CameraPath.
32
+ */
33
+ get cameraPath(): CameraPath;
34
+
35
+ /**
36
+ * Sets the rate at which the CameraPathAnimation animates the {@link Camera} along the {@link CameraPath}.
37
+ *
38
+ * @param {Number} value The amount of progress per second.
39
+ */
40
+ set rate(arg: number);
41
+
42
+ /**
43
+ * Gets the rate at which the CameraPathAnimation animates the {@link Camera} along the {@link CameraPath}.
44
+ *
45
+ * @returns {*|number} The current playing rate.
46
+ */
47
+ get rate(): number;
48
+
49
+ /**
50
+ * Begins animating the {@link Camera} along CameraPathAnimation's {@link CameraPath} from the beginning.
51
+ */
52
+ play(): void;
53
+
54
+ /**
55
+ * Begins animating the {@link Camera} along CameraPathAnimation's {@link CameraPath} from the given time.
56
+ *
57
+ * @param {Number} t Time instant.
58
+ */
59
+ playToT(t: number): void;
60
+
61
+ /**
62
+ * Animates the {@link Camera} along CameraPathAnimation's {@link CameraPath} to the given frame.
63
+ *
64
+ * @param {Number} frameIdx Index of the frame to play to.
65
+ */
66
+ playToFrame(frameIdx: number): void;
67
+
68
+ /**
69
+ * Flies the {@link Camera} directly to the given frame on the CameraPathAnimation's {@link CameraPath}.
70
+ *
71
+ * @param {Number} frameIdx Index of the frame to play to.
72
+ * @param {Function} [ok] Callback to fire when playing is complete.
73
+ */
74
+ flyToFrame(frameIdx: number, ok?: ()=> void): void;
75
+
76
+ /**
77
+ * Scrubs the {@link Camera} to the given time on the CameraPathAnimation's {@link CameraPath}.
78
+ *
79
+ * @param {Number} t Time instant.
80
+ */
81
+ scrubToT(t: number): void;
82
+
83
+ /**
84
+ * Scrubs the {@link Camera} to the given frame on the CameraPathAnimation's {@link CameraPath}.
85
+ *
86
+ * @param {Number} frameIdx Index of the frame to scrub to.
87
+ */
88
+ scrubToFrame(frameIdx: number): void;
89
+
90
+ /**
91
+ * Stops playing this CameraPathAnimation.
92
+ */
93
+ stop(): void;
94
+ }
95
+