closestPointOnBoundary MethodStatic

Compute the closest point on the polygon boundary to the given point.

closestPointOnBoundary(polygon: Point3d[] | IndexedXYZCollection, testPoint: Point3d, tolerance: number = Geometry.smallMetricDistance, result?: PolygonLocationDetail): PolygonLocationDetail

Parameter Type Description
polygon Point3d[] | IndexedXYZCollection 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.edgeIndex and d.edgeParam specify the location of the closest point, within distTol.
  • d.code classifies the closest point as a vertex (PolygonLocation.OnPolygonVertex) or as a point on an edge (PolygonLocation.OnPolygonEdgeInterior).
  • d.a is the distance from testPoint to the closest point.
  • d.v can be used to classify p (if p and polygon are coplanar): if n is the polygon normal then d.v.dotProduct(n) is +/-/0 if and only if p is inside/outside/on the polygon.

Defined in

Last Updated: 20 June, 2023