Class LinecastPoint3D

java.lang.Object
org.apache.commons.geometry.euclidean.AbstractLinecastPoint<Vector3D,Vector3D.Unit,Line3D>
org.apache.commons.geometry.euclidean.threed.line.LinecastPoint3D

public class LinecastPoint3D extends AbstractLinecastPoint<Vector3D,Vector3D.Unit,Line3D>
Class representing intersections resulting from linecast operations in Euclidean 3D space. This class contains the intersection point along with the boundary normal of the target at the point of intersection.
See Also:
  • Field Details

  • Constructor Details

    • LinecastPoint3D

      public LinecastPoint3D(Vector3D point, Vector3D normal, Line3D line)
      Construct a new instance from its components.
      Parameters:
      point - intersection point
      normal - normal of the target boundary at the intersection point
      line - intersecting line
  • Method Details

    • eq

      public boolean eq(LinecastPoint3D other, org.apache.commons.numbers.core.Precision.DoubleEquivalence precision)
      Return true if this instance should be considered equivalent to the argument, using the given precision context for comparison. Instances are considered equivalent if they have equivalent points, normals, and lines.
      Parameters:
      other - other point to compare with
      precision - context to use for the comparison
      Returns:
      true if this instance should be considered equivalent to the argument
    • sortAndFilter

      public static void sortAndFilter(List<LinecastPoint3D> pts)
      Sort the given list of linecast points by increasing abscissa value and filter to remove duplicate entries (as determined by the eq(LinecastPoint3D, Precision.DoubleEquivalence) method). The argument is modified.
      Parameters:
      pts - list of points to sort and filter
    • containsEq

      private static boolean containsEq(LinecastPoint3D pt, List<? extends LinecastPoint3D> list)
      Return true if the given linecast point is equivalent to any of those in the given list.
      Parameters:
      pt - point to test
      list - list to test against
      Returns:
      true if the given linecast point is equivalent to any of those in the given list