@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
40 lines (39 loc) • 1.87 kB
TypeScript
/**
* 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 {};