Interface PointToSurfaceDistanceVisitor

All Superinterfaces:
KdTreeVisitor
All Known Implementing Classes:
ClosestMeshVerticesImpl, ClosestSurfacePointsImpl

public interface PointToSurfaceDistanceVisitor extends KdTreeVisitor
Classes implementing this interface can compute minimal distance between a 3D point (set in a constructor) to a mesh facets.

The distance computation can be either absolute or relative. Absolute means that the Euclidean distance between 3D points in space is used. Because only positive distances are taken into calculation, then the minimum distance is the smallest found distance.

Relative distance also takes the normal vector of the 3D point into account. If the "measured" point is located in the half space of the normal direction, then the distance is positive. Otherwise, the distance is negative. The minimum distance is a value "closest to zero".

  • Method Details

    • getDistance

      double getDistance()
      Returns the minimal found distance between a 3D point (set in a constructor) and visited mesh facets.
      Returns:
      the minimal found distance, Double.POSITIVE_INFINITY if no distance has been computed so far
    • getNearestPoints

      Map<MeshFacet,List<MeshPoint>> getNearestPoints()
      Returns the closest mesh facets and their closest points. As there can be more point in the same (smallest) distance, the method returns a list instead of a single point. Similarly, as the closest point(s) can belong to multiple facets, a map of facet is returned instead of a single facet.
      Returns:
      closest mesh facets and their closest points.