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

Luc Maisonobe commented on MATH-1117:
-------------------------------------

Yes, these constructors are used outside of their package. Typically, the 
constructor for polygons (in 2D) is called from the split method in SubPlane 
and also from an internal class in OutlineExtractor, both in the 3D package. As 
the methods have been public for a while, they may also be used from user code. 
The call from the split method is a very important one: it is used a very large 
number of times as part of building 3D BSP trees, and here the tree has been 
built using a complex algorithm to ensure it is correct, so we don't want to 
visit all its leafs to check it.

Thanks for the hint about the typos, I have fixed them now.

> twod.PolygonsSet.getSize produces NullPointerException if BSPTree has no nodes
> ------------------------------------------------------------------------------
>
>                 Key: MATH-1117
>                 URL: https://issues.apache.org/jira/browse/MATH-1117
>             Project: Commons Math
>          Issue Type: Bug
>    Affects Versions: 3.2
>         Environment: Mac OS 10.9, Java 6, 7
>            Reporter: Cyrille Artho
>             Fix For: 3.3
>
>         Attachments: Report3.java, Report3_1.java
>
>
> org.apache.commons.math3.geometry.euclidean.twod.PolygonsSet.getSize() uses a 
> tree internally:
> final BSPTree<Euclidean2D> tree = getTree(false);
> However, if that tree contains no data, it seems that the reference returned 
> is null, which causes a subsequent NullPointerException.
> Probably an exception with a message ("tree has no data") would clarify that 
> this is an API usage error.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to