import { Matrix4InOut, Vector3 as Vec3 } from './mat4'; /** * Set the components of a vec3 to the given values * @ignore * @param out the receiving vector * @param x X component * @param y Y component * @param z Z component * @returns out */ export declare function set(out: Vec3, x: number, y: number, z: number): Vec3; /** * Adds two vec3's * @ignore * @param out the receiving vector * @param a the first operand * @param b the second operand * @returns out */ export declare function add(out: Vec3, a: Vec3, b: Vec3): Vec3; /** * Subtracts vector b from vector a * @ignore * @param out the receiving vector * @param a the first operand * @param b the second operand * @returns out */ export declare function subtract(out: Vec3, a: Vec3, b: Vec3): Vec3; export declare function sub(out: Vec3, a: Vec3, b: Vec3): Vec3; export declare function copy(out: Vec3, a: Vec3): Vec3; /** * Calculates the length of a vec3 * @ignore * @param a vector to calculate length of * @returns length of a */ export declare function length(a: Vec3): number; /** * Normalize a vec3 * @ignore * @param out the receiving vector * @param a vector to normalize * @returns out */ export declare function normalize(out: Vec3, a: Vec3): Vec3; /** * Calculates the dot product of two vec3's * @ignore * @param a the first operand * @param b the second operand * @returns dot product of a and b */ export declare function dot(a: Vec3, b: Vec3): number; /** * Scales a vec3 by a scalar number * @ignore * @param out the receiving vector * @param a the vector to scale * @param b amount to scale the vector by * @returns out */ export declare function scale(out: Vec3, a: Vec3, b: number): Vec3; /** * Computes the cross product of two vec3's * @ignore * @param out the receiving vector * @param a the first operand * @param b the second operand * @returns out */ export declare function cross(out: Vec3, a: Vec3, b: Vec3): Vec3; /** * Calculates the euclidian distance between two vec3's * @ignore * @param a the first operand * @param b the second operand * @returns distance between a and b */ export declare function distance(a: Vec3, b: Vec3): number; /** * Transforms the vec3 with a mat4. * 4th vector component is implicitly '1' * @ignore * @param out the receiving vector * @param a the vector to transform * @param m matrix to transform with * @returns out */ export declare function transformMat4(out: Vec3, a: Vec3, m: Matrix4InOut): Vec3; export declare function angle(a: Vec3, b: Vec3): number; //# sourceMappingURL=vec3.d.ts.map