UNPKG

threepipe

Version:

A modern 3D viewer framework built on top of three.js, written in TypeScript, designed to make creating high-quality, modular, and extensible 3D experiences on the web simple and enjoyable.

67 lines 3.38 kB
import { GLTF, GLTFLoaderPlugin, GLTFParser, GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js'; import { LoadingManager, Object3D } from 'three'; import { ThreeViewer } from '../../viewer'; import { ILoader } from '../IImporter'; import { SerializationMetaType } from '../../utils'; import { ImportAddOptions } from '../AssetManager'; export declare class GLTFLoader2 extends GLTFLoader implements ILoader<GLTF, Object3D | undefined> { isGLTFLoader2: boolean; importOptions?: ImportAddOptions; constructor(manager: LoadingManager); /** * Saves the current resource path in the gltf document extras/userData, which is then exported along with the asset when its exported using GLTFExporter2. * This value is then used the next time that file is imported to correctly resolve external assets from the original resource path. * [wip] */ static ['_EmbedResourcePath']: boolean; static ['_UseResourcePath']: boolean; static ImportExtensions: ((parser: GLTFParser) => GLTFLoaderPlugin)[]; private _resPathUrlModifier; /** * Use {@link MeshLine}(an extension of three.js `Line2`) instead of default `Line` for lines. This allows changing line width and other properties like `dashed`. * * This is the default value for the flag, it can also be controlled by using the `useMeshLines` in the import options. */ static UseMeshLines: boolean; /** * If true, the loader will create unique names for objects in the gltf file when multiple objects with the same name are found. * This is useful when importing gltf files with multiple objects with the same name, and creating animations for them. * If set to 'auto', it will only create unique names when loading a `rootSceneModelRoot`, i.e. the scene object exported with `AssetExporter` */ static CreateUniqueNames: boolean | 'auto'; /** * Preparsers are run on the arraybuffer/string before parsing to read the glb/gltf data */ preparsers: GLTFPreparser[]; static BundledResourcesKey: string; static AllowEmptyFiles: boolean; preparse(data: ArrayBuffer | string, path: string): Promise<ArrayBuffer | string>; parse(data: ArrayBuffer | string, path: string, onLoad: (gltf: GLTF) => void, onError?: (event: ErrorEvent) => void, url?: string): void; /** * This is run post parse to extract the result scene from the GLTF object * @param res * @param _ */ transform(res: GLTF, options: ImportAddOptions): Object3D | undefined; register(callback: (parser: GLTFParser) => GLTFLoaderPlugin): this; setup(viewer: ThreeViewer, extraExtensions: ((parser: GLTFParser) => GLTFLoaderPlugin)[]): this; gltfViewerParser: (viewer: ThreeViewer) => (p: GLTFParser) => GLTFLoaderPlugin; } export interface GLTFPreparser { process(data: string | ArrayBuffer, path: string): Promise<string | ArrayBuffer>; [key: string]: any; } declare module 'three/examples/jsm/loaders/GLTFLoader.js' { interface GLTFParser { importOptions?: ImportAddOptions; } } declare module 'three/examples/jsm/loaders/GLTFLoader.js' { interface GLTF { _bundledResources?: SerializationMetaType; } interface GLTFParser { bundledResources?: SerializationMetaType; } } //# sourceMappingURL=../../src/assetmanager/import/GLTFLoader2.d.ts.map