/** * Face Operations * * Additional face manipulation operations for cubes and meshes */ import { Mesh } from '../geometry/mesh'; import { MeshFace } from '../geometry/mesh_face'; import { Vector3 } from './transform'; /** * Delete faces from a mesh */ export declare function deleteFaces(mesh: Mesh, faceKeys: string[]): { deletedFaces: number; deletedVertices: string[]; }; /** * Flip face normals (invert vertex order) */ export declare function flipFaces(mesh: Mesh, faceKeys: string[]): number; /** * Triangulate a face (convert to triangles) */ export declare function triangulateFace(mesh: Mesh, faceKey: string): string[]; /** * Triangulate multiple faces */ export declare function triangulateFaces(mesh: Mesh, faceKeys: string[]): string[]; /** * Triangulate all faces in a mesh */ export declare function triangulateMesh(mesh: Mesh): string[]; /** * Move face along its normal */ export declare function moveFace(mesh: Mesh, faceKey: string, distance: number): void; /** * Move multiple faces along their normals */ export declare function moveFaces(mesh: Mesh, faceKeys: string[], distance: number): void; /** * Duplicate faces */ export declare function duplicateFaces(mesh: Mesh, faceKeys: string[]): string[]; /** * Bridge two faces (connect them with side faces) */ export declare function bridgeFaces(mesh: Mesh, faceKey1: string, faceKey2: string): string[]; /** * Get face area */ export declare function getFaceArea(face: MeshFace, mesh: Mesh): number; /** * Get total area of multiple faces */ export declare function getFacesArea(faces: MeshFace[], mesh: Mesh): number; /** * Select faces by criteria */ export interface FaceSelectionCriteria { /** * Minimum area */ minArea?: number; /** * Maximum area */ maxArea?: number; /** * Face must have specific texture */ texture?: string | false | null; /** * Face must be triangle */ isTriangle?: boolean; /** * Face must be quad */ isQuad?: boolean; /** * Face normal must point in specific direction */ normalDirection?: Vector3; } /** * Select faces matching criteria */ export declare function selectFacesByCriteria(mesh: Mesh, criteria: FaceSelectionCriteria): string[]; /** * Merge coplanar faces */ export declare function mergeCoplanarFaces(mesh: Mesh, faceKeys: string[], tolerance?: number): string[]; /** * Split face at edge */ export declare function splitFaceAtEdge(mesh: Mesh, faceKey: string, edge: [string, string], newVertexKey: string): string[]; //# sourceMappingURL=face_operations.d.ts.map