closestPointOnBoundary MethodStatic

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

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.edgeIndex and d.edgeParam specify the location of the closest point.
  • 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.
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.edgeIndex and d.edgeParam specify the location of the closest point.
  • 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: 17 May, 2024