| import type { Matrix4 } from "../math"; |
| import { Vector3 } from "../math"; |
| |
| const v1 = new Vector3(); |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| export class Triangle { |
| a: Vector3; |
| b: Vector3; |
| c: Vector3; |
| |
| constructor(a = new Vector3(), b = new Vector3(), c = new Vector3()) { |
| this.a = a; |
| this.b = b; |
| this.c = c; |
| } |
| |
| copy(triangle: Triangle): Triangle { |
| this.a.copy(triangle.a); |
| this.b.copy(triangle.b); |
| this.c.copy(triangle.c); |
| |
| return this; |
| } |
| |
| applyMatrix4(matrix: Matrix4): Triangle { |
| this.a.applyMatrix4(matrix); |
| this.b.applyMatrix4(matrix); |
| this.c.applyMatrix4(matrix); |
| |
| return this; |
| } |
| |
| getNormal(): Vector3 { |
| var norm = this.a.clone(); |
| norm.sub(this.b); |
| v1.subVectors(this.c, this.b); |
| |
| norm.cross(v1); |
| norm.normalize(); |
| |
| return norm; |
| } |
| } |