# [name]

Represents a section bounded by a specific amount of half-edges. The current implementation assumes that a face always consist of three edges.

## Import

[name] is an add-on, and must be imported explicitly. See [link:#manual/introduction/Installation Installation / Addons].

`import { Face } from 'three/addons/math/ConvexHull.js';`

## Constructor

### [name]()

Creates a new instance of [name].

## Properties

### [property:Vector3 normal]

The normal vector of the face. Default is a [page:Vector3] at (0, 0, 0).

### [property:Vector3 midpoint]

The midpoint or centroid of the face. Default is a [page:Vector3] at (0, 0, 0).

### [property:Float area]

The area of the face. Default is 0.

### [property:Float constant]

Signed distance from face to the origin. Default is 0.

### [property:VertexNode outside]

Reference to a vertex in a vertex list this face can see. Default is null.

### [property:Integer mark]

Marks if a face is visible or deleted. Default is 'Visible'.

### [property:HalfEdge edge]

Reference to the base edge of a face. To retrieve all edges, you can use the 'next' reference of the current edge. Default is null.

## Methods

### [method:Face create]( [param:VertexNode a], [param:VertexNode b], [param:VertexNode c] )

[page:VertexNode a] - First vertex of the face.
[page:VertexNode b] - Second vertex of the face.
[page:VertexNode c] - Third vertex of the face.
Creates a face.

### [method:HalfEdge getEdge]( [param:Integer i] )

[page:Integer i] - The index of the edge.
Returns an edge by the given index.

### [method:this compute] ()

Computes all properties of the face.

### [method:Float distanceToPoint]( [param:Vector3 point] )

[page:Vector3 point] - Any point in 3D space.
Returns the signed distance from a given point to the plane representation of this face.

## Source

[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/math/ConvexHull.js examples/jsm/math/ConvexHull.js]