[ https://issues.apache.org/jira/browse/MATH-780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13259080#comment-13259080 ]
Luc Maisonobe commented on MATH-780: ------------------------------------ Thanks for the new version. I was able to reproduce the problem. However, I don't understand what you are trying to achieve here. In the double loop that creates the 2D SubLine instances, I have added some print statement to see the indices and the start and end points of the built lines. Here is the output I get: {noformat} idxA = 0, idxB = 2, idxC = 4 adding SubLine: {1; -1} {-1; 1} adding SubLine: {-1; 1} {-1; 1} adding SubLine: {-1; 1} {1; -1} idxA = 2, idxB = 4, idxC = 6 adding SubLine: {-1; 1} {-1; 1} adding SubLine: {-1; 1} {-1; -1} adding SubLine: {-1; -1} {-1; 1} idxA = 8, idxB = 14, idxC = 12 adding SubLine: {1; -1} {-1; 1} adding SubLine: {-1; 1} {1; 1} adding SubLine: {1; 1} {1; -1} idxA = 14, idxB = 12, idxC = 10 adding SubLine: {-1; 1} {1; 1} adding SubLine: {1; 1} {-1; -1} adding SubLine: {-1; -1} {-1; 1} idxA = 0, idxB = 8, idxC = 10 adding SubLine: {1; -1} {1; -1} adding SubLine: {1; -1} {-1; -1} adding SubLine: {-1; -1} {1; -1} idxA = 8, idxB = 10, idxC = 2 adding SubLine: {1; -1} {-1; -1} adding SubLine: {-1; -1} {-1; 1} adding SubLine: {-1; 1} {1; -1} idxA = 2, idxB = 10, idxC = 12 adding SubLine: {-1; 1} {-1; -1} adding SubLine: {-1; -1} {1; 1} adding SubLine: {1; 1} {-1; 1} idxA = 10, idxB = 12, idxC = 4 adding SubLine: {-1; -1} {1; 1} adding SubLine: {1; 1} {-1; 1} adding SubLine: {-1; 1} {-1; -1} idxA = 4, idxB = 12, idxC = 14 adding SubLine: {-1; 1} {1; 1} adding SubLine: {1; 1} {-1; 1} adding SubLine: {-1; 1} {-1; 1} idxA = 12, idxB = 14, idxC = 6 adding SubLine: {1; 1} {-1; 1} adding SubLine: {-1; 1} {-1; -1} adding SubLine: {-1; -1} {1; 1} idxA = 8, idxB = 0, idxC = 6 adding SubLine: {1; -1} {1; -1} adding SubLine: {1; -1} {-1; -1} adding SubLine: {-1; -1} {1; -1} idxA = 0, idxB = 6, idxC = 14 adding SubLine: {1; -1} {-1; -1} adding SubLine: {-1; -1} {-1; 1} adding SubLine: {-1; 1} {1; -1} lines.size() = 36 {noformat} Once the 36 sublines have been created, one polygon is created from them. It seems for each indices triplets, 3 lines are created representing a semi-infinite stripe. As they are all packed togeteher before building the single polygon, I guess the algorithm gets lots in all redundant boundary lines. Are you sure the inner loop should build only 3 Subline instance and not 4, and are you sure only one polygon should be built from all these lines ? > BSPTree class and recovery of a Euclidean 3D BRep > ------------------------------------------------- > > Key: MATH-780 > URL: https://issues.apache.org/jira/browse/MATH-780 > Project: Commons Math > Issue Type: Bug > Affects Versions: 3.0 > Environment: Linux > Reporter: Andrew Willis > Labels: BSPTree, euclidean.threed > Attachments: BSPMesh2.java, BSPMesh2.java, BSPMesh2.java > > > New to the work here. Thanks for your efforts on this code. > I create a BSPTree from a BoundaryRep (Brep) my test Brep is a cube as > represented by a float array containing 8 3D points in(x,y,z) order and an > array of indices (12 triplets for the 12 faces of the cube). I construct a > BSPMesh() as shown in the code below. I can construct the PolyhedronsSet() > but have problems extracting the faces from the BSPTree to reconstruct the > BRep. The attached code (BSPMesh2.java) shows that a small change to 1 of the > vertex positions causes/corrects the problem. > Any ideas? -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira