UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

40 lines (39 loc) 1.87 kB
/** * Base class of Exporter nodes * * @remarks */ import { BaseSopNodeType, TypedSopNode } from './_Base'; import { NodeParamsConfig } from '../utils/params/ParamsConfig'; import { CoreGroup } from '../../../core/geometry/Group'; import { Scene } from 'three'; import { Object3D } from 'three'; import { StringParam } from '../../params/String'; type Result = ArrayBuffer | string | object; export declare class BaseExporterSopParamsConfig extends NodeParamsConfig { /** @param fileName */ fileName: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>; /** @param export */ download: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BUTTON>; } export declare abstract class ExporterSopNode<K extends BaseExporterSopParamsConfig> extends TypedSopNode<K> { abstract fileExtension(): string; abstract createBlob(): Promise<Blob>; initializeNode(): void; cook(inputCoreGroups: CoreGroup[]): Promise<void>; static PARAM_CALLBACK_download(node: ExporterSopNode<BaseExporterSopParamsConfig>): void; fileName(): Promise<string>; _paramCallbackDownload(): Promise<void>; protected _prepareScene(): Promise<{ scene: Scene; objects: Object3D<import("three").Object3DEventMap>[]; } | undefined>; protected _handleResult(result: Result, objects: Object3D[], resolve: (blob: Blob) => void): void; } export declare function exporterSopFileName(fileNameParam: StringParam, fileExtension: string): Promise<string>; export declare function exporterSopPrepareScene(node: BaseSopNodeType): Promise<{ scene: Scene; objects: Object3D<import("three").Object3DEventMap>[]; } | undefined>; export declare function exporterSopHandleResult(result: Result, objects: Object3D[], resolve: (blob: Blob) => void): void; export {};