# FaceMeshDetectorOptions.Builder

public static class **FaceMeshDetectorOptions.Builder** extends [Object](https://developer.android.com/reference/java/lang/Object.html)  
Builder class of `https://developers.google.com/android/reference/com/google/mlkit/vision/facemesh/FaceMeshDetectorOptions`.

### Public Constructor Summary

|---|---|
|   | [Builder](https://developers.google.com/android/reference/com/google/mlkit/vision/facemesh/FaceMeshDetectorOptions.Builder#Builder())() Creates a new builder to build `https://developers.google.com/android/reference/com/google/mlkit/vision/facemesh/FaceMeshDetectorOptions`. |

### Public Method Summary

|---|---|
| [FaceMeshDetectorOptions](https://developers.google.com/android/reference/com/google/mlkit/vision/facemesh/FaceMeshDetectorOptions) | [build](https://developers.google.com/android/reference/com/google/mlkit/vision/facemesh/FaceMeshDetectorOptions.Builder#build())() Builds a face mesh detector instance. |
| [FaceMeshDetectorOptions.Builder](https://developers.google.com/android/reference/com/google/mlkit/vision/facemesh/FaceMeshDetectorOptions.Builder) | [setExecutor](https://developers.google.com/android/reference/com/google/mlkit/vision/facemesh/FaceMeshDetectorOptions.Builder#setExecutor(java.util.concurrent.Executor))([Executor](https://developer.android.com/reference/java/util/concurrent/Executor.html) executor) Sets the custom `https://developer.android.com/reference/java/util/concurrent/Executor.html` to use. |
| [FaceMeshDetectorOptions.Builder](https://developers.google.com/android/reference/com/google/mlkit/vision/facemesh/FaceMeshDetectorOptions.Builder) | [setUseCase](https://developers.google.com/android/reference/com/google/mlkit/vision/facemesh/FaceMeshDetectorOptions.Builder#setUseCase(int))(int useCase) Sets the use case. |

### Inherited Method Summary

From class java.lang.Object

|---|---|
| [Object](https://developer.android.com/reference/java/lang/Object.html) | clone() |
| boolean | equals([Object](https://developer.android.com/reference/java/lang/Object.html) arg0) |
| void | finalize() |
| final [Class](https://developer.android.com/reference/java/lang/Class.html)\<?\> | getClass() |
| int | hashCode() |
| final void | notify() |
| final void | notifyAll() |
| [String](https://developer.android.com/reference/java/lang/String.html) | toString() |
| final void | wait(long arg0, int arg1) |
| final void | wait(long arg0) |
| final void | wait() |

## Public Constructors

#### public **Builder** ()

Creates a new builder to build `https://developers.google.com/android/reference/com/google/mlkit/vision/facemesh/FaceMeshDetectorOptions`.

## Public Methods

#### public [FaceMeshDetectorOptions](https://developers.google.com/android/reference/com/google/mlkit/vision/facemesh/FaceMeshDetectorOptions)
**build** ()

Builds a face mesh detector instance.

#### public [FaceMeshDetectorOptions.Builder](https://developers.google.com/android/reference/com/google/mlkit/vision/facemesh/FaceMeshDetectorOptions.Builder)
**setExecutor** ([Executor](https://developer.android.com/reference/java/util/concurrent/Executor.html) executor)

Sets the custom `https://developer.android.com/reference/java/util/concurrent/Executor.html`
to use. If no `https://developer.android.com/reference/java/util/concurrent/Executor.html`
is set, an internal background thread pool will be used.

Most clients should not need to call this method.

##### Parameters

| executor | the `https://developer.android.com/reference/java/util/concurrent/Executor.html` to use |
|---|---|

##### Returns

- this object, for chaining method calls

#### public [FaceMeshDetectorOptions.Builder](https://developers.google.com/android/reference/com/google/mlkit/vision/facemesh/FaceMeshDetectorOptions.Builder)
**setUseCase** (int useCase)

Sets the use case. By default it is `https://developers.google.com/android/reference/com/google/mlkit/vision/facemesh/FaceMeshDetectorOptions#FACE_MESH`.

When `https://developers.google.com/android/reference/com/google/mlkit/vision/facemesh/FaceMeshDetectorOptions#BOUNDING_BOX_ONLY` is selected, the returned
`https://developers.google.com/android/reference/com/google/mlkit/vision/facemesh/FaceMesh`
only contains bounding box.

When `https://developers.google.com/android/reference/com/google/mlkit/vision/facemesh/FaceMeshDetectorOptions#FACE_MESH` is selected, the returned `https://developers.google.com/android/reference/com/google/mlkit/vision/facemesh/FaceMesh`
contains bounding box as well as 468 `https://developers.google.com/android/reference/com/google/mlkit/vision/facemesh/FaceMeshPoint`
and triangle information. It detects at most 2 faces in this case and it is slower than
`https://developers.google.com/android/reference/com/google/mlkit/vision/facemesh/FaceMeshDetectorOptions#BOUNDING_BOX_ONLY`.

##### See Also

- `https://developers.google.com/android/reference/com/google/mlkit/vision/facemesh/FaceMesh#getBoundingBox()`
- `https://developers.google.com/android/reference/com/google/mlkit/vision/facemesh/FaceMesh#getAllPoints()`
- `https://developers.google.com/android/reference/com/google/mlkit/vision/facemesh/FaceMesh#getAllTriangles()`
- `https://developers.google.com/android/reference/com/google/mlkit/vision/facemesh/FaceMesh#getPoints(int)`