UNPKG

@threepipe/plugin-svg-renderer

Version:

Plugins for SVG Rendering of 3d objects for Threepipe

100 lines 3.36 kB
import { AViewerPluginSync, IObject3D, IViewerEvent, ThreeViewer, Vector2 } from 'threepipe'; import { FillPass, SVGMesh, SVGRenderer } from './three-svg-renderer'; /** * SVG Rendering from 3d scenes helper plugin using [three-svg-renderer](https://www.npmjs.com/package/three-svg-renderer) (GPLV3 Licenced) */ export declare class ThreeSVGRendererPlugin extends AViewerPluginSync { readonly autoAddToContainer: boolean; static readonly PluginType = "ThreeSVGRendererPlugin"; enabled: boolean; /** * Automatically render when camera or any object changes. */ autoRender: boolean; /** * Use the fill pass to draw polygons.(both fills and strokes) */ drawPolygons: boolean; /** * Draw polygon fills. (fill color from material.color) */ drawPolygonFills: boolean; /** * Draw polygon strokes. (stroke color from material.color) */ drawPolygonStrokes: boolean; /** * Draw image fills. (fill image from rendered canvas image). * Make sure canvas is rendered(and render pipeline has a render pass) before calling this. */ drawImageFills: boolean; /** * Draw visible contours of meshes. */ drawVisibleContours: boolean; /** * Draw hidden contours of meshes. */ drawHiddenContours: boolean; /** * Update meshes on every render. If this is false, meshes will only be updated when they change. (tracked using objectUpdate event) */ alwaysUpdateMeshes: boolean; /** * Min and Max Crease angle for mesh edges. */ creaseAngle: Vector2; /** * Automatically create SVG objects for all meshes in the scene. * If this is false, you will have to manually create SVG objects for meshes using `makeSVGObject` method. */ autoMakeSvgObjects: boolean; readonly renderer: SVGRenderer; readonly svgNodeContainer: HTMLDivElement; protected readonly _fillPass: FillPass; setDirty(...args: any[]): any; /** * @param enabled * @param autoAddToContainer - automatically add the svg to the viewer container and style it same as the viewer is position is absolute */ constructor(enabled?: boolean, autoAddToContainer?: boolean); protected _lastStyles?: string; onAdded(viewer: ThreeViewer): void; private _meshesNeedsUpdate; updateMeshes(): void; onRemove(viewer: ThreeViewer): void; protected _onMeshDispose(ev: any): void; protected _onMeshUpdate(ev: any): void; protected _meshes: Map<string, SVGMesh>; protected _refreshMeshes(root?: IObject3D): never[] | undefined; makeSVGObject(o: IObject3D): void; private _rendering; static SVG_RENDER_TIMEOUT: number; protected _toggleMaterialRendering(meshes: SVGMesh[], enable: boolean): void; render(): Promise<string | undefined>; download(): void; protected _viewerListeners: { postRender: (_: IViewerEvent) => void; }; get svgNode(): Element | undefined; protected _refreshParams(): void; protected _onResize(): void; } /** * @license * three-svg-renderer * * GNU GENERAL PUBLIC LICENSE * Version 3, 29 June 2007 * * Copyright (c) 2022 Axel Antoine */ /** * @license * three-mesh-halfedge * * MIT License * * Copyright (c) 2022 Axel Antoine */ //# sourceMappingURL=ThreeSVGRendererPlugin.d.ts.map