@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
19 lines (18 loc) • 1.18 kB
TypeScript
import { Object3D } from 'three';
import { CoreObjectType, ObjectContent } from '../../geometry/ObjectContent';
import { BaseLoaderLoadOptions, CoreBaseLoader } from '../_Base';
import type { BaseGeoLoaderOutput, OnSuccess, OnProgress, OnError } from './Common';
export declare abstract class BaseGeoLoader<O extends BaseGeoLoaderOutput> {
abstract load: (url: string, onSuccess: OnSuccess<O>, onProgress?: OnProgress, onError?: OnError) => void;
}
export declare abstract class BaseLoaderHandler<O extends BaseGeoLoaderOutput, OC extends ObjectContent<CoreObjectType>> extends CoreBaseLoader<string> {
protected _loader: BaseGeoLoader<O> | undefined;
reset(): void;
load(options: BaseLoaderLoadOptions): Promise<OC[] | undefined>;
protected _errorMessage(url: string, event: ErrorEvent): string;
protected abstract _getLoader(options: BaseLoaderLoadOptions): Promise<BaseGeoLoader<O>>;
protected abstract _onLoadSuccess(o: O): OC[] | Promise<OC[]>;
}
export declare abstract class BaseObject3DLoaderHandler<O extends BaseGeoLoaderOutput> extends BaseLoaderHandler<O, Object3D> {
protected _onLoadSuccess(o: O): Object3D[] | Promise<Object3D[]>;
}