From 44259408646263f2db86f364ff1583e717e065ab Mon Sep 17 00:00:00 2001 From: Nathan Bierema Date: Sun, 21 Jan 2024 13:47:46 -0500 Subject: [PATCH] WebXR: optional onLoad callback when loading hands or controllers (#769) --- .../examples/jsm/webxr/XRControllerModelFactory.d.ts | 11 ++++++----- types/three/examples/jsm/webxr/XRHandMeshModel.d.ts | 12 ++++++++++-- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/types/three/examples/jsm/webxr/XRControllerModelFactory.d.ts b/types/three/examples/jsm/webxr/XRControllerModelFactory.d.ts index 1291e082a..7c0a98e11 100644 --- a/types/three/examples/jsm/webxr/XRControllerModelFactory.d.ts +++ b/types/three/examples/jsm/webxr/XRControllerModelFactory.d.ts @@ -1,6 +1,5 @@ -import { Group, Object3D, Texture } from '../../../src/Three.js'; - -import { GLTFLoader } from '../loaders/GLTFLoader.js'; +import { Group, Loader, Object3D, Texture } from '../../../src/Three.js'; +import { GLTF } from '../loaders/GLTFLoader.js'; export class XRControllerModel extends Object3D { constructor(); @@ -13,9 +12,11 @@ export class XRControllerModel extends Object3D { } export class XRControllerModelFactory { - constructor(gltfLoader?: GLTFLoader); - gltfLoader: GLTFLoader | null; + gltfLoader: Loader | null; path: string; + onLoad: ((scene: Group) => void) | null; + + constructor(gltfLoader?: Loader | null, onLoad?: ((scene: Group) => void) | null); createControllerModel(controller: Group): XRControllerModel; } diff --git a/types/three/examples/jsm/webxr/XRHandMeshModel.d.ts b/types/three/examples/jsm/webxr/XRHandMeshModel.d.ts index e8776b81d..e42109662 100644 --- a/types/three/examples/jsm/webxr/XRHandMeshModel.d.ts +++ b/types/three/examples/jsm/webxr/XRHandMeshModel.d.ts @@ -1,11 +1,19 @@ -import { Object3D } from '../../../src/Three.js'; +import { Loader, Object3D } from '../../../src/Three.js'; +import { GLTF } from '../loaders/GLTFLoader.js'; export class XRHandMeshModel { controller: Object3D; handModel: Object3D; bones: Object3D[]; - constructor(handModel: Object3D, controller: Object3D, path: string, handedness: string); + constructor( + handModel: Object3D, + controller: Object3D, + path: string, + handedness: string, + loader?: Loader | null, + onLoad?: ((object: Object3D) => void) | null, + ); updateMesh(): void; }