[jira] [Commented] (GEOMETRY-23) Remove Euclidean Point Classes

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

[jira] [Commented] (GEOMETRY-23) Remove Euclidean Point Classes

JIRA jira@apache.org

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

Matt Juntunen commented on GEOMETRY-23:
---------------------------------------

I am positive that our primary vector/point classes should use Cartesian coordinates as a matter of convention. Other coordinate systems should be (and currently are) supported but any coordinate conversions should be explicitly called out in the API. I don't see any practical benefit to creating another layer of abstraction here.

> Remove Euclidean Point Classes
> ------------------------------
>
>                 Key: GEOMETRY-23
>                 URL: https://issues.apache.org/jira/browse/GEOMETRY-23
>             Project: Apache Commons Geometry
>          Issue Type: Improvement
>            Reporter: Matt Juntunen
>            Priority: Major
>              Labels: pull-request-available
>
> Based on discussion of the current Point/Vector API in GEOMETRY-14 and research into other geometric libraries, I think we should remove the Euclidean Point?D classes and make Vector?D also implement Point. This will end up being similar to the previous commons-math design but avoids the issue raised in MATH-1284 since the Point and Vector interfaces are not related. They just happen to be implemented by the same class, which we're calling Vector?D since a vector can be used to indicate a point (by adding it to the origin).
> In the course of trying this out this design, I ended up removing 7 classes and simplifying several methods. I think that's a good indicator that this is a good design choice.
>  
> Pull request: https://github.com/apache/commons-geometry/pull/15



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)