Triangle

A geometric triangle as defined by three Vector3s representing its three corners.

Constructor

Triangle(a : Vector3, b : Vector3, c : Vector3)

a - the first corner of the triangle. Default is a Vector3 at (0, 0, 0).
b - the second corner of the triangle. Default is a Vector3 at (0, 0, 0).
c - the final corner of the triangle. Default is a Vector3 at (0, 0, 0).

Creates a new Triangle.

Properties

.a : Vector3

The first corner of the triangle. Default is a Vector3 at (0, 0, 0).

.b : Vector3

The second corner of the triangle. Default is a Vector3 at (0, 0, 0).

.c : Vector3

The final corner of the triangle. Default is a Vector3 at (0, 0, 0).

Methods

.clone () : Triangle

Returns a new triangle with the same a, b and c properties as this one.

.closestPointToPoint (point : Vector3, target : Vector3) : Vector3

point - Vector3
target — the result will be copied into this Vector3.

Returns the closest point on the triangle to point.

.containsPoint (point : Vector3) : Boolean

point - Vector3 to check.

Returns true if the passed point, when projected onto the plane of the triangle, lies within the triangle.

.copy (triangle : Triangle) : this

Copies the values of the passed triangles's a, b and c properties to this triangle.

.equals (triangle : Triangle) : Boolean

Returns true if the two triangles have identical a, b and c properties.

.getArea () : Float

Return the area of the triangle.

.getBarycoord (point : Vector3, target : Vector3) : Vector3

point - Vector3
target — the result will be copied into this Vector3.

Return a barycentric coordinate from the given vector.

Picture of barycentric coordinates

.getMidpoint (target : Vector3) : Vector3

target — the result will be copied into this Vector3.

Calculate the midpoint of the triangle.

.getNormal (target : Vector3) : Vector3

target — the result will be copied into this Vector3.

Calculate the normal vector of the triangle.

.getPlane (target : Plane) : Plane

target — the result will be copied into this Plane.

Calculate a plane based on the triangle. .

.getUV (point : Vector3, uv1 : Vector2, uv2 : Vector2, uv3 : Vector2, target : Vector2) : Vector2

point - The point on the triangle.
uv1 - The uv coordinate of the triangle's first vertex.
uv2 - The uv coordinate of the triangle's second vertex.
uv3 - The uv coordinate of the triangle's third vertex.
target — the result will be copied into this Vector2.

Returns the uv coordinates for the given point on the triangle.

.intersectsBox (box : Box3) : Boolean

box - Box to check for intersection against.

Determines whether or not this triangle intersects box.

.isFrontFacing (direction : Vector3) : Boolean

direction - The direction to test.

Whether the triangle is oriented towards the given direction or not.

.set (a : Vector3, b : Vector3, c : Vector3) : this this : Triangle

Sets the triangle's a, b and c properties to the passed vector3s.
Please note that this method only copies the values from the given objects.

.setFromAttributeAndIndices (attribute : BufferAttribute, i0 : Integer, i1 : Integer, i2 : Integer) : this this : Triangle

attribute - BufferAttribute of vertex data
i0 - Integer index
i1 - Integer index
i2 - Integer index

Sets the triangle's vertices from the buffer attribute vertex data.

.setFromPointsAndIndices (points : Array, i0 : Integer, i1 : Integer, i2 : Integer) : this this : Triangle

points - Array of Vector3s
i0 - Integer index
i1 - Integer index
i2 - Integer index

Sets the triangle's vectors to the vectors in the array.

Source

For more info on how to obtain the source code of this module see this page.