Class ConvexHull2D

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private Segment[] lineSegments
      Line segments of the hull.
      private static long serialVersionUID
      Serializable UID.
      private double tolerance
      Tolerance threshold used during creation of the hull vertices.
      private Vector2D[] vertices
      Vertices of the hull.
    • Constructor Summary

      Constructors 
      Constructor Description
      ConvexHull2D​(Vector2D[] vertices, double tolerance)
      Simple constructor.
    • Field Detail

      • serialVersionUID

        private static final long serialVersionUID
        Serializable UID.
        See Also:
        Constant Field Values
      • vertices

        private final Vector2D[] vertices
        Vertices of the hull.
      • tolerance

        private final double tolerance
        Tolerance threshold used during creation of the hull vertices.
      • lineSegments

        private transient Segment[] lineSegments
        Line segments of the hull. The array is not serialized and will be created from the vertices on first access.
    • Constructor Detail

      • ConvexHull2D

        public ConvexHull2D​(Vector2D[] vertices,
                            double tolerance)
                     throws MathIllegalArgumentException
        Simple constructor.
        Parameters:
        vertices - the vertices of the convex hull, must be ordered
        tolerance - tolerance below which points are considered identical
        Throws:
        MathIllegalArgumentException - if the vertices do not form a convex hull
    • Method Detail

      • isConvex

        private boolean isConvex​(Vector2D[] hullVertices)
        Checks whether the given hull vertices form a convex hull.
        Parameters:
        hullVertices - the hull vertices
        Returns:
        true if the vertices form a convex hull, false otherwise
      • getLineSegments

        public Segment[] getLineSegments()
        Get the line segments of the convex hull, ordered.
        Returns:
        the line segments of the convex hull
      • retrieveLineSegments

        private Segment[] retrieveLineSegments()
        Retrieve the line segments from the cached array or create them if needed.
        Returns:
        the array of line segments