Mirror Engine
V5
How To
Mirror Engine Logo

Mirror Engine API


Mirror Engine API / Tri

Class: Tri

A triangle.

Constructors

new Tri()

new Tri(
   v0?: Vec3,
   v1?: Vec3,
   v2?: Vec3): Tri

Creates a new Tri object.

Parameters

v0?

Vec3 = Vec3.ZERO

The first 3-dimensional vector.

v1?

Vec3 = Vec3.ZERO

The second 3-dimensional vector.

v2?

Vec3 = Vec3.ZERO

The third 3-dimensional vector.

Returns

Tri

Example

const v0 = new Vec3(1, 0, 0)
const v1 = new Vec3(0, 1, 0)
const v2 = new Vec3(2, 2, 1)
const t = new Tri(v0, v1, v2)

Properties

v0

readonly v0: Vec3;

The first 3-dimensional vector of the triangle.


v1

readonly v1: Vec3;

The second 3-dimensional vector of the triangle.


v2

readonly v2: Vec3;

The third 3-dimensional vector of the triangle.

Methods

intersectsRay()

intersectsRay(ray: Ray, point?: Vec3): boolean

Test if a ray intersects with the triangle.

Parameters

ray

Ray

Ray to test against (direction must be normalized).

point?

Vec3

If there is an intersection, the intersection point will be copied into here.

Returns

boolean

True if there is an intersection.


set()

set(
   v0: Vec3,
   v1: Vec3,
   v2: Vec3): Tri

Sets the specified triangle to the supplied 3-dimensional vectors.

Parameters

v0

Vec3

The value set on the first 3-dimensional vector of the triangle.

v1

Vec3

The value set on the second 3-dimensional vector of the triangle.

v2

Vec3

The value set on the third 3-dimensional vector of the triangle.

Returns

Tri

Self for chaining

Example

const t = new Tri(Vec3.UP, Vec3.RIGHT, Vec3.BACK)
const v0 = new Vec3(1, 0, 0)
const v1 = new Vec3(0, 1, 0)
const v2 = new Vec3(2, 2, 1)
t.set(v0, v1, v2)

// Outputs [[1, 0, 0], [0, 1, 0], [2, 2, 1]]
console.log('The result of the triangle set is: ' + t.toString())

toString()

toString(): string

Converts the specified triangle to string form.

Returns

string

The triangle in string form.

Example

const t = new Tri(Vec3.UP, Vec3.RIGHT, Vec3.BACK)
// Outputs [[0, 1, 0], [1, 0, 0], [0, 0, 1]]
console.log(t.toString())
Mirror Engine Logo