GeometryHullTool { public static boolean edgesIntersect(final Edge e1, final Edge e2) { return CGAlgorithms.distanceLineLine(e1.start, e1.end, e2.start, e2.end) <= 0.0; }  void connect(final List<Geometry> geometries); DistanceFn<Coordinate> getDistanceFnForCoordinate(); void setDistanceFnForCoordinate(final DistanceFn<Coordinate> distanceFnForCoordinate); Geometry createHullFromGeometry(
      final Geometry clusterGeometry,
      final Collection<Coordinate> additionalPoints,
      final boolean fast); Geometry concaveHullParkOhMethod(
      final Geometry geometry,
      final Collection<Coordinate> providedInnerPoints); Geometry concaveHull(
      final Geometry geometry,
      final Collection<Coordinate> providedInnerPoints); static boolean intersectAnotherEdge(final Edge newEdge, final Edge edgeToReplace); static boolean edgesIntersect(final Edge e1, final Edge e2); Geometry connect(final Geometry shape1, final Geometry shape2); static boolean clockwise(final Coordinate[] set); static double calcSmallestAngle(
      final Coordinate one,
      final Coordinate vertex,
      final Coordinate two); static double calcAngle(
      final Coordinate one,
      final Coordinate vertex,
      final Coordinate two); static double[] calcDistanceSegment(
      final Coordinate start,
      final Coordinate end,
      final Coordinate point); static double calcDistance(
      final Coordinate start,
      final Coordinate end,
      final Coordinate point); static Pair<Integer, Integer> getClosestPoints(
      final Geometry shape1,
      final Geometry shape2,
      final DistanceFn<Coordinate> distanceFnForCoordinate);  }
@Test public void interesectEdges() { final GeometryHullTool.Edge e1 = new GeometryHullTool.Edge(new Coordinate(20.0, 20.0), new Coordinate(21.5, 21), 0); final GeometryHullTool.Edge e2 = new GeometryHullTool.Edge(new Coordinate(20.4, 19.0), new Coordinate(21.0, 22), 0); assertTrue(GeometryHullTool.edgesIntersect(e1, e2)); final GeometryHullTool.Edge e3 = new GeometryHullTool.Edge(new Coordinate(20.4, 19.0), new Coordinate(21.0, 19.5), 0); assertTrue(!GeometryHullTool.edgesIntersect(e1, e3)); }