Class Polygon

Public

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.

Inner Types

Public Static Methods

ClosestPointOnTriangle (a, b, c, p)

Closest point on the triangle abc to the point p.

Closest point on the triangle abc to the point p as barycentric coordinates.

ClosestPointOnTriangleByRef (a, b, c, p, output)

Closest point on the triangle abc to the point p.

ClosestPointOnTriangleProjected (vi1, vi2, vi3, projection, point, closest, sqrDist, distAlongProjection)

Closest point on a triangle when one axis is scaled.

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

CompressMesh (vertices, triangles, tags, outVertices, outTriangles, outTags)

Compress the mesh by removing duplicate vertices.

...

ContainsPointXZ (..., p)

...

ConvexHullXZ (points)

Calculates convex hull in XZ space for the points.

Subdivide (points, result, subSegments)

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

TraceContours (outline, hasInEdge, results)

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

Private/Protected Members

cached_Int3_int_dict

Cached dictionary to avoid excessive allocations.

Private Static Readonly