@threepipe/plugin-svg-renderer
Version:
Plugins for SVG Rendering of 3d objects for Threepipe
83 lines • 2.53 kB
TypeScript
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