Hello. I just submitted a PR with some large API changes in the subhyperplane classes and I'd like to see if anyone has any feedback. The PR is here: https://github.com/apache/commons-geometry/pull/75. The changes are detailed in the issues GEOMETRY-92 and GEOMETRY-93 but, in short, they make improvements to the subhyperplane and line class hierarchies. For example, here is how to create a 2D ray in the previous code:
Segment ray = Segment.fromPointAndDirection(p1, dir, precision); The class of the created object is "Segment", which clearly doesn't match the concept of a ray at all. Here is the new form: Ray ray = Ray.fromPointAndDirection(p1, dir, precision); The created object now has a much more correct, descriptive class name. Similar changes are made for lines in 3D. With the way the objects are now structured, I also noticed (via jmh gc profiling) a significant reduction in the memory required for subhyperplane operations in 2D and 3D. The 2D convex subhyperplanes no longer need references to 1D subspaces, considerably reducing the number of objects needed for the representation. Regards, Matt