Revision: 68877
          http://sourceforge.net/p/brlcad/code/68877
Author:   brlcad
Date:     2016-09-21 14:39:39 +0000 (Wed, 21 Sep 2016)
Log Message:
-----------
add an abstract paragraph to the introduction, go with lowercase evaluation, 
and remove reference to the branch as there is near-term merge intent

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-21 14:16:01 UTC (rev 68876)
+++ 
brlcad/branches/brep-debug/doc/docbook/system/implementation/en/bool_eval_development.xml
   2016-09-21 14:39:39 UTC (rev 68877)
@@ -13,22 +13,29 @@
   <section>
     <title>Introduction</title>
     <para>
-      This document is intended to be a practical resource for
-      software developers making changes to BRL-CAD's NURBS Boolean
-      Evaluation implementation.
+      This document provides a technical overview of BRL-CAD's
+      Non-Uniform Rational Basis Spline (NURBS) Boolean evaluation
+      implementation.  It includes details on user command line
+      functionality, an overview of the algorithms and source code
+      implementation, details on developer debugging facilities, and
+      an overview of the debugging process (with a real example).
+      This is intended to be a practical resource for software
+      developers wanting improve BRL-CAD's NURBS Boolean evaluation
+      implementation.
     </para>
     <para>
-      It is assumed that the reader is familiar with software
-      development and the BRL-CAD software package, including how to
-      acquire, modify, and rebuild the BRL-CAD source code, and how to
-      run its applications with a debugging program. It is also
-      assumed that the reader has a basic understanding of concepts
-      from geometry such as surface normal vectors, parametric
-      functions, and NURBS used as a boundary representation (B-Rep).
+      It is assumed that the reader has rudimentary familiarity with
+      C/C++ software development and the BRL-CAD software package.
+      This includes how to acquire, modify, and rebuild the BRL-CAD
+      source code, and how to run and debug C/C++ applications. It is
+      also assumed that the reader has a some understanding of
+      concepts from 3D geometry such as surface normal vectors,
+      parametric functions, boundary representation (B-Rep) geometry,
+      and trimmed NURBS.
     </para>
     <para>
       Section 2 of this document briefly describes NURBS Boolean
-      Evaluation in BRL-CAD from a user perspective.
+      evaluation in BRL-CAD from a user perspective.
     </para>
     <para>
       Section 3 outlines the major algorithms being used and the files
@@ -182,11 +189,11 @@
         </para>
 
         <para>
-          The overall NURBS Boolean Evaluation algorithm is based on
+          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
           et al., 1995). The main implementation file for the Boolean
-          Evaluation algorithm is
+          evaluation algorithm is
           <filename>boolean.cpp</filename>.
         </para>
         <para>
@@ -434,7 +441,7 @@
           to have correctly implemented copy and assignment functions.
         </para>
        <para>
-         The NURBS Boolean Evaluation implementation generally
+         The NURBS Boolean evaluation implementation generally
          employs a combined array of known size to index elements
          from two input objects. For example, if
          <parameter>brepA</parameter> has
@@ -473,7 +480,7 @@
         <para>
           Curves and surfaces are nearly always allocated on the heap
           and referenced by pointers, both in the OpenNURBS library,
-          and in the NURBS Boolean Evaluation implementation.
+          and in the NURBS Boolean evaluation implementation.
         </para>
         <para>
           Mostly these allocations are simply done with
@@ -523,7 +530,7 @@
         </para>
         <note>
           <para>
-            The NURBS Boolean Evaluation implementation generally uses
+            The NURBS Boolean evaluation implementation generally uses
             the function <function>ON_NearZero(double x, double
             tolerance = ON_ZERO_TOLERANCE)</function> to check if
             values are near zero, or to check if two values are
@@ -577,7 +584,7 @@
            their <varname>z</varname> coordinates set to 0.
          </para>
           <para>
-            The NURBS Boolean Evaluation implementation generally
+            The NURBS Boolean evaluation implementation generally
             constructs 2D curves by populating
             an <classname>ON_3dPointArray</classname> with 2D points,
             rather than using
@@ -989,7 +996,7 @@
         </para>
         <para>
           As a result, a pattern seen repeatedly in the NURBS Boolean
-          Evaluation implementation is a loop over intersection events
+          evaluation implementation is a loop over intersection events
           that gathers intersection points for processing, including
           overlap endpoints if the event represents an overlap.
         </para>
@@ -1172,7 +1179,7 @@
           <note>
             <para>
               Producing subcurves of existing curves is a common
-              operation in the NURBS Boolean Evaluation
+              operation in the NURBS Boolean evaluation
               implementation. This is a prime example of an operation
               that can introduce fuzziness into the evaluation. For
               example, we may be splitting a curve to remove a portion
@@ -1230,16 +1237,10 @@
     <title>Debugging NURBS Boolean Evaluations</title>
     <para>
       The current ongoing development activity for NURBS Boolean
-      Evaluation is debugging specific evaluation cases in order to
+      evaluation is debugging specific evaluation cases in order to
       find bugs and unhandled geometry cases in the implementation to
       support the evaluation of more geometry.
     </para>
-    <para>
-      Because NURBS Boolean Evaluation is an immature feature still in
-      development, new changes are made in a separate branch of the
-      BRL-CAD code
-      repository, 
<link>https://sourceforge.net/p/brlcad/code/HEAD/tree/brlcad/branches/brep-debug/</link>.
-    </para>
     <section>
       <title>Debug Plotting</title>
       <para>
@@ -1328,7 +1329,7 @@
         <para>
           The <command>dplot</command> command is used to visualize
           the results of different stages of the NURBS Boolean
-          Evaluation algorithm. This makes it easier to isolate the
+          evaluation algorithm. This makes it easier to isolate the
           source of a problem in an evaluation.
         </para>
         <para>
@@ -1337,11 +1338,11 @@
           tool. Its implementation does not honor library boundaries
           and does not conform to the typical conventions for editor
           commands, and for this reason is only available as an Archer
-          command in the NURBS Boolean Evaluation development branch
+          command in the NURBS Boolean evaluation development branch
           
(<link>https://sourceforge.net/p/brlcad/code/HEAD/tree/brlcad/branches/brep-debug/</link>).
         </para>
         <para>
-          In the development branch, the NURBS Boolean Evaluation
+          In the development branch, the NURBS Boolean evaluation
           source code contains additional calls to
           <classname>DebugPlot</classname> functions (implemented in
           <filename>debug_plot.cpp</filename>) that create
@@ -1681,7 +1682,7 @@
           <listitem>
             <para>
               Start stepping through the
-              <classname>ON_Intersect</classname> call.
+              <function>ON_Intersect()</function> call.
             </para>
           </listitem>          
         </orderedlist>
@@ -1926,7 +1927,7 @@
         </para>
         <para>
           This issue was fixed in revision 65179 in the NURBS Boolean
-          Evaluation development branch of the source repository
+          evaluation development branch of the source repository
           
(<link>https://sourceforge.net/p/brlcad/code/HEAD/tree/brlcad/branches/brep-debug/</link>).
         </para>
         <para>

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

Reply via email to