If we are adding non-static methods, then the whole "bundle" should probably be included for consistency. E.g. union, subtract, etc.
On Mon, 18 Jan 2021, 11:43 am Nir Lisker, <nlis...@gmail.com> wrote: > If this is to be implemented in JavaFX, then it's better to do (not > tested): > > 1. Extract the intersection computation from Shape.intersect > > private static Area intersectionArea(Shape shape1, Shape shape2) { > Area result = shape1.getTransformedArea(); > return result.intersect(shape2.getTransformedArea()); > } > > 2. Shape.intersect becomes > > public static Shape Shape.intersects(Shape shape1, Shape shape2) { > var intersectionArea = intersectionArea(Shape shape1, Shape shape2); > return createFromGeomShape(intersectionArea); > } > > 3. Add the new method Shape.intersects > > public static boolean Shape.intersects( Shape shape1, Shape shape2) { > var intersectionArea = intersectionArea(Shape shape1, Shape shape2); > return !intersectionArea.isEmpty(); > } > > Regardless, I wonder why the geometry methods were implemented as static > methods. Why not shape1.intersect(shape2)? I assume the new method should > follow these, but on a clean slate I think I would have used the non-static > approach. > > Another thing I would think about is whether it makes sense to just one > method or is it a part of a more comprehensive shape geometry bundle. Is > "intersects?" the only question we would like to ask? > > - Nir > > On Mon, Jan 18, 2021 at 12:12 PM Dirk Lemmermann <dlemmerm...@gmail.com> > wrote: > > > I just noticed that there is no „intuitive“ API to check whether two > > shapes intersect with each other. The only way (I think) to do it is as > > follows: > > > > Shape.intersect((Shape) child, circle).getBoundsInLocal().getWidth() != > -1 > > > > If this is indeed the case I would like to propose that a method shall be > > added called „boolean Shape.intersects(Shape,Shape"). > > > > See also: > > > https://stackoverflow.com/questions/15013913/checking-collision-of-shapes-with-javafx > > < > > > https://stackoverflow.com/questions/15013913/checking-collision-of-shapes-with-javafx > > > > > > > Dirk > > > > > > >