Interface Project<P extends Point<P>>

Type Parameters:
P - the point type (2d or 3d)
All Known Subinterfaces:
LineSegment<P,D>, PolyLine<L,P,R,D,LS>, Ray<R,D,P>
All Known Implementing Classes:
LineSegment2d, LineSegment3d, Polygon2d, Polygon3d, PolyLine2d, PolyLine3d, Ray2d, Ray3d

public interface Project<P extends Point<P>>
Project.java.

Copyright (c) 2021-2024 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See DJUTILS License.

Author:
Alexander Verbraeck, Peter Knoppers
  • Method Details

    • projectOrthogonal

      P projectOrthogonal(P point) throws NullPointerException
      Project a point onto this object. For PolyLines and Polygons, there may be multiple valid solutions. In that case the solution that lies on the closest segment is returned. If there is no valid solution on the closest segment, null is returned.
      Parameters:
      point - P; the point
      Returns:
      P; the projection of the point (may be null if no sensible projection is possible). If the result is not null; the result lies somewhere on this object.
      Throws:
      NullPointerException - when point is null;
    • projectOrthogonalExtended

      P projectOrthogonalExtended(P point) throws NullPointerException
      Project a point onto this object. For PolyLines and Polygons, there may be multiple valid solutions. In that case the solution that lies on the closest segment is returned.
      Parameters:
      point - P; the point
      Returns:
      P; the projection of the point. This result cannot be null, but it may not lie on this object, but, in stead, lie on a line, or plane that extends this object
      Throws:
      NullPointerException - when point is null;
    • projectOrthogonalFractional

      double projectOrthogonalFractional(P point) throws NullPointerException
      Project a point onto this object. For PolyLines and Polygons, there may be multiple valid solutions. In that case the solution that lies on the closest segment is returned. If there is no valid solution on the closest segment, NaN is returned.
      Parameters:
      point - P; the point
      Returns:
      double; the fractional position of the projection of the point (may be NaN if no sensible projection is possible). If the result is not NaN; the result lies somewhere on this object.
      Throws:
      NullPointerException - when point is null;
    • projectOrthogonalFractionalExtended

      double projectOrthogonalFractionalExtended(P point) throws NullPointerException
      Project a point onto this object. For PolyLines and Polygons, there may be multiple valid solutions. In that case the solution that lies on the closest segment is returned.
      Parameters:
      point - P; the point
      Returns:
      double; the fractional position of the projection of the point. This result cannot be NaN, but it may be outside the range 0.0 .. 1.0.
      Throws:
      NullPointerException - when point is null;