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.

114 lines 4.48 kB
import { IGeometry, ILight, IMaterial, IMaterialEventMap, IObject3D, IObject3DEventMap, ITexture } from '../core'; import { IObjectExtension } from '../core/IObject'; import { EventDispatcher, VideoTexture } from 'three'; /** * Event map for Object3DManager events. */ export interface Object3DManagerEventMap { 'videoAdd': { video: VideoTexture & ITexture; }; 'videoRemove': { video: VideoTexture & ITexture; }; 'objectAdd': { object: IObject3D; }; 'objectRemove': { object: IObject3D; }; 'materialAdd': { material: IMaterial; }; 'materialRemove': { material: IMaterial; }; 'geometryAdd': { geometry: IGeometry; }; 'geometryRemove': { geometry: IGeometry; }; 'textureAdd': { texture: ITexture; }; 'textureRemove': { texture: ITexture; }; 'lightAdd': { light: ILight; }; 'lightRemove': { light: ILight; }; 'dispose': object; } /** * Manages 3D objects, materials, geometries, textures, and videos in a scene. */ export declare class Object3DManager extends EventDispatcher<Object3DManagerEventMap> { private _root; private _objects; private _objectExtensions; private _materials; private _geometries; private _textures; private _videos; private _lights; autoDisposeTextures: boolean; autoDisposeMaterials: boolean; autoDisposeGeometries: boolean; autoDisposeObjects: boolean; constructor(); onPostFrame(timeline: { time: number; running: boolean; }): void; setRoot(root: IObject3D): void; registerObject(obj: IObject3D): void; unregisterObject(obj: IObject3D): boolean; registerObjectExtension(ext: IObjectExtension): void; unregisterObjectExtension(ext: IObjectExtension): void; private _rootChanged; private _materialChanged; private _geometryChanged; private _registerMaterials; private _unregisterMaterials; private _registerMaterial; private _unregisterMaterial; private _texturesChanged; private _textureChanged; private _registerGeometry; private _unregisterGeometry; private _registerTexture; private _unregisterTexture; private _registerVideo; findObject(nameOrUuid: string): IObject3D | undefined; findObjectsByName(name: string): IObject3D[]; findMaterial(nameOrUuid: string): IMaterial | undefined; findMaterialsByName(name: string): IMaterial[]; dispose(): void; static readonly MaterialTextureProperties: Set<string>; static readonly MaterialTexturePropertiesUserData: Set<string>; static readonly SceneTextureProperties: Set<string>; static readonly Object3DTextureProperties: Set<string>; getObjects(): IObject3D<IObject3DEventMap, IGeometry<import('three').NormalBufferAttributes, import('three').BufferGeometryEventMap> | undefined, IMaterial<IMaterialEventMap> | IMaterial<IMaterialEventMap>[] | undefined>[]; getObject(uuid: string): IObject3D<IObject3DEventMap, IGeometry<import('three').NormalBufferAttributes, import('three').BufferGeometryEventMap> | undefined, IMaterial<IMaterialEventMap> | IMaterial<IMaterialEventMap>[] | undefined> | undefined; getObjectExtensions(): IObjectExtension[]; getMaterials(): IMaterial<IMaterialEventMap>[]; getMaterial(uuid: string): IMaterial<IMaterialEventMap> | undefined; getGeometries(): IGeometry<import('three').NormalBufferAttributes, import('three').BufferGeometryEventMap>[]; getGeometry(uuid: string): IGeometry<import('three').NormalBufferAttributes, import('three').BufferGeometryEventMap> | undefined; getTextures(): ITexture<import('three').TextureEventMap>[]; getTexture(uuid: string): ITexture<import('three').TextureEventMap> | undefined; getVideos(): (VideoTexture & ITexture<import('three').TextureEventMap>)[]; getVideo(uuid: string): (VideoTexture & ITexture<import('three').TextureEventMap>) | undefined; getLights(): ILight<import('three').LightShadow<import('three').Camera<import('three').Object3DEventMap>> | undefined, IObject3DEventMap>[]; getLight(uuid: string): ILight<import('three').LightShadow<import('three').Camera<import('three').Object3DEventMap>> | undefined, IObject3DEventMap> | undefined; } declare module 'three' { interface VideoTexture { _playid?: number; } } //# sourceMappingURL=../src/assetmanager/Object3DManager.d.ts.map