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
TypeScript
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