babylonjs-loaders 7.20.0 → 7.21.0

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.
@@ -138,8 +138,12 @@ declare module BABYLON {
138
138
  */
139
139
  enabled?: boolean;
140
140
  } & BaseExtensionOptions;
141
- class GLTFLoaderOptions {
142
- constructor(options?: Partial<Readonly<GLTFLoaderOptions>>);
141
+ abstract class GLTFLoaderOptions {
142
+ protected copyFrom(options?: Partial<Readonly<GLTFLoaderOptions>>): void;
143
+ /**
144
+ * Raised when the asset has been parsed
145
+ */
146
+ abstract onParsed: (loaderData: IGLTFLoaderData) => void;
143
147
  /**
144
148
  * The coordinate system mode. Defaults to AUTO.
145
149
  */
@@ -229,6 +233,28 @@ declare module BABYLON {
229
233
  * You can also pass null if you don't want a root node to be created.
230
234
  */
231
235
  customRootNode?: Nullable<TransformNode>;
236
+ /**
237
+ * Callback raised when the loader creates a mesh after parsing the glTF properties of the mesh.
238
+ * Note that the callback is called as soon as the mesh object is created, meaning some data may not have been setup yet for this mesh (vertex data, morph targets, material, ...)
239
+ */
240
+ abstract onMeshLoaded: (mesh: AbstractMesh) => void;
241
+ /**
242
+ * Callback raised when the loader creates a skin after parsing the glTF properties of the skin node.
243
+ * @see https://doc.babylonjs.com/features/featuresDeepDive/importers/glTF/glTFSkinning#ignoring-the-transform-of-the-skinned-mesh
244
+ */
245
+ abstract onSkinLoaded: (node: TransformNode, skinnedNode: TransformNode) => void;
246
+ /**
247
+ * Callback raised when the loader creates a texture after parsing the glTF properties of the texture.
248
+ */
249
+ abstract onTextureLoaded: (texture: BaseTexture) => void;
250
+ /**
251
+ * Callback raised when the loader creates a material after parsing the glTF properties of the material.
252
+ */
253
+ abstract onMaterialLoaded: (material: Material) => void;
254
+ /**
255
+ * Callback raised when the loader creates a camera after parsing the glTF properties of the camera.
256
+ */
257
+ abstract onCameraLoaded: (camera: Camera) => void;
232
258
  /**
233
259
  * Defines options for glTF extensions.
234
260
  */
@@ -246,6 +272,11 @@ declare module BABYLON {
246
272
  static _CreateGLTF1Loader: (parent: GLTFFileLoader) => IGLTFLoader;
247
273
  /** @internal */
248
274
  static _CreateGLTF2Loader: (parent: GLTFFileLoader) => IGLTFLoader;
275
+ /**
276
+ * Creates a new glTF file loader.
277
+ * @param options The options for the loader
278
+ */
279
+ constructor(options?: Partial<Readonly<GLTFLoaderOptions>>);
249
280
  /**
250
281
  * Raised when the asset has been parsed
251
282
  */
@@ -280,7 +311,7 @@ declare module BABYLON {
280
311
  */
281
312
  set onMeshLoaded(callback: (mesh: AbstractMesh) => void);
282
313
  /**
283
- * Callback raised when the loader creates a skin after parsing the glTF properties of the skin node.
314
+ * Observable raised when the loader creates a skin after parsing the glTF properties of the skin node.
284
315
  * @see https://doc.babylonjs.com/features/featuresDeepDive/importers/glTF/glTFSkinning#ignoring-the-transform-of-the-skinned-mesh
285
316
  * @param node - the transform node that corresponds to the original glTF skin node used for animations
286
317
  * @param skinnedNode - the transform node that is the skinned mesh itself or the parent of the skinned meshes
@@ -289,6 +320,12 @@ declare module BABYLON {
289
320
  node: TransformNode;
290
321
  skinnedNode: TransformNode;
291
322
  }>;
323
+ private _onSkinLoadedObserver;
324
+ /**
325
+ * Callback raised when the loader creates a skin after parsing the glTF properties of the skin node.
326
+ * @see https://doc.babylonjs.com/features/featuresDeepDive/importers/glTF/glTFSkinning#ignoring-the-transform-of-the-skinned-mesh
327
+ */
328
+ set onSkinLoaded(callback: (node: TransformNode, skinnedNode: TransformNode) => void);
292
329
  /**
293
330
  * Observable raised when the loader creates a texture after parsing the glTF properties of the texture.
294
331
  */
@@ -500,6 +537,7 @@ declare module BABYLON.GLTF2 {
500
537
  }
501
538
  declare module BABYLON {
502
539
 
540
+
503
541
  }
504
542
  declare module BABYLON.GLTF2.Loader {
505
543
  /**
@@ -749,6 +787,7 @@ declare module BABYLON.GLTF2.Loader {
749
787
  }
750
788
  declare module BABYLON {
751
789
 
790
+
752
791
  }
753
792
  declare module BABYLON.GLTF2 {
754
793
  /**
@@ -907,6 +946,7 @@ declare module BABYLON.GLTF2 {
907
946
  }
908
947
  declare module BABYLON {
909
948
 
949
+
910
950
  }
911
951
  declare module BABYLON.GLTF2 {
912
952
  /** @internal */
@@ -951,6 +991,7 @@ declare module BABYLON.GLTF2 {
951
991
  }
952
992
  declare module BABYLON {
953
993
 
994
+
954
995
  }
955
996
  declare module BABYLON.GLTF2 {
956
997
  interface IWithMetadata {
@@ -1358,6 +1399,7 @@ declare module BABYLON.GLTF2 {
1358
1399
  }
1359
1400
  declare module BABYLON {
1360
1401
 
1402
+
1361
1403
  }
1362
1404
  declare module BABYLON.GLTF2.Loader.Extensions {
1363
1405
  export var gltfToFlowGraphTypeMap: {
@@ -1370,6 +1412,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
1370
1412
  }
1371
1413
  declare module BABYLON {
1372
1414
 
1415
+
1373
1416
  }
1374
1417
  declare module BABYLON.GLTF2.Loader.Extensions {
1375
1418
  /**
@@ -1384,6 +1427,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
1384
1427
  }
1385
1428
  declare module BABYLON {
1386
1429
 
1430
+
1387
1431
  }
1388
1432
  declare module BABYLON.GLTF2.Loader.Extensions {
1389
1433
  /**
@@ -1399,6 +1443,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
1399
1443
  }
1400
1444
  declare module BABYLON {
1401
1445
 
1446
+
1402
1447
  }
1403
1448
  declare module BABYLON.GLTF2.Loader.Extensions {
1404
1449
 
@@ -1407,6 +1452,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
1407
1452
  }
1408
1453
  declare module BABYLON {
1409
1454
 
1455
+
1410
1456
  }
1411
1457
  declare module BABYLON.GLTF2.Loader.Extensions {
1412
1458
  /**
@@ -1447,6 +1493,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
1447
1493
  }
1448
1494
  declare module BABYLON {
1449
1495
 
1496
+
1450
1497
  }
1451
1498
  declare module BABYLON.GLTF2.Loader.Extensions {
1452
1499
  /** @internal */
@@ -1469,6 +1516,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
1469
1516
  }
1470
1517
  declare module BABYLON {
1471
1518
 
1519
+
1472
1520
  }
1473
1521
  declare module BABYLON.GLTF2.Loader.Extensions {
1474
1522
  /** @internal */
@@ -1491,21 +1539,10 @@ declare module BABYLON.GLTF2.Loader.Extensions {
1491
1539
  }
1492
1540
  declare module BABYLON {
1493
1541
 
1542
+
1494
1543
  }
1495
1544
  declare module BABYLON.GLTF2.Loader.Extensions {
1496
- const NAME = "MSFT_lod";
1497
- interface GLTFLoaderExtensionOptions {
1498
- /**
1499
- * Defines options for the MSFT_lod extension.
1500
- */
1501
- [NAME]?: Partial<{
1502
- /**
1503
- * Maximum number of LODs to load, starting from the lowest LOD.
1504
- */
1505
- maxLODsToLoad: number;
1506
- }>;
1507
- }
1508
- /**
1545
+ /**
1509
1546
  * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Vendor/MSFT_lod/README.md)
1510
1547
  */
1511
1548
  export class MSFT_lod implements BABYLON.GLTF2.IGLTFLoaderExtension {
@@ -1592,6 +1629,17 @@ declare module BABYLON.GLTF2.Loader.Extensions {
1592
1629
 
1593
1630
  }
1594
1631
  declare module BABYLON {
1632
+ interface GLTFLoaderExtensionOptions {
1633
+ /**
1634
+ * Defines options for the MSFT_lod extension.
1635
+ */
1636
+ ["MSFT_lod"]?: Partial<{
1637
+ /**
1638
+ * Maximum number of LODs to load, starting from the lowest LOD.
1639
+ */
1640
+ maxLODsToLoad: number;
1641
+ }>;
1642
+ }
1595
1643
 
1596
1644
  }
1597
1645
  declare module BABYLON.GLTF2.Loader.Extensions {
@@ -1642,6 +1690,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
1642
1690
  }
1643
1691
  declare module BABYLON {
1644
1692
 
1693
+
1645
1694
  }
1646
1695
  declare module BABYLON.GLTF2.Loader.Extensions {
1647
1696
  /**
@@ -1679,6 +1728,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
1679
1728
  }
1680
1729
  declare module BABYLON {
1681
1730
 
1731
+
1682
1732
  }
1683
1733
  declare module BABYLON.GLTF2.Loader.Extensions {
1684
1734
  /**
@@ -1711,6 +1761,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
1711
1761
  }
1712
1762
  declare module BABYLON {
1713
1763
 
1764
+
1714
1765
  }
1715
1766
  declare module BABYLON.GLTF2.Loader.Extensions {
1716
1767
  /**
@@ -1739,6 +1790,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
1739
1790
  }
1740
1791
  declare module BABYLON {
1741
1792
 
1793
+
1742
1794
  }
1743
1795
  declare module BABYLON.GLTF2.Loader.Extensions {
1744
1796
  /**
@@ -1766,6 +1818,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
1766
1818
  }
1767
1819
  declare module BABYLON {
1768
1820
 
1821
+
1769
1822
  }
1770
1823
  declare module BABYLON.GLTF2.Loader.Extensions {
1771
1824
  /**
@@ -1804,6 +1857,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
1804
1857
  }
1805
1858
  declare module BABYLON {
1806
1859
 
1860
+
1807
1861
  }
1808
1862
  declare module BABYLON.GLTF2.Loader.Extensions {
1809
1863
  /**
@@ -1886,6 +1940,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
1886
1940
  }
1887
1941
  declare module BABYLON {
1888
1942
 
1943
+
1889
1944
  }
1890
1945
  declare module BABYLON.GLTF2.Loader.Extensions {
1891
1946
  /**
@@ -1923,6 +1978,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
1923
1978
  }
1924
1979
  declare module BABYLON {
1925
1980
 
1981
+
1926
1982
  }
1927
1983
  declare module BABYLON.GLTF2.Loader.Extensions {
1928
1984
  /**
@@ -1960,6 +2016,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
1960
2016
  }
1961
2017
  declare module BABYLON {
1962
2018
 
2019
+
1963
2020
  }
1964
2021
  declare module BABYLON.GLTF2.Loader.Extensions {
1965
2022
  /**
@@ -1997,6 +2054,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
1997
2054
  }
1998
2055
  declare module BABYLON {
1999
2056
 
2057
+
2000
2058
  }
2001
2059
  declare module BABYLON.GLTF2.Loader.Extensions {
2002
2060
  /**
@@ -2035,6 +2093,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
2035
2093
  }
2036
2094
  declare module BABYLON {
2037
2095
 
2096
+
2038
2097
  }
2039
2098
  declare module BABYLON.GLTF2.Loader.Extensions {
2040
2099
  /**
@@ -2072,6 +2131,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
2072
2131
  }
2073
2132
  declare module BABYLON {
2074
2133
 
2134
+
2075
2135
  }
2076
2136
  declare module BABYLON.GLTF2.Loader.Extensions {
2077
2137
  /**
@@ -2109,6 +2169,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
2109
2169
  }
2110
2170
  declare module BABYLON {
2111
2171
 
2172
+
2112
2173
  }
2113
2174
  declare module BABYLON.GLTF2.Loader.Extensions {
2114
2175
  /**
@@ -2150,6 +2211,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
2150
2211
  }
2151
2212
  declare module BABYLON {
2152
2213
 
2214
+
2153
2215
  }
2154
2216
  declare module BABYLON.GLTF2.Loader.Extensions {
2155
2217
  /**
@@ -2187,6 +2249,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
2187
2249
  }
2188
2250
  declare module BABYLON {
2189
2251
 
2252
+
2190
2253
  }
2191
2254
  declare module BABYLON.GLTF2.Loader.Extensions {
2192
2255
  /**
@@ -2225,6 +2288,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
2225
2288
  }
2226
2289
  declare module BABYLON {
2227
2290
 
2291
+
2228
2292
  }
2229
2293
  declare module BABYLON.GLTF2.Loader.Extensions {
2230
2294
  /**
@@ -2263,6 +2327,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
2263
2327
  }
2264
2328
  declare module BABYLON {
2265
2329
 
2330
+
2266
2331
  }
2267
2332
  declare module BABYLON.GLTF2.Loader.Extensions {
2268
2333
  /**
@@ -2301,6 +2366,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
2301
2366
  }
2302
2367
  declare module BABYLON {
2303
2368
 
2369
+
2304
2370
  }
2305
2371
  declare module BABYLON.GLTF2.Loader.Extensions {
2306
2372
  /**
@@ -2338,6 +2404,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
2338
2404
  }
2339
2405
  declare module BABYLON {
2340
2406
 
2407
+
2341
2408
  }
2342
2409
  declare module BABYLON.GLTF2.Loader.Extensions {
2343
2410
  /**
@@ -2374,6 +2441,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
2374
2441
  }
2375
2442
  declare module BABYLON {
2376
2443
 
2444
+
2377
2445
  }
2378
2446
  declare module BABYLON.GLTF2.Loader.Extensions {
2379
2447
  /**
@@ -2404,6 +2472,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
2404
2472
  }
2405
2473
  declare module BABYLON {
2406
2474
 
2475
+
2407
2476
  }
2408
2477
  declare module BABYLON.GLTF2.Loader.Extensions {
2409
2478
  /**
@@ -2444,6 +2513,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
2444
2513
  }
2445
2514
  declare module BABYLON {
2446
2515
 
2516
+
2447
2517
  }
2448
2518
  declare module BABYLON.GLTF2.Loader.Extensions {
2449
2519
  class CameraAnimationPropertyInfo extends BABYLON.GLTF2.AnimationPropertyInfo {
@@ -2738,6 +2808,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
2738
2808
  }
2739
2809
  declare module BABYLON {
2740
2810
 
2811
+
2741
2812
  }
2742
2813
  declare module BABYLON.GLTF2.Loader.Extensions {
2743
2814
  /**
@@ -2778,6 +2849,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
2778
2849
  }
2779
2850
  declare module BABYLON {
2780
2851
 
2852
+
2781
2853
  }
2782
2854
  declare module BABYLON.GLTF2.Loader.Extensions {
2783
2855
  /**
@@ -2819,6 +2891,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
2819
2891
  }
2820
2892
  declare module BABYLON {
2821
2893
 
2894
+
2822
2895
  }
2823
2896
  declare module BABYLON.GLTF2.Loader.Extensions {
2824
2897
  /**
@@ -2847,6 +2920,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
2847
2920
  }
2848
2921
  declare module BABYLON {
2849
2922
 
2923
+
2850
2924
  }
2851
2925
  declare module BABYLON.GLTF2.Loader.Extensions {
2852
2926
  /**
@@ -2876,6 +2950,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
2876
2950
  }
2877
2951
  declare module BABYLON {
2878
2952
 
2953
+
2879
2954
  }
2880
2955
  declare module BABYLON.GLTF2.Loader.Extensions {
2881
2956
  /**
@@ -2911,6 +2986,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
2911
2986
  }
2912
2987
  declare module BABYLON {
2913
2988
 
2989
+
2914
2990
  }
2915
2991
  declare module BABYLON.GLTF2.Loader.Extensions {
2916
2992
  /**
@@ -2944,6 +3020,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
2944
3020
  }
2945
3021
  declare module BABYLON {
2946
3022
 
3023
+
2947
3024
  }
2948
3025
  declare module BABYLON.GLTF2.Loader.Extensions {
2949
3026
  /** @internal */
@@ -2985,6 +3062,7 @@ declare module BABYLON.GLTF2.Loader.Extensions {
2985
3062
  }
2986
3063
  declare module BABYLON {
2987
3064
 
3065
+
2988
3066
  }
2989
3067
  declare module BABYLON.GLTF1 {
2990
3068
 
@@ -2993,6 +3071,7 @@ declare module BABYLON.GLTF1 {
2993
3071
  }
2994
3072
  declare module BABYLON {
2995
3073
 
3074
+
2996
3075
  }
2997
3076
  declare module BABYLON.GLTF1 {
2998
3077
  /**
@@ -3011,6 +3090,7 @@ declare module BABYLON.GLTF1 {
3011
3090
  }
3012
3091
  declare module BABYLON {
3013
3092
 
3093
+
3014
3094
  }
3015
3095
  declare module BABYLON.GLTF1 {
3016
3096
  /**
@@ -3084,6 +3164,7 @@ declare module BABYLON.GLTF1 {
3084
3164
  }
3085
3165
  declare module BABYLON {
3086
3166
 
3167
+
3087
3168
  }
3088
3169
  declare module BABYLON.GLTF1 {
3089
3170
  /**
@@ -3497,6 +3578,7 @@ declare module BABYLON.GLTF1 {
3497
3578
  }
3498
3579
  declare module BABYLON {
3499
3580
 
3581
+
3500
3582
  }
3501
3583
  declare module BABYLON.GLTF1 {
3502
3584
  /**
@@ -3641,6 +3723,7 @@ declare module BABYLON.GLTF1 {
3641
3723
  }
3642
3724
  declare module BABYLON {
3643
3725
 
3726
+
3644
3727
  }
3645
3728
  declare module BABYLON.GLTF1 {
3646
3729
  /**
@@ -3660,6 +3743,7 @@ declare module BABYLON.GLTF1 {
3660
3743
 
3661
3744
  }
3662
3745
  declare module BABYLON {
3746
+
3663
3747
  const PLUGIN_STL = "stl";
3664
3748
  interface SceneLoaderPluginOptions {
3665
3749
  /**
@@ -3957,6 +4041,9 @@ declare module BABYLON {
3957
4041
  private _setDataForCurrentFaceWithPattern5;
3958
4042
  private _addPreviousObjMesh;
3959
4043
  private _optimizeNormals;
4044
+ private static _IsLineElement;
4045
+ private static _IsObjectElement;
4046
+ private static _IsGroupElement;
3960
4047
  /**
3961
4048
  * Function used to parse an OBJ string
3962
4049
  * @param meshesNames defines the list of meshes to load (all if not defined)