Wu, Awesome - thanks for the fix in r59108! That does indeed avoid the crash, but it looks like we still have some problems with the evaluation itself. I've uploaded a comparison image of r5: http://brlcad.org/~starseeker/r5_compare.png , with the above image being the CSG raytrace and the below image being a shaded view of the NURBS conversion (something's behaving funny with my raytracing results for NURBS right now, so until I get that fixed the shaded view is probably the better guide). The black lines in the latter are indications that we have extra surfaces present that should have been trimmed away, and there are some other indications of stray surfaces if you compare the two images.
If r5 is a bit complex as a test case, I've uploaded a file called brep_boolean_tests.g in src/librt/tests that has (among other things) a lot of basic planar test cases. Many succeed, but it appears that the coplanar cases are introducing a lot of problems (there may be other issues too as indicated by the more difficult and general arb8/arb8 cases, but when the only interaction is between coplanar surfaces there appear to be issues like incorrect normals on faces or incorrectly trimmed faces.) The boolean evaluation of polygonal loops in coplanar faces is actually the problem the program clipper solves: http://sourceforge.net/projects/polyclipping/ We already provide clipper in our src/other builds to support a libged command - if our current boolean logic is having problems with this case, perhaps it would be worth recognizing when we have this case and feeding it to clipper for evaluation? If our existing code is almost working of course it's better to fix that, but if it's not a case we are currently set up to handle... Thanks again Wu for your help! Cheers, CY On Thu, Dec 12, 2013 at 9:16 PM, Clifford Yapp <[email protected]> wrote: > Wu, > > If you have a second, could you take a look at the behavior of the > region r5 in the model share/db/m35.g when doing boolean evaluation > with the brep command? It's giving out a series of errors and then > crashing. I think part of the problem is if you make a comb of the > first two items in r5 (i.e. comb test.c u s5 - s6) and then convert > test.c to a brep, it's giving out a warning and generating what > appears to be a non-solid brep. Comparing that brep to the raytraced > csg comb, it looks like it's running into an issue with trimming > overlapping coplanar faces. Judging by the other warnings that follow > before the crash, I'm guessing it's accumulating non-solid geometry > until something really unexpected happens and it segfaults. > > Cheers, > CY ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk _______________________________________________ BRL-CAD Developer mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/brlcad-devel
