/** * Math utility functions for Bench3D * Provides mathematical operations, UUID generation, and conversion utilities */ /** * Generate a GUID (UUID v4) */ export declare function guid(): string; /** * Check if a string is a valid UUID */ export declare function isUUID(s: string): boolean; /** * Generate a Blockbench-style UUID */ export declare function bbuid(l?: number): string; /** * Math utility object with common mathematical operations */ export declare const MathUtil: { /** * Convert radians to degrees */ radToDeg: (rad: number) => number; /** * Convert degrees to radians */ degToRad: (deg: number) => number; /** * Round a number to a specific number of decimal places */ roundTo: (num: number, digits: number) => number; /** * Clamp a number between min and max */ clamp: (num: number, min: number, max: number) => number; /** * Linear interpolation */ lerp: (a: number, b: number, t: number) => number; /** * Check if a number is between two values */ isBetween: (num: number, min: number, max: number) => boolean; /** * Epsilon value for floating point comparisons */ epsilon: number; /** * Trim degrees to 0-360 range */ trimDeg: (deg: number) => number; /** * Trim radians to 0-2π range */ trimRad: (rad: number) => number; /** * Check if a number is a power of two */ isPowerOfTwo: (n: number) => boolean; /** * Check if a value is a number */ isNumber: (val: any) => val is number; /** * Random number between a and b */ randomab: (a: number, b: number) => number; /** * Random integer between a and b (inclusive) */ randomInteger: (a: number, b: number) => number; /** * Check if two numbers are multiples */ areMultiples: (a: number, b: number, threshold?: number) => boolean; /** * Get next power of two */ getNextPower: (n: number) => number; /** * Signed power function */ signedPow: (base: number, exp: number) => number; /** * Snap a value to the nearest value in an array */ snapToValues: (value: number, values: number[]) => number; /** * Hermite blend function (smoothstep) */ hermiteBlend: (t: number) => number; }; /** * Alias for MathUtil.clamp */ export declare const limitNumber: (num: number, min: number, max: number) => number; /** * Get linear interpolation factor */ export declare function getLerp(a: number, b: number, value: number): number; /** * Linear interpolation */ export declare function lerp(a: number, b: number, t: number): number; /** * Check if a number is between two values */ export declare function isBetween(num: number, min: number, max: number): boolean; /** * Epsilon constant */ export declare const epsilon: number; /** * Trim degrees to 0-360 range */ export declare function trimDeg(deg: number): number; /** * Trim radians to 0-2π range */ export declare function trimRad(rad: number): number; /** * Check if a number is a power of two */ export declare function isPowerOfTwo(n: number): boolean; /** * Check if a value is a number */ export declare function isNumber(val: any): val is number; /** * Random number between a and b */ export declare function randomab(a: number, b: number): number; /** * Random integer between a and b (inclusive) */ export declare function randomInteger(a: number, b: number): number; /** * Check if two numbers are multiples */ export declare function areMultiples(a: number, b: number, threshold?: number): boolean; /** * Get next power of two */ export declare function getNextPower(n: number): number; /** * Signed power function */ export declare function signedPow(base: number, exp: number): number; /** * Snap a value to the nearest value in an array */ export declare function snapToValues(value: number, values: number[]): number; /** * Hermite blend function (smoothstep) */ export declare function hermiteBlend(t: number): number; /** * Trim a float number to a specific number of decimal places */ export declare function trimFloatNumber(val: number | string, max_digits?: number): string | number; /** * Separate thousands with commas */ export declare function separateThousands(num: number | string): string; /** * Get axis letter (0='x', 1='y', 2='z') */ export declare function getAxisLetter(axis: number): string; /** * Get axis number ('x'=0, 'y'=1, 'z'=2) */ export declare function getAxisNumber(axis: string): number; /** * Check if a string is a number */ export declare function isStringNumber(str: string): boolean; /** * Radians to degrees */ export declare function radToDeg(rad: number): number; /** * Degrees to radians */ export declare function degToRad(deg: number): number; //# sourceMappingURL=math_util.d.ts.map