UNPKG

@threepipe/plugin-svg-renderer

Version:

Plugins for SVG Rendering of 3d objects for Threepipe

83 lines 2.53 kB
import { ColorRepresentation, PerspectiveCamera } from '../../../threepipe'; import { SizeLike } from '../../utils'; import { SVGMesh } from '../SVGMesh'; import { Chain } from './Chain'; import { ViewEdge } from './ViewEdge'; import { Polygon } from './Polygon'; import { MeshIntersectionInfo } from './operations/computeMeshIntersections'; import { ViewVertex } from './ViewVertex'; declare module '../../../three-mesh-halfedge' { interface Face { viewEdges: ViewEdge[]; } interface Vertex { viewVertex: ViewVertex; } } export interface ViewmapOptions { updateMeshes?: boolean; ignoreVisibility?: boolean; defaultMeshColor?: ColorRepresentation; creaseAngle?: { min: number; max: number; }; } export declare class ViewmapBuildInfo { totalTime: number; /** Record or times in ms */ times: { updateGeometries: number; updateBVH: number; updateHES: number; setupEdges: number; find3dSingularities: number; find2dSingularities: number; computeChains: number; visibility: number; computePolygons: number; assignPolygons: number; worldTransform: number; meshIntersections: number; setupPoints: number; setupFaceMap: number; }; intersections: MeshIntersectionInfo; visibility: { nbTests: number; nbRaycasts: number; }; polygons: { smallAreaIgnored: number; insidePointErrors: number; assigned: number; nonAssigned: number; }; } export interface ProgressInfo { currentStepName: string; currentStep: number; totalSteps: number; } export declare class Viewmap { readonly meshes: SVGMesh[]; readonly viewEdges: ViewEdge[]; readonly viewVertexMap: Map<string, ViewVertex>; readonly chains: Chain[]; readonly polygons: Polygon[]; readonly camera: PerspectiveCamera<import('../../../threepipe').Object3DEventMap>; readonly renderSize: { w: number; h: number; }; readonly options: Required<ViewmapOptions>; constructor(options?: ViewmapOptions); clear(): void; build(meshes: SVGMesh[], camera: PerspectiveCamera, renderSize: SizeLike, info?: ViewmapBuildInfo, progressCallback?: (progress: ProgressInfo) => void): Promise<void>; skipActions: boolean; private buildAsync; private setupActions; visibleChains(): Chain[]; hiddenChains(): Chain[]; } //# sourceMappingURL=Viewmap.d.ts.map