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.
48 lines • 1.96 kB
TypeScript
import { EventDispatcher } from 'three';
import { IMaterial, IObject3D, ITexture } from '../core';
import { BlobExt, ExportFileOptions, IAssetExporter, IExporter, IExportWriter } from './IExporter';
import { AssetExportHooks } from './export';
import { IRenderTarget } from '../rendering';
export interface AssetExporterEventMap {
exporterCreate: {
exporter: IExporter;
parser: IExportWriter;
};
exportFile: {
obj: IObject3D | IMaterial | ITexture | IRenderTarget;
state: 'processing' | 'exporting' | 'done' | 'error';
progress?: number;
error?: any;
exportOptions: ExportFileOptions;
};
}
/**
* Asset Exporter
*
* Utility class to export objects, materials, textures, render targets, etc.
* Used in {@link AssetManager} to export assets.
* @category Asset Manager
*/
export declare class AssetExporter extends EventDispatcher<AssetExporterEventMap> implements IAssetExporter {
readonly exporters: IExporter[];
addExporter(...exporters: IExporter[]): void;
removeExporter(...exporters: IExporter[]): void;
getExporter(...ext: string[]): IExporter | undefined;
exportHooks: AssetExportHooks;
constructor();
exportObject(obj?: IObject3D | IMaterial | ITexture | IRenderTarget, options?: ExportFileOptions): Promise<BlobExt | undefined>;
private _exportFile;
private _createParser;
private _cachedWriters;
private _getWriter;
processBeforeExport(obj: IObject3D | IMaterial | ITexture | IRenderTarget, options?: ExportFileOptions): Promise<{
obj: any;
ext: string;
typeExt?: string;
blob?: BlobExt;
} | undefined>;
processAfterExport(blob: BlobExt, _obj: IObject3D | IMaterial | ITexture | IRenderTarget, _options?: ExportFileOptions): Promise<BlobExt>;
dispose(): void;
}
export declare function matToJson(mat: IMaterial): any;
//# sourceMappingURL=../src/assetmanager/AssetExporter.d.ts.map