UNPKG

@woosh/meep-engine

Version:

Pure JavaScript game engine. Fully featured and production ready.

88 lines 2.38 kB
/** * Quadric Error Metric * Triangular 4x4 matrix, see https://en.wikipedia.org/wiki/Triangular_matrix */ export class Quadratic3 { a2: number; ab: number; ac: number; ad: number; b2: number; bc: number; bd: number; c2: number; cd: number; d2: number; /** * * @param {ArrayLike<number>|number[]|Float32Array} result */ toVector3(result: ArrayLike<number> | number[] | Float32Array): void; /** * * @param {ArrayLike<number>|number[]|Float32Array} m3 */ toTensorM3(m3: ArrayLike<number> | number[] | Float32Array): void; /** * Equivalent to taking a tensor followed by matrix inversion * @param {ArrayLike<number>|number[]|Float32Array} m3 * @param {number} epsilon * @returns {boolean} whether operation was successful or not */ toTensorM3Inverse(m3: ArrayLike<number> | number[] | Float32Array, epsilon: number): boolean; /** * Set from plane expressed as a 4 component vector * @param {number} x plane normal * @param {number} y plane normal * @param {number} z plane normal * @param {number} w plane offset */ setFromVector4(x: number, y: number, z: number, w: number): void; /** * * @param {TopoTriangle} face */ setFromFace(face: TopoTriangle): void; /** * Squared distance from the given point to plane encoded by the quadratic * @param {number} x * @param {number} y * @param {number} z * @returns {number} */ evaluate(x: number, y: number, z: number): number; /** * Find optimal vertex position based on the quadratic * * Based on Blender's implementation: https://github.com/blender/blender/blob/594f47ecd2d5367ca936cf6fc6ec8168c2b360d0/source/blender/blenlib/intern/quadric.c * * @param {number[]} out * @returns {boolean} */ optimize(out: number[]): boolean; /** * * @param {Quadratic3} Q */ add(Q: Quadratic3): void; /** * * @param {number} v */ multiplyScalar(v: number): void; /** * * @returns {Quadratic3} */ clone(): Quadratic3; /** * * @param {Quadratic3} other */ copy(other: Quadratic3): void; /** * Set all matrix values to 0 */ clear(): void; } //# sourceMappingURL=Quadratic3.d.ts.map