Skip to content

Commit ce744aa

Browse files
georginahalpernGeorgina Halpern
andauthored
Babylon: Import from subdirectory vs babylon/core. Fix container.dispose error (#1486)
* fix imports * Revert accidentally dispose change * side effect import * side effects * fix dipose issue --------- Co-authored-by: Georgina Halpern <gehalper@microsoft.com>
1 parent dd26c58 commit ce744aa

8 files changed

Lines changed: 31 additions & 12 deletions

File tree

example/babylonjs/googleMapsAerial.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
1-
import { Scene, Engine, GeospatialCamera, Vector3, Color4 } from '@babylonjs/core';
2-
import { GeospatialClippingBehavior } from '@babylonjs/core/Behaviors/Cameras';
1+
import { Scene } from '@babylonjs/core/scene';
2+
import { Engine } from '@babylonjs/core/Engines/engine';
3+
import { GeospatialCamera } from '@babylonjs/core/Cameras/geospatialCamera';
4+
import { Vector3 } from '@babylonjs/core/Maths/math.vector';
5+
import { Color4 } from '@babylonjs/core/Maths/math.color';
6+
import { GeospatialClippingBehavior } from '@babylonjs/core/Behaviors/Cameras/geospatialClippingBehavior';
7+
import '@babylonjs/core/Animations/animatable'; // Needed for flyTo animation
8+
import '@babylonjs/core/Collisions/collisionCoordinator'; // Needed to enable collisions on the camera
39
import { TilesRenderer } from '3d-tiles-renderer/babylonjs';
410
import { CesiumIonAuthPlugin } from '3d-tiles-renderer/core/plugins';
511
import GUI from 'lil-gui';
@@ -53,7 +59,6 @@ camera.pitch = 1.167625429373872;
5359
camera.yaw = - 0.2513281792775774;
5460

5561
camera.checkCollisions = true;
56-
scene.collisionsEnabled = true;
5762

5863
// Fly to close view once tiles load
5964
let hasZoomedIn = false;

example/babylonjs/index.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
import { Engine, Scene, ArcRotateCamera, Vector3, Color4 } from '@babylonjs/core';
1+
import { Engine } from '@babylonjs/core/Engines/engine';
2+
import { Scene } from '@babylonjs/core/scene';
3+
import { ArcRotateCamera } from '@babylonjs/core/Cameras/arcRotateCamera';
4+
import { Vector3 } from '@babylonjs/core/Maths/math.vector';
5+
import { Color4 } from '@babylonjs/core/Maths/math.color';
26
import { TilesRenderer } from '3d-tiles-renderer/babylonjs';
37
import GUI from 'lil-gui';
48

src/babylonjs/renderer/index.d.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { TilesRendererBase } from '3d-tiles-renderer/core';
2-
import { Scene, TransformNode } from '@babylonjs/core';
2+
import { Scene } from '@babylonjs/core/scene';
3+
import { TransformNode } from '@babylonjs/core/Meshes/transformNode';
34

45
export class TilesRenderer extends TilesRendererBase {
56

src/babylonjs/renderer/loaders/B3DMLoader.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Matrix } from '@babylonjs/core';
1+
import { Matrix } from '@babylonjs/core/Maths/math.vector';
22
import { B3DMLoaderBase } from '3d-tiles-renderer/core';
33
import { GLTFLoader } from './GLTFLoader.js';
44

src/babylonjs/renderer/loaders/GLTFLoader.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { LoaderBase } from '3d-tiles-renderer/core';
2-
import { Matrix, Quaternion, ImportMeshAsync } from '@babylonjs/core';
2+
import { Matrix, Quaternion } from '@babylonjs/core/Maths/math.vector';
3+
import { LoadAssetContainerAsync } from '@babylonjs/core/Loading/sceneLoader';
34
import '@babylonjs/loaders/glTF/2.0';
45

56
const _worldMatrix = /* @__PURE__ */ Matrix.Identity();
@@ -30,7 +31,7 @@ export class GLTFLoader extends LoaderBase {
3031
// load the file
3132
const pluginExtension = extension === 'gltf' ? '.gltf' : '.glb';
3233
let metadata = null;
33-
const container = await ImportMeshAsync(
34+
const container = await LoadAssetContainerAsync(
3435
new File( [ buffer ], uri ),
3536
scene,
3637
{
@@ -49,8 +50,10 @@ export class GLTFLoader extends LoaderBase {
4950
}
5051
);
5152

53+
container.addAllToScene();
54+
5255
// retrieve the primary scene
53-
const root = container.meshes[ 0 ];
56+
const root = container.rootNodes[ 0 ];
5457

5558
// ensure rotationQuaternion is initialized so we can decompose the matrix
5659
root.rotationQuaternion = Quaternion.Identity();

src/babylonjs/renderer/math/OBB.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { Vector3, Matrix, BoundingBox } from '@babylonjs/core';
1+
import { Vector3, Matrix } from '@babylonjs/core/Maths/math.vector';
2+
import { BoundingBox } from '@babylonjs/core/Culling/boundingBox';
23

34
const _vec = /* @__PURE__ */ new Vector3();
45
export class OBB {

src/babylonjs/renderer/math/TileBoundingVolume.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { Vector3, Matrix, BoundingSphere } from '@babylonjs/core';
1+
import { Vector3, Matrix } from '@babylonjs/core/Maths/math.vector';
2+
import { BoundingSphere } from '@babylonjs/core/Culling/boundingSphere';
23
import { OBB } from './OBB.js';
34

45
const _vecX = /* @__PURE__ */ new Vector3();

src/babylonjs/renderer/tiles/TilesRenderer.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
import { TilesRendererBase, LoaderUtils } from '3d-tiles-renderer/core';
2-
import { TransformNode, Matrix, Vector3, Frustum, Observable, Plane } from '@babylonjs/core';
2+
import { TransformNode } from '@babylonjs/core/Meshes/transformNode';
3+
import { Matrix, Vector3 } from '@babylonjs/core/Maths/math.vector';
4+
import { Frustum } from '@babylonjs/core/Maths/math.frustum';
5+
import { Observable } from '@babylonjs/core/Misc/observable';
6+
import { Plane } from '@babylonjs/core/Maths/math.plane';
37
import { B3DMLoader } from '../loaders/B3DMLoader.js';
48
import { GLTFLoader } from '../loaders/GLTFLoader.js';
59
import { TileBoundingVolume } from '../math/TileBoundingVolume.js';

0 commit comments

Comments
 (0)