import { IRepetition } from './types/repetitions'; /** * Get current timestamp in milliseconds * * @category Utilities * @returns {number} */ export declare function now(): number; /** * Convert number from radians to degrees * * @category Utilities * * @example * ```javascript * Urpflanze.toDegrees(Math.PI) // 180 * ``` * * @param {number} radians * @returns {number} */ export declare function toDegrees(radians: number): number; /** * Convert angle from degrees to radians * @example * ```javascript * Urpflanze.toRadians(180) // 3.141592653589793 * ``` * * @category Utilities * @param {number} degrees * @returns {number} */ export declare function toRadians(degrees: number): number; /** * Linear interpolation from `a` when `i` as 0 an `b` when `i' as 1 * * @category Utilities * @param {number} a * @param {number} b * @param {number} i * @returns {number} */ export declare function lerp(a: number, b: number, i: number): number; /** * Return number between min and max * * @category Utilities * @example * ```javascript * Urpflanze.clamp(0, 1, 1.2) // 1 * Urpflanze.clamp(0, 1, -2) // 0 * ``` * @param {number} min * @param {number} max * @param {number} value * @returns {number} */ export declare function clamp(min: number, max: number, value: number): number; /** * Map number between refMin e refMax from min and max * * @category Utilities * * @example * ```javascript * Urpflanze.relativeClamp(0, 1, 0.5, 100, 200) // 150 * ``` * * @param {number} refMin * @param {number} refMax * @param {number} value * @param {number} toMin * @param {number} toMax * @returns {number} */ export declare function relativeClamp(refMin: number, refMax: number, value: number, toMin: number, toMax: number): number; /** * SimplexNoise * Use 'random' as seed property for random seed. * Return value between -1 and 1 * * @category Utilities * * @param {string} [seed='random'] * @param {number} [x=0] * @param {number} [y=0] * @param {number} [z=0] * @param {number} [min=-1] * @param {number} [max=-1] * @returns {number} between -1 and 1 */ export declare function noise(seed?: string, x?: number, y?: number, z?: number, min?: number, max?: number): number; /** * Random number generator * @example * ```javascript * Urpflanze.random('seed') // 0.9367527104914188 * ``` * * @category Utilities * @param {string} seed * @param {number} min * @param {number} max * @param {number} decimals * @returns {number} */ export declare function random(seed?: string | number | null, min?: number, max?: number, decimals?: number): number; /** * Return angle (atan) from offset (or center) for matrix repetition. * Offset is array between [-1, -1] and [1, 1]. * The return value is between -Math.PI / 2 and Math.PI / 2 * * @category Utilities * * @param {IRepetition} repetition * @param {[number, number]} offsetFromCenter * @returns {number} between -Math.PI / 2 and Math.PI / 2 */ export declare function angleFromRepetition(repetition: IRepetition, offsetFromCenter?: [number, number]): number; /** * Return angle (atan2, 4 quadrants) from offset (or center) for matrix repetition. * Offset is array between [-1, -1] and [1, 1]. * The return value is between -Math.PI an Math.PI * * @category Utilities * * @param {IRepetition} repetition * @param {[number, number]} offsetFromCenter * @returns {number} between -Math.PI an Math.PI */ export declare function angle2FromRepetition(repetition: IRepetition, offsetFromCenter?: [number, number]): number; /** * Return distance from offset (or center) for matrix repetition. * The return value is between 0 and 1 * * @category Utilities * * @param {IRepetition} repetition * @param {[number, number]} offsetFromCenter offset relative to distance prop * @returns {number} between 0 and 1 */ export declare function distanceFromRepetition(repetition: IRepetition, offsetFromCenter?: [number, number]): number; /** * Evenly distributes a number of points in a buffer * * @category Utilities.Buffer interpolation * @export * @param {Float32Array} buffer current buffer * @param {number} pointsToAdd points to add * @return {*} {Float32Array} */ export declare function distributePointsInBuffer(buffer: Float32Array, pointsToAdd: number): Float32Array; /** * Leads two buffers to have the same number of points * * @category Utilities.Buffer interpolation * @param from * @param to * @returns */ export declare function prepareBufferForInterpolation(from: Float32Array, to: Float32Array): [Float32Array, Float32Array]; /** * Interpolate two buffer * * @category Utilities.Buffer interpolation * @param from * @param to * @param offset * @returns */ export declare function interpolate(from: Float32Array, to: Float32Array, initialOffset?: number | Array): Float32Array; //# sourceMappingURL=Utilities.d.ts.map