/** * Geometry utility functions * Core geometric calculations without UI dependencies */ import { Vector3 } from '../core/modeling/transform'; import { Vector2 } from '../core/geometry/mesh_face'; /** * Calculate distance between two 3D points */ export declare function distance3D(p1: Vector3, p2: Vector3): number; /** * Calculate distance squared (faster, no sqrt) */ export declare function distanceSquared3D(p1: Vector3, p2: Vector3): number; /** * Calculate distance between two 2D points */ export declare function distance2D(p1: Vector2, p2: Vector2): number; /** * Normalize a 3D vector */ export declare function normalize3D(v: Vector3): Vector3; /** * Normalize a 2D vector */ export declare function normalize2D(v: Vector2): Vector2; /** * Dot product of two 3D vectors */ export declare function dot3D(v1: Vector3, v2: Vector3): number; /** * Cross product of two 3D vectors */ export declare function cross3D(v1: Vector3, v2: Vector3): Vector3; /** * Calculate face normal from three vertices */ export declare function calculateFaceNormal(v1: Vector3, v2: Vector3, v3: Vector3): Vector3; /** * Check if a point is inside a triangle (2D) */ export declare function pointInTriangle(point: Vector2, v1: Vector2, v2: Vector2, v3: Vector2): boolean; /** * Check if a point is inside a polygon (2D) */ export declare function pointInPolygon(point: Vector2, polygon: Vector2[]): boolean; /** * Calculate center point of multiple vertices */ export declare function calculateCenter(vertices: Vector3[]): Vector3; /** * Calculate bounding box of vertices */ export declare function calculateBoundingBox(vertices: Vector3[]): { min: Vector3; max: Vector3; center: Vector3; size: Vector3; }; /** * Check if two line segments intersect (2D) */ export declare function lineSegmentsIntersect(p1: Vector2, p2: Vector2, p3: Vector2, p4: Vector2): boolean; /** * Calculate angle between two vectors (in radians) */ export declare function angleBetweenVectors(v1: Vector3, v2: Vector3): number; /** * Project a 3D point onto a plane */ export declare function projectPointOntoPlane(point: Vector3, planePoint: Vector3, planeNormal: Vector3): Vector3; //# sourceMappingURL=geometry_util.d.ts.map