UNPKG

@woosh/meep-engine

Version:

Pure JavaScript game engine. Fully featured and production ready.

126 lines 3.15 kB
/// <reference types="gl-matrix/index.js" /> export class TopoTriangle { /** * Utility constructor * @param {number} ax * @param {number} ay * @param {number} az * @param {number} bx * @param {number} by * @param {number} bz * @param {number} cx * @param {number} cy * @param {number} cz * @return {TopoTriangle} */ static fromPoints(ax: number, ay: number, az: number, bx: number, by: number, bz: number, cx: number, cy: number, cz: number): TopoTriangle; /** * Identifying index, can be used to link back to buffer-geometry face by index or any other useful ID purposes * @type {number} */ index: number; /** * * @type {TopoVertex[]} */ vertices: TopoVertex[]; /** * * @type {TopoEdge[]} */ edges: TopoEdge[]; /** * * @type {number[]|vec3} */ normal: number[] | vec3; get byteSize(): number; /** * * @param {TopoTriangle} other */ copy(other: TopoTriangle): void; clone(): TopoTriangle; /** * * @param {function(reason:string)} error_consumer * @return {boolean} */ validate(error_consumer: any): boolean; /** * * @return {boolean} */ isLinked(): boolean; /** * NOTE: does not update vertices * @param {TopoEdge} existing * @param {TopoEdge} replacement */ replaceEdge(existing: TopoEdge, replacement: TopoEdge): void; /** * NOTE: does not update edges * @param {TopoVertex} existing * @param {TopoVertex} replacement */ replaceVertex(existing: TopoVertex, replacement: TopoVertex): void; /** * Some or all vertices are the same, resulting in line or point representation */ isDegenerateTopology(): boolean; /** * Remove self from the topology graph */ unlink(): void; /** * * @param {TopoEdge} e */ addEdge(e: TopoEdge): void; /** * * @param {TopoEdge} e * @return {boolean} */ addUniqueEdge(e: TopoEdge): boolean; /** * * @param {TopoEdge} e */ removeEdge(e: TopoEdge): void; /** * * @param {TopoEdge} edge * @returns {boolean} */ containsEdge(edge: TopoEdge): boolean; computeNormal(): void; /** * * @param {number} index * @param {TopoVertex} vertex */ setVertexAt(index: number, vertex: TopoVertex): void; /** * * @param {TopoVertex} vertex * @return {boolean} */ containsVertex(vertex: TopoVertex): boolean; /** * Get all neighbours that share an edge with this face * @param {TopoTriangle[]} result * @param {number} result_offset * @returns {number} number of found neighbours */ getEdgeNeighbours(result: TopoTriangle[], result_offset: number): number; /** * @readonly * @type {boolean} */ readonly isTopoFace: boolean; } import { TopoVertex } from "./TopoVertex.js"; import { TopoEdge } from "./TopoEdge.js"; import { vec3 } from "gl-matrix"; //# sourceMappingURL=TopoTriangle.d.ts.map