sample( targetPosition, targetNormal, targetColor, targetUV ) {

		const faceIndex = this._sampleFaceIndex();
		return this._sampleFace( faceIndex, targetPosition, targetNormal, targetColor, targetUV );

	}
Selects a random point on the surface of the input geometry, returning the
position and optionally the normal vector, color and UV Coordinate at that point.
Time complexity is O(log n) for a surface with n faces.

@param {Vector3} targetPosition - The target object holding the sampled position.
@param {Vector3} targetNormal - The target object holding the sampled normal.
@param {Color} targetColor - The target object holding the sampled color.
@param {Vector2} targetUV -  The target object holding the sampled uv coordinates.
@return {MeshSurfaceSampler} A reference to this sampler.