[jira] [Commented] (GEOMETRY-32) BSPTree Updates

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[jira] [Commented] (GEOMETRY-32) BSPTree Updates

ASF GitHub Bot (Jira)

    [ https://issues.apache.org/jira/browse/GEOMETRY-32?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16931256#comment-16931256 ]

Gilles commented on GEOMETRY-32:

bq. We would expect the inside of the reflected region to be simply the second quadrant, but since the orientation of the bounding lines is significant, the inside of the region is now actually all quadrants except for the second.

My impression is that what we "intuitively" expect contradicts what is "naturally" provided by the framework.
From the above, I'd feel that the clean way out of the contradiction is to _change the orientation of the bounding lines_ rather than _flip the interior/exterior_.
I get that the result would be the same when the POV is on the intuitive meaning of the transforms being discussed here, but I wonder if the decoupling of transformation and orientation would not lead to a better design (and ultimately more flexibility?).

> BSPTree Updates
> ---------------
>                 Key: GEOMETRY-32
>                 URL: https://issues.apache.org/jira/browse/GEOMETRY-32
>             Project: Apache Commons Geometry
>          Issue Type: Improvement
>          Components: core
>            Reporter: Matt Juntunen
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 20m
>  Remaining Estimate: 0h
> The following updates should be made to the BSPTree class:
> - add an {{isLeaf()}} method to replace all of the {{node.getCut() == null}} expressions
> - add unit tests
> _Edit [2019-02-17]:_
> Additional goals:
> - Refactor the API to split the idea of a general BSPTree and a BSPTree used for defining in/out regions. This could result in a BSPTree interface and a RegionBSPTree interface. The goal here is to allow end-users to create their own extensions of these classes and specialize them for their own applications (for example, to implement spatial sorting or other algorithms). This will be one of the only planned extension points in the library.
> - Make the API easier to use and extend and reduce the necessity of casting (especially unchecked casting) as much as possible.
> - Add the idea of convex subhyperplanes to allow for more efficient tree construction.

This message was sent by Atlassian Jira