/** * Knife Tool * * Tool for cutting meshes with lines. * Creates new edges and faces along the cut path. */ import { Mesh } from '../geometry/mesh'; import { Vector3 } from './transform'; import { MeshEdge } from './mesh_util'; import { Cube } from '../geometry/cube'; export interface KnifePoint { position: Vector3; type: 'face' | 'edge' | 'vertex'; attached_vertex?: string; attached_line?: [string, string]; snapped: boolean; fkey?: string; vkey?: string; reuse_of?: KnifePoint; } export interface KnifeToolResult { newFaceKeys: string[]; newVertexKeys: string[]; newEdges: MeshEdge[]; } /** * Apply knife tool to mesh * Cuts mesh along a path defined by points */ export declare function applyKnifeTool(mesh: Mesh, points: KnifePoint[]): KnifeToolResult; /** * Apply knife tool to cube * Splits cube along an axis */ export declare function applyKnifeToolToCube(cube: Cube, axis: 0 | 1 | 2, offset: number): Cube; //# sourceMappingURL=knife_tool.d.ts.map