@threepipe/plugin-svg-renderer
Version:
Plugins for SVG Rendering of 3d objects for Threepipe
57 lines • 1.82 kB
TypeScript
import { PerspectiveCamera } from '../threepipe';
import { DrawPass, SVGDrawHandler, SVGDrawInfo, SVGDrawOptions, Viewmap, ViewmapBuildInfo, ViewmapOptions } from './core';
import { SVGMesh } from './core/SVGMesh';
import { Svg } from '@svgdotjs/svg.js';
export interface ExportOptions {
prettify?: boolean;
}
export declare class SVGRenderInfo {
resolution: {
w: number;
h: number;
};
renderingTime: number;
readonly svgDrawInfo: SVGDrawInfo;
readonly viewmapInfo: ViewmapBuildInfo;
}
export interface ProgressInfo {
currentStepName: string;
currentStep: number;
totalSteps: number;
}
/**
*
*/
export declare class SVGRenderer {
readonly viewmap: Viewmap;
readonly drawHandler: SVGDrawHandler;
constructor(vOptions?: ViewmapOptions, sOptions?: SVGDrawOptions);
/**
* Render a SVG file from the given meshes and returns it.
* @param meshes Mehses to render
* @param camera Camera used to compute the perspective
* @param size Size of the render (will be scaled by camera aspect ratio)
* @param options Options to customize the render
* @param info Object containing info (e.g. times) on the rendering process
* @returns SVG object from the Svgdotjs lib
*/
generateSVG(meshes: Array<SVGMesh>, camera: PerspectiveCamera, size: {
w: number;
h: number;
}, info?: SVGRenderInfo): Promise<Svg>;
/**
* Adds a pass to the SVG rendering pipeline.
* @param pass
*/
addPass(pass: DrawPass): void;
/**
* Removes a pass from the SVG rendering pipeline
* @param pass
*/
removePass(pass: DrawPass): void;
/**
* Removes all the passes from the SVG rendering pipeline.
*/
clearPasses(): void;
}
//# sourceMappingURL=SVGRenderer.d.ts.map