UNPKG

ts-game-engine

Version:

Simple WebGL game/render engine written in TypeScript

25 lines (24 loc) 875 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const gl_matrix_1 = require("gl-matrix"); class Plane { constructor() { this.normal = gl_matrix_1.vec3.create(); this.distance = 0; } get Normal() { return this.normal; } get Distance() { return this.distance; } SetPoints(p1, p2, p3) { let v1 = gl_matrix_1.vec3.create(); let v2 = gl_matrix_1.vec3.create(); gl_matrix_1.vec3.subtract(v1, p2, p1); gl_matrix_1.vec3.subtract(v2, p3, p1); gl_matrix_1.vec3.cross(this.normal, v1, v2); gl_matrix_1.vec3.normalize(this.normal, this.normal); this.distance = -gl_matrix_1.vec3.dot(this.normal, p1); } DistanceFromPoint(point) { return gl_matrix_1.vec3.dot(this.normal, point) + this.distance; } } exports.Plane = Plane;