closestPointOnBoundary MethodStatic
Compute the closest point on the polygon boundary to the given point.
- Compare to closestPoint.
closestPointOnBoundary(polygon: IndexedXYZCollection | Point3d[], testPoint: Point3d, tolerance: numberGeometry.smallMetricDistance, result?: PolygonLocationDetail): PolygonLocationDetail
@returns details d of the closest point d.point:
d.isValid()returns true if and only if the polygon is nontrivial.d.edgeIndexandd.edgeParamspecify the location of the closest point.d.codeclassifies the closest point as a vertex (PolygonLocation.OnPolygonVertex) or as a point on an edge (PolygonLocation.OnPolygonEdgeInterior).d.ais the distance from testPoint to the closest point.d.vcan be used to classify p (if p and polygon are coplanar): if n is the polygon normal thend.v.dotProduct(n)is +/-/0 if and only if p is inside/outside/on the polygon.
| Parameter | Type | Description |
|---|---|---|
| polygon | IndexedXYZCollection | Point3d[] | points of the polygon, closure point optional |
| testPoint | Point3d | point p to project onto the polygon edges. Works best when p is in the plane of the polygon. |
| tolerance | number | optional distance tolerance to determine point-vertex and point-edge coincidence. |
| result | PolygonLocationDetail | optional pre-allocated object to fill and return |
Returns - PolygonLocationDetail
details d of the closest point d.point:
d.isValid()returns true if and only if the polygon is nontrivial.d.edgeIndexandd.edgeParamspecify the location of the closest point.d.codeclassifies the closest point as a vertex (PolygonLocation.OnPolygonVertex) or as a point on an edge (PolygonLocation.OnPolygonEdgeInterior).d.ais the distance from testPoint to the closest point.d.vcan be used to classify p (if p and polygon are coplanar): if n is the polygon normal thend.v.dotProduct(n)is +/-/0 if and only if p is inside/outside/on the polygon.
Defined in
- geometry3d/PolygonOps.ts Line 927
Last Updated: 24 June, 2025
Found something wrong, missing, or unclear on this page? Raise an issue in our repo.