# Class Polygon

Utility functions for working with polygons, lines, and other vector math.

All functions which accepts Vector3s but work in 2D space uses the XZ space if nothing else is said.

### Version

A lot of functions in this class have been moved to the VectorMath class the names have changed slightly and everything now consistently assumes a left handed coordinate system now instead of sometimes using a left handed one and sometimes using a right handed one. This is why the 'Left' methods redirect to methods named 'Right'. The functionality is exactly the same.

## Public Static Methods

Closest point on the triangle **abc** to the point **p**.

Closest point on the triangle **abc** to the point **p**.

Closest point on the triangle **abc** to the point **p** when seen from above.

Compress the mesh by removing duplicate vertices.

Checks if **p** is inside the polygon.

Checks if **p** is inside the polygon (XZ space)

Returns if the triangle **ABC** contains the point **p**.

Returns if the triangle **ABC** contains the point **p**.

Returns if the triangle **ABC** contains the point **p** in XZ space.

Checks if **p** is inside the polygon (XZ space).

Returns if the triangle **ABC** contains the point **p**.

Returns if the triangle **ABC** contains the point **p** in XZ space.

Calculates convex hull in XZ space for the points.

Returns if the line segment **a2** - **b2** intersects the infinite line **a** - **b**.

Sample Y coordinate of the triangle (p1, p2, p3) at the point p in XZ space.

Divides each segment in the list into **subSegments** segments and fills the result list with the new points.

Given a set of edges between vertices, follows those edges and returns them as chains and cycles.

Signed area of a triangle in the XZ plane multiplied by 2.

Signed area of a triangle in the XZ plane multiplied by 2.

Signed area of a triangle in the XZ plane multiplied by 2.

Signed area of a triangle in the XZ plane multiplied by 2.

## Private/Protected Members

Cached dictionary to avoid excessive allocations.

## Deprecated Members

Returns the closest point on the triangle.

Calculates convex hull in XZ space for the points.

Get the 3D minimum distance between 2 segments Input: two 3D line segments S1 and S2.

Returns the intersection factor for line 1 with line 2.

Returns the intersection factors for line 1 and line 2.

Returns the intersection factors for line 1 and line 2.

Returns the intersection factor for line 1 with ray 2.

Returns if the ray (start1, end1) intersects the segment (start2, end2).

Returns the intersection point between the two lines.

Returns the intersection point between the two lines.

Returns the intersection point between the two lines.

Returns the intersection point between the two lines.

Intersection point between two infinite lines.

Intersection point between two infinite lines.

Returns if the line segment **a2** - **b2** intersects the line segment **a** - **b**.

Returns if the two line segments intersects.

Returns if the line segment **a2** - **b2** intersects the line segment **a** - **b**.

Returns if the points a in a clockwise order.

Returns if the points a in a clockwise order.

Returns true if the points a in a clockwise order or if they are colinear.

Returns if the points a in a clockwise order.

Returns true if the points a in a clockwise order or if they are colinear.

Returns if the points are colinear (lie on a straight line)

Returns if the points are colinear (lie on a straight line)

Returns if the points are colinear (lie on a straight line)

Returns if **p** lies on the left side of the line **a** - **b**.

Returns if **p** lies on the left side of the line **a** - **b**.

Returns if **p** lies on the left side of the line **a** - **b**.

Returns if **p** lies on the left side of the line **a** - **b**.

Returns if **p** lies on the left side of the line **a** - **b**.

Returns if **p** lies on the left side of the line **a** - **b**.

Does the line segment intersect the bounding box.

Returns the intersection point between the two line segments in XZ space.