@woosh/meep-engine
Version:
Pure JavaScript game engine. Fully featured and production ready.
126 lines • 3.15 kB
TypeScript
/// <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