# 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) : Triangle

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

### # .intersectsBox (box : Box3) : Boolean

box - Box to check for intersection against.

Determines whether or not this triangle intersects box.

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

Sets the triangle's a, b and c properties to the passed vector3s.

### # .setFromPointsAndIndices (points : Array, i0 : Integer, i1 : Integer, i2 : Integer) : Triangle 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.