Engine API Reference - v2.23.0-beta.17
    Preparing search index...

    Class Tri

    A triangle defined by three Vec3 vectors.

    The vertices are v0, v1 and v2; the constructor and set copy the vectors they are given. intersectsRay tests a Ray whose direction is normalized against either face of the triangle and writes the hit point into an optional vector. It is the building block for precise picking against mesh geometry.

    const tri = new Tri(new Vec3(0, 0, 0), new Vec3(1, 0, 0), new Vec3(0, 1, 0));
    const hit = new Vec3();
    if (tri.intersectsRay(ray, hit)) {
    console.log(`Hit the triangle at ${hit}`);
    }
    Index
    • Creates a new Tri object.

      Parameters

      • Optionalv0: Vec3 = Vec3.ZERO

        The first 3-dimensional vector.

      • Optionalv1: Vec3 = Vec3.ZERO

        The second 3-dimensional vector.

      • Optionalv2: Vec3 = Vec3.ZERO

        The third 3-dimensional vector.

      Returns Tri

      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);
    v0: Vec3 = ...

    The first 3-dimensional vector of the triangle.

    v1: Vec3 = ...

    The second 3-dimensional vector of the triangle.

    v2: Vec3 = ...

    The third 3-dimensional vector of the triangle.

    • Test if a ray intersects with the triangle.

      Parameters

      • ray: Ray

        Ray to test against (direction must be normalized).

      • Optionalpoint: Vec3

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

      Returns boolean

      True if there is an intersection.

    • 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.

      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());
    • Converts the specified triangle to string form.

      Returns string

      The triangle in string form.

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