Revision: 68869 http://sourceforge.net/p/brlcad/code/68869 Author: brlcad Date: 2016-09-20 22:38:27 +0000 (Tue, 20 Sep 2016) Log Message: ----------- include a high-level introduction to the overall approach being taken which affords an opportunity to introduce opennurbs, libbrep, and a few other details.
Modified Paths: -------------- brlcad/branches/brep-debug/doc/docbook/system/implementation/en/bool_eval_development.xml Modified: brlcad/branches/brep-debug/doc/docbook/system/implementation/en/bool_eval_development.xml =================================================================== --- brlcad/branches/brep-debug/doc/docbook/system/implementation/en/bool_eval_development.xml 2016-09-20 21:27:16 UTC (rev 68868) +++ brlcad/branches/brep-debug/doc/docbook/system/implementation/en/bool_eval_development.xml 2016-09-20 22:38:27 UTC (rev 68869) @@ -143,9 +143,40 @@ </caption> </figure> <section> - <title>Major Algorithms</title> + <title>Technical Approach</title> <section> <para> + The technical approach used for evaluating Boolean + operations on NURBS entities involves calculating geometric + intersections, trimming surfaces accordingly, and stitching + together a resulting object. Boundary representation (BREP) + NURBS objects are composed of faces, edges, and vertices; + and these topologically describe how surfaces, curves, and + points are joined together to represent geometry. The + geometry is used to find intersections. The topology is + used in the application of Boolean logic. This is + oversimplified as there are also trimming curves, loops, + orientations, and other details involved, but this is + nonetheless a useful foundation for understanding the basic + approach employed. + </para> + <para> + BRL-CAD heavily integrates and extends the OpenNURBS Toolkit + by Robert McNeel & Associates, developers of the + proprietary Rhinoceros freeform NURBS modeling software. + BRL-CAD heavily uses OpenNURBS for trimmed NURBS geometry + representation (both in-memory and on-disk) and implements + functionality not included with OpenNURBS such as ray + tracing and Boolean evaluation. <footnote><para>While their + license is permissive, the OpenNURBS Toolkit is only + intended for and McNeel only supports it being using for + reading and writing 3DM files.</para></footnote> Additional + functionality implemented for BRL-CAD is primarily contained + within the boundary representation and ray trace libraries + (LIBBREP and LIBRT). + </para> + + <para> The overall NURBS Boolean Evaluation algorithm is based on the paper <emphasis>BOOLE: A System to Compute Boolean Combinations of Sculptured Solids.</emphasis> (S. Krishnan @@ -157,10 +188,10 @@ The NURBS surface-surface intersection algorithm is based on the "NURBS Intersection Curve Evaluation" section of the paper <emphasis>Performing Efficient NURBS Modeling - Operations on the GPU</emphasis> (A. Krishnamurthy et - al., 2008). A detailed outline of the algorithm, as - implemented, appears in the main implementation file for the - NURBS Surface-Surface intersection algorithm, + Operations on the GPU</emphasis> (A. Krishnamurthy et al., + 2008). A detailed outline of the algorithm, as implemented, + appears in the main implementation file for the NURBS + Surface-Surface intersection algorithm, <filename>src/libbrep/intersection.cpp</filename>. </para> </section> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ _______________________________________________ BRL-CAD Source Commits mailing list brlcad-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/brlcad-commits