ts-game-engine
Version:
Simple WebGL game/render engine written in TypeScript
25 lines (24 loc) • 875 B
JavaScript
"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;