Revision: 57317
          http://sourceforge.net/p/brlcad/code/57317
Author:   tbrowder2
Date:     2013-08-30 14:17:45 +0000 (Fri, 30 Aug 2013)
Log Message:
-----------
add new DocBook version of Lee Butler's Power Point presentation

Added Paths:
-----------
    brlcad/trunk/doc/docbook/presentations/en/brlcad-app-devel.xml

Added: brlcad/trunk/doc/docbook/presentations/en/brlcad-app-devel.xml
===================================================================
--- brlcad/trunk/doc/docbook/presentations/en/brlcad-app-devel.xml              
                (rev 0)
+++ brlcad/trunk/doc/docbook/presentations/en/brlcad-app-devel.xml      
2013-08-30 14:17:45 UTC (rev 57317)
@@ -0,0 +1,1800 @@
+<?xml version="1.0" encoding="us-ascii"?>
+<article version="5.0"
+         xml:lang="en"
+         xmlns="http://docbook.org/ns/docbook";
+         xmlns:xl="http://www.w3.org/1999/xlink";>
+  <info>
+    <title>Building Applications</title>
+  </info>
+
+  <!-- Next 'div' was a 'draw:page'. -->
+  <anchor xml:id="Application_Development_with_BRL-CAD"/>
+
+  <!-- Next 'div' is a draw:frame. -->
+  <!-- Next 'div' was a 'draw:text-box'. -->
+  <orderedlist><listitem>
+      <para> Application Development with BRL-CAD</para>
+    </listitem>
+  </orderedlist>
+  <!-- Next 'div' is a draw:frame. -->
+  <!-- Next 'div' was a 'draw:text-box'. -->
+  <orderedlist><listitem>
+      <para>Lee A. Butler</para>
+      <para>John Anderson</para>
+    </listitem>
+  </orderedlist>
+  <!-- Next 'div' was a 'draw:page'. -->
+
+      <para>        <!-- Next 'div' is a draw:frame. -->
+        <!-- Next 'div' was a 'draw:text-box'. -->
+<orderedlist><listitem>
+            <para> WARNING Code Intensive Presentation</para>
+          </listitem>
+</orderedlist>        <!-- Next 'div' is a draw:frame. -->
+        <!-- Next 'div' was a 'draw:text-box'. -->
+<orderedlist><listitem>
+            <para> For Code Warriors Only!</para>
+            <para>non-programmers will need atropine, caffeine, and 
electro-shock therapy</para>
+            <para>(run, do not walk, to the nearest exit)</para>
+          </listitem>
+</orderedlist></para>
+
+<!-- Next 'div' was a 'draw:page'. -->
+<anchor xml:id="Overview"/>    <!-- Next 'div' is a draw:frame. -->
+    <!-- Next 'div' was a 'draw:text-box'. -->
+<orderedlist><listitem>
+        <para> Overview</para>
+      </listitem>
+</orderedlist>    <!-- Next 'div' is a draw:frame. -->
+    <!-- Next 'div' was a 'draw:text-box'. -->
+<itemizedlist>
+      <listitem>
+        <para>Header files</para>
+      </listitem>
+      <listitem>
+        <para>Shooting Rays</para>
+      </listitem>
+      <listitem>
+        <para>Ray-Tracing User Interface Framework (RTUIF)</para>
+      </listitem>
+      <listitem>
+        <para>Geometry Forms</para>
+      </listitem>
+      <listitem>
+        <para>Creating Geometry</para>
+      </listitem>
+      <listitem>
+        <para>Reading Geometry</para>
+      </listitem>
+      <listitem>
+        <para>Modifying Geometry</para>
+      </listitem>
+    </itemizedlist>
+<!-- Next 'div' was a 'draw:page'. -->
+<anchor xml:id="Header_Files"/>    <!-- Next 'div' is a draw:frame. -->
+    <!-- Next 'div' was a 'draw:text-box'. -->
+<orderedlist><listitem>
+        <para>Header Files</para>
+      </listitem>
+</orderedlist>    <!-- Next 'div' is a draw:frame. -->
+    <!-- Next 'div' was a 'draw:text-box'. -->
+<itemizedlist>
+      <listitem>
+        <para>The Big-6</para>
+      </listitem>
+    </itemizedlist>
+    <!-- Next 'div' is a draw:frame. -->
+<informaltable frame="none">
+      <tgroup cols="2">
+        <colspec colname="c1" colwidth="50*"/>
+        <colspec colname="c2" colwidth="50*"/>
+        <tbody>
+          <row>
+            <entry><para><orderedlist><listitem>
+                    <para>Header</para>
+                  </listitem>
+</orderedlist></para></entry>
+            <entry><para><orderedlist><listitem>
+                    <para>Library</para>
+                  </listitem>
+</orderedlist></para></entry>
+          </row>
+          <row>
+            <entry><para><orderedlist><listitem>
+                    <para>bu.h</para>
+                  </listitem>
+</orderedlist></para></entry>
+            <entry><para><orderedlist><listitem>
+                    <para>libbu</para>
+                  </listitem>
+</orderedlist></para></entry>
+          </row>
+          <row>
+            <entry><para><orderedlist><listitem>
+                    <para>bn.h</para>
+                  </listitem>
+</orderedlist></para></entry>
+            <entry><para><orderedlist><listitem>
+                    <para>libbn</para>
+                  </listitem>
+</orderedlist></para></entry>
+          </row>
+          <row>
+            <entry><para><orderedlist><listitem>
+                    <para>raytrace.h</para>
+                  </listitem>
+</orderedlist></para></entry>
+            <entry><para><orderedlist><listitem>
+                    <para>librt</para>
+                  </listitem>
+</orderedlist></para></entry>
+          </row>
+          <row>
+            <entry><para><orderedlist><listitem>
+                    <para>rtgeom.h</para>
+                  </listitem>
+</orderedlist></para></entry>
+            <entry><para><orderedlist><listitem>
+                    <para>librt / libwdb</para>
+                  </listitem>
+</orderedlist></para></entry>
+          </row>
+          <row>
+            <entry><para><orderedlist><listitem>
+                    <para>wdb.h</para>
+                  </listitem>
+</orderedlist></para></entry>
+            <entry><para><orderedlist><listitem>
+                    <para>libwdb</para>
+                  </listitem>
+</orderedlist></para></entry>
+          </row>
+          <row>
+            <entry><para><orderedlist><listitem>
+                    <para>vmath.h</para>
+                  </listitem>
+</orderedlist></para></entry>
+            <entry><para><orderedlist><listitem>
+                    <para>(data types)</para>
+                  </listitem>
+</orderedlist></para></entry>
+          </row>
+        </tbody>
+      </tgroup>
+    </informaltable>
+  <!-- Next 'div' was a 'draw:page'. -->
+<anchor xml:id="Prototype_Application__rtexample_c"/>
+<!-- Next 'div' is a draw:frame. -->
+    <!-- Next 'div' was a 'draw:text-box'. -->
+<orderedlist><listitem>
+        <para> Prototype Application: rtexample.c</para>
+      </listitem>
+</orderedlist>    <!-- Next 'div' is a draw:frame. -->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>Opens a database</para>
+      </listitem>
+      <listitem>
+        <para>Retrieves geometry</para>
+      </listitem>
+      <listitem>
+        <para>Prepares geometry for raytrace</para>
+      </listitem>
+      <listitem>
+        <para>Performs raytrace</para>
+      </listitem>
+      <listitem>
+        <para>See source tree: rt/rtexample.c</para>
+      </listitem>
+    </itemizedlist>
+<!-- Next 'div' was a 'draw:page'. -->
+<anchor xml:id="Necessary_Headers"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>Necessary Headers</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>The conf.h and machine.h are ubiquitous in almost all BRLCAD 
apps</para>
+      </listitem>
+      <listitem>
+        <para>The raytrace.h is present for geometry programs</para>
+      </listitem>
+    </itemizedlist>
+<itemizedlist>
+      <listitem>
+        <para><itemizedlist>
+            <listitem>
+              <para>Includes some additional headers</para>
+            </listitem>
+            <listitem>
+              <para>Contains most ray-tracing data structure definitions</para>
+            </listitem>
+          </itemizedlist>
+</para>
+      </listitem>
+    </itemizedlist>
+    <!--
+Next 'div' added for floating.
+-->
+    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Opening_the_Database"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para> Opening the Database</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>Opens database file</para>
+      </listitem>
+      <listitem>
+        <para>Builds a directory of objects in the database</para>
+      </listitem>
+      <listitem>
+        <para>Allows us to retrieve individual objects</para>
+      </listitem>
+    </itemizedlist>
+    <!--
+Next 'div' added for floating.
+-->
+    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Reading_Geometry"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para> Reading Geometry</para>
+      </listitem>
+</orderedlist>    <!-- Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>Retrieves tree top specified by argv[2] into a working set used 
by librt</para>
+      </listitem>
+    </itemizedlist>
+    <!--
+Next 'div' added for floating.
+-->
+    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Preparing_Geometry_for_Raytracing"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>Preparing Geometry for Raytracing</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>Pre-computes useful terms for each primitive</para>
+      </listitem>
+    </itemizedlist>
+<itemizedlist>
+      <listitem>
+        <para><itemizedlist>
+            <listitem>
+              <para>E.g.: triangle normals, function roots, trig terms</para>
+            </listitem>
+          </itemizedlist>
+</para>
+      </listitem>
+    </itemizedlist>
+<itemizedlist>
+      <listitem>
+        <para>Builds space partition tree to accelerate ray-trace</para>
+      </listitem>
+    </itemizedlist>
+    <!--
+Next 'div' added for floating.
+-->
+    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Application_Struct___Shot"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>Application Struct and Shot</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>The application struct contains information about the
+        ray that is to be computed and what should be done with the
+        results.</para>
+      </listitem>
+    </itemizedlist>
+    <!--
+Next 'div' added for floating.
+-->
+    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<!-- Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Application_Struct"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>Application Struct</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' added for floating.
+-->
+    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Miss_Routine"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>Miss Routine</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>Called when ray does not hit any geometry</para>
+      </listitem>
+    </itemizedlist>
+    <!--
+Next 'div' added for floating.
+-->
+    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Hit_Routine"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>Hit Routine</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>hit(register struct application *ap, /* see raytrace.h */</para>
+        <para>struct partition *PartHeadp) /* see raytrace.h */</para>
+        <para>{</para>
+       <para>register struct partition *pp;</para>
+        <para>register struct hit *hitp;</para>
+       <para>point_t pt;</para>
+        <para>for (pp = PartHeadp-&gt;pt_forw;</para>
+        <para>pp != PartHeadp;</para>
+        <para>pp = pp-&gt;pt_forw ) {</para>
+        <para>hitp = pp-&gt;pt_inhit;</para>
+        <para>VJOIN1( pt, ap-&gt;a_ray.r_pt, hitp-&gt;hit_dist, 
ap-&gt;a_ray.r_dir);</para>
+      </listitem>
+</orderedlist><itemizedlist>
+      <listitem>
+        <para><itemizedlist>
+            <listitem>
+              <para><orderedlist><listitem>
+                    <para>VPRINT(Hit Point, pt);</para>
+                  </listitem>
+</orderedlist></para>
+            </listitem>
+          </itemizedlist>
+</para>
+      </listitem>
+    </itemizedlist>
+<orderedlist><listitem>
+        <para>}</para>
+        <para>return 1; /* value returned by rt_shootray();</para>
+        <para>}</para>
+      </listitem>
+</orderedlist>
+<!-- Next 'div' was a 'draw:page'. -->
+<anchor xml:id="Hit_Routine_Breakdown"/>
+<!-- Next 'div' is a draw:frame. -->
+<orderedlist><listitem>
+        <para> Hit Routine Breakdown</para>
+      </listitem>
+</orderedlist>
+<!-- Next 'div' is a draw:frame. -->
+<itemizedlist>
+      <listitem>
+        <para>Partition Structure contains information about intervals
+        of the ray which pass through geometry</para>
+      </listitem>
+      <listitem>
+        <para>Hit structure contains information about an individual 
boundary/ray intersection</para>
+      </listitem>
+    </itemizedlist>
+    <!--
+Next 'div' added for floating.
+-->
+    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Partition_Structure"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para> Partition Structure</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>From h/raytrace.h</para>
+      </listitem>
+    </itemizedlist>
+    <!--
+Next 'div' added for floating.
+-->
+    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Hit_Structure"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>Hit Structure</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para> struct hit {</para>
+        <para>long hit_magic;</para>
+        <para>fastf_t hit_dist; /* dist from r_pt to hit_point */</para>
+        <para>point_t hit_point; /* Intersection point */</para>
+        <para>vect_t hit_normal; /* Surface Normal at hit_point */</para>
+        <para>vect_t hit_vpriv; /* PRIVATE vector for xxx_*() */</para>
+        <para>genptr_t hit_private; /* PRIVATE handle for xxx_shot() */</para>
+        <para>int hit_surfno; /* solid-specific surface indicator */</para>
+        <para>struct xray *hit_rayp; /* pointer to defining ray */</para>
+        <para>};</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' added for floating.
+-->
+    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Hit_Routine__Again_"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para> Hit Routine (Again)</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para> hit(register struct application *ap, /* see raytrace.h */</para>
+        <para>struct partition *PartHeadp) /* see raytrace.h */</para>
+        <para>{</para>
+        <para>register struct partition *pp;</para>
+        <para>register struct hit *hitp;</para>
+        <para>point_t pt;</para>
+        <para>for (pp = PartHeadp-&gt;pt_forw;</para>
+        <para>pp != PartHeadp;</para>
+        <para>pp = pp-&gt;pt_forw ) {</para>
+        <para>hitp = pp-&gt;pt_inhit;</para>
+        <para>VJOIN1(pt, ap-&gt;a_ray.r_pt, hitp-&gt;hit_dist, 
ap-&gt;a_ray.r_dir);</para>
+      </listitem>
+</orderedlist><itemizedlist>
+      <listitem>
+        <para><itemizedlist>
+            <listitem>
+              <para><orderedlist><listitem>
+                    <para>VPRINT(Hit Point, pt);</para>
+                  </listitem>
+</orderedlist></para>
+            </listitem>
+          </itemizedlist>
+</para>
+      </listitem>
+    </itemizedlist>
+<orderedlist><listitem>
+<para>}</para>
+<para>return 1; /* value returned by rt_shootray();</para>
+<para>}</para>
+</listitem>
+</orderedlist>
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Using_the_RTUIF"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>Using the RTUIF</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>Makes shooting grids of rays easy.</para>
+      </listitem>
+      <listitem>
+        <para>Uses the same command line interface as rt.</para>
+      </listitem>
+      <listitem>
+        <para>Foundation for: rt, rtweight, rthide, and other raytracing based 
applications.</para>
+      </listitem>
+      <listitem>
+        <para>Simplest example shown in rt/viewdummy.c in source tree</para>
+      </listitem>
+    </itemizedlist>
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="The_5_RTUIF_Functions"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>The 5 RTUIF Functions</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>view_init</para>
+      </listitem>
+      <listitem>
+        <para>view_setup</para>
+      </listitem>
+      <listitem>
+        <para>view_2init</para>
+      </listitem>
+      <listitem>
+        <para>view_pixel</para>
+      </listitem>
+      <listitem>
+        <para>view_end</para>
+      </listitem>
+    </itemizedlist>
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="RTUIF_Routines1"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>RTUIF Routines1</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>int view_init(struct application *ap, char *file,</para>
+        <para>char *obj, int minus_o);</para>
+        <para>Called by main() at the start of a run. Returns 1 if framebuffer 
should be opened, else 0.</para>
+        <para>void view_setup(struct rt_i *rtip);</para>
+      </listitem>
+</orderedlist><itemizedlist>
+      <listitem>
+        <para><orderedlist><listitem>
+              <para>Called by do_prep(), just before rt_prep() is
+              called, in do.c. This allows the lighting model to get
+              set up for this frame, e.g., generate lights, associate
+              materials routines, etc.</para>
+            </listitem>
+</orderedlist></para>
+      </listitem>
+    </itemizedlist>
+<orderedlist><listitem>
+        <para>Void view_2init(struct application *ap);</para>
+        <para>Called at the beginning of a frame. Called by</para>
+        <para>do_frame() just before raytracing starts.</para>
+      </listitem>
+</orderedlist><!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="RTUIF_Routines2"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>RTUIF Routines2</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para> int rayhit(struct application *ap, struct partition 
*PartHeadp);</para>
+        <para>Called via a_hit linkage from rt_shootray() when ray hits.</para>
+        <para>int raymiss(struct application *ap);</para>
+        <para>Called via a_miss linkage from rt_shootray() when ray 
misses.</para>
+      </listitem>
+</orderedlist><!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="RTUIF_Routines3"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>RTUIF Routines3</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para> void view_pixel(struct application *ap);</para>
+        <para>Called by worker() after the end of proccessing for</para>
+        <para>each pixel.</para>
+        <para>void view_end(struct application *ap);</para>
+        <para>Called in do_frame() at the end of a frame, just after 
raytracing completes.</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="So_Much_for_the_Trivialities"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>So Much for the Trivialities</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>Now we look at actual geometry</para>
+      </listitem>
+    </itemizedlist>
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Thinking_About_Geometry"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para> Thinking About Geometry</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>How to create it</para>
+      </listitem>
+      <listitem>
+        <para>How to read it</para>
+      </listitem>
+      <listitem>
+        <para>Doing anything useful with it</para>
+      </listitem>
+    </itemizedlist>
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Geometric_Representation"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>Geometric Representation</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>BRL-CAD geometry has 3 forms:</para>
+      </listitem>
+    </itemizedlist>
+<itemizedlist>
+      <listitem>
+        <para><itemizedlist>
+            <listitem>
+              <para>External (Disk/DB)</para>
+              <itemizedlist>
+                <listitem>
+                  <para>Space efficient</para>
+                </listitem>
+                <listitem>
+                  <para>Network integers (Big-Endian)</para>
+                </listitem>
+                <listitem>
+                  <para>IEEE double-precision floating point 
(Big-Endian)</para>
+                </listitem>
+              </itemizedlist>
+            </listitem>
+            <listitem>
+              <para>Internal (Editing)</para>
+              <itemizedlist>
+                <listitem>
+                  <para>Convenient parameter editing</para>
+                </listitem>
+                <listitem>
+                  <para>Host float/int representation</para>
+                </listitem>
+              </itemizedlist>
+            </listitem>
+            <listitem>
+              <para>Prepped (Raytrace)</para>
+              <itemizedlist>
+                <listitem>
+                  <para>Fast ray/primitive intersections</para>
+                </listitem>
+              </itemizedlist>
+            </listitem>
+          </itemizedlist>
+</para>
+      </listitem>
+    </itemizedlist>
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="On-Disk_Representation"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>On-Disk Representation</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>Space Efficient</para>
+      </listitem>
+      <listitem>
+        <para>Machine independent</para>
+      </listitem>
+    </itemizedlist>
+<itemizedlist>
+      <listitem>
+        <para><itemizedlist>
+            <listitem>
+              <para>Only in new database format</para>
+            </listitem>
+          </itemizedlist>
+</para>
+      </listitem>
+    </itemizedlist>
+<itemizedlist>
+      <listitem>
+        <para>Database access is separate from object retrieval.</para>
+      </listitem>
+    </itemizedlist>
+<itemizedlist>
+      <listitem>
+        <para><itemizedlist>
+            <listitem>
+              <para>Database layer returns named objects.</para>
+              <itemizedlist>
+                <listitem>
+                  <para>Does not understand content.</para>
+                </listitem>
+              </itemizedlist>
+            </listitem>
+            <listitem>
+              <para>Primitive objects get Bag-o-Bytes to turn into in-memory 
representation.</para>
+              <itemizedlist>
+                <listitem>
+                  <para>Have no knowledge of data origins</para>
+                </listitem>
+              </itemizedlist>
+            </listitem>
+          </itemizedlist>
+</para>
+      </listitem>
+    </itemizedlist>
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Internal_Representation"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>Internal Representation</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>Convenient editing form</para>
+      </listitem>
+    </itemizedlist>
+<itemizedlist>
+      <listitem>
+        <para><itemizedlist>
+            <listitem>
+              <para>Host format floating point and integers</para>
+            </listitem>
+          </itemizedlist>
+</para>
+      </listitem>
+    </itemizedlist>
+<itemizedlist>
+      <listitem>
+        <para>Must be exported to be written to disk</para>
+      </listitem>
+      <listitem>
+        <para>Primitive shape data structures defined in h/rtgeom.h</para>
+      </listitem>
+      <listitem>
+        <para>Combination (and hence region) structure defined in 
raytrace.h</para>
+      </listitem>
+    </itemizedlist>
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Prep-ed_Representation"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para> Prepped Representation</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>The form that is actually raytraced</para>
+      </listitem>
+      <listitem>
+        <para>Created from internal form by rt_prep() call</para>
+      </listitem>
+      <listitem>
+        <para>May not include internal form</para>
+      </listitem>
+    </itemizedlist>
+<itemizedlist>
+      <listitem>
+        <para><itemizedlist>
+            <listitem>
+              <para>Saves memory</para>
+            </listitem>
+          </itemizedlist>
+</para>
+      </listitem>
+    </itemizedlist>
+<itemizedlist>
+      <listitem>
+        <para>May include additional fields</para>
+      </listitem>
+    </itemizedlist>
+<itemizedlist>
+      <listitem>
+        <para><itemizedlist>
+            <listitem>
+              <para>Pre-computed values, additional data</para>
+            </listitem>
+          </itemizedlist>
+</para>
+      </listitem>
+    </itemizedlist>
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Simple_Database_Appilcation"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>Simple Database Application</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>Necessary headers</para>
+      </listitem>
+    </itemizedlist>
+    <!--
+Next 'div' added for floating.
+-->
+    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Opening_The_Database"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>Opening The Database</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' added for floating.
+-->
+    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="_Creating_Geometry"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>Creating Geometry</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>Note: All db units are in mm</para>
+      </listitem>
+    </itemizedlist>
+<itemizedlist>
+      <listitem>
+        <para><itemizedlist>
+            <listitem>
+              <para>Set mk_conv2mm global for other units</para>
+            </listitem>
+          </itemizedlist>
+</para>
+      </listitem>
+    </itemizedlist>
+    <!--
+Next 'div' added for floating.
+-->
+    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Getting_Geometry"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para> Getting Geometry</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>To retrieve geometry, we have to get an internal 
representation</para>
+      </listitem>
+    </itemizedlist>
+    <!--
+Next 'div' added for floating.
+-->
+    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Primitive_-Methods-"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>Primitive Methods</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>Retrieved geometry has a specific set of defined operations and 
methods available</para>
+      </listitem>
+      <listitem>
+        <para>See h/raytrace.h for a description of</para>
+      </listitem>
+    </itemizedlist>
+<itemizedlist>
+      <listitem>
+        <para><orderedlist><listitem>
+              <para>struct rt_functab</para>
+            </listitem>
+</orderedlist></para>
+      </listitem>
+    </itemizedlist>
+<itemizedlist>
+      <listitem>
+        <para>Primitives should implement every method</para>
+      </listitem>
+    </itemizedlist>
+<itemizedlist>
+      <listitem>
+        <para><itemizedlist>
+            <listitem>
+              <para>Some do not. See librt/table.c for specifics</para>
+            </listitem>
+          </itemizedlist>
+</para>
+      </listitem>
+    </itemizedlist>
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Putting_Geometry_Back"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>Putting Geometry Back</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>Database I/O layer converts from internal to external 
format.</para>
+      </listitem>
+    </itemizedlist>
+    <!--
+Next 'div' added for floating.
+-->
+    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Building_Boolean_Trees"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>Building Boolean Trees</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>Regions/combinations used to store boolean trees.</para>
+      </listitem>
+    </itemizedlist>
+<itemizedlist>
+      <listitem>
+        <para><itemizedlist>
+            <listitem>
+              <para>Both are same type of database record</para>
+            </listitem>
+            <listitem>
+              <para>old GIFT form detailed here</para>
+            </listitem>
+          </itemizedlist>
+</para>
+      </listitem>
+    </itemizedlist>
+<itemizedlist>
+      <listitem>
+        <para>Simple boolean tree that contains</para>
+      </listitem>
+    </itemizedlist>
+<itemizedlist>
+      <listitem>
+        <para><itemizedlist>
+            <listitem>
+              <para>Names of objects</para>
+            </listitem>
+            <listitem>
+              <para>Boolean operations.</para>
+            </listitem>
+            <listitem>
+              <para>Matrix transformations</para>
+            </listitem>
+          </itemizedlist>
+</para>
+      </listitem>
+    </itemizedlist>
+<itemizedlist>
+      <listitem>
+        <para>Database record contains no actual geometry.</para>
+      </listitem>
+      <listitem>
+        <para>Example code taken from</para>
+      </listitem>
+    </itemizedlist>
+<itemizedlist>
+      <listitem>
+        <para><itemizedlist>
+            <listitem>
+              <para>libwdb/wdb_example.c</para>
+            </listitem>
+          </itemizedlist>
+</para>
+      </listitem>
+    </itemizedlist>
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Constructing_Boolean_List"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>Constructing Boolean List</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>Build the list of elements first:</para>
+      </listitem>
+    </itemizedlist>
+    <!--
+Next 'div' added for floating.
+-->
+    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Regions_Combinations"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>Regions/Combinations</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>Constructing the actual combination record</para>
+      </listitem>
+    </itemizedlist>
+<itemizedlist>
+      <listitem>
+        <para><itemizedlist>
+            <listitem>
+              <para>Note: use mk_lcomb/mk_comb for inital creation only!</para>
+              <itemizedlist>
+                <listitem>
+                  <para>caveat: can use to update boolean tree under special 
conditions</para>
+                </listitem>
+              </itemizedlist>
+            </listitem>
+          </itemizedlist>
+</para>
+      </listitem>
+    </itemizedlist>
+    <!--
+Next 'div' added for floating.
+-->
+    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Retrieving_A_Combination"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>Retrieving A Combination</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>Simple retrieval only gets:</para>
+      </listitem>
+    </itemizedlist>
+<itemizedlist>
+      <listitem>
+        <para><itemizedlist>
+            <listitem>
+              <para>List of elements</para>
+            </listitem>
+            <listitem>
+              <para>Boolean operations</para>
+            </listitem>
+            <listitem>
+              <para>Matrix transformations.</para>
+            </listitem>
+          </itemizedlist>
+</para>
+      </listitem>
+    </itemizedlist>
+    <!--
+Next 'div' added for floating.
+-->
+    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Combination_Write-Back"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>Combination Write-Back</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>Modify the boolean tree</para>
+      </listitem>
+      <listitem>
+        <para>Write back out to db</para>
+      </listitem>
+    </itemizedlist>
+    <!--
+Next 'div' added for floating.
+-->
+    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Combination_Tree_Info"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>Combination Tree Info</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>Need to prep the tree to obtain geometry</para>
+      </listitem>
+    </itemizedlist>
+<itemizedlist>
+      <listitem>
+        <para><itemizedlist>
+            <listitem>
+              <para>First, create rt instance struct rt_i object</para>
+            </listitem>
+          </itemizedlist>
+</para>
+      </listitem>
+    </itemizedlist>
+    <!--
+Next 'div' added for floating.
+-->
+    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Processing_combination_tree"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>Processing combination tree</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>Now to retrieve a treetop and prep:</para>
+      </listitem>
+      <listitem>
+        <para>This could have been any level in the tree, not just a 
region.</para>
+      </listitem>
+    </itemizedlist>
+    <!--
+Next 'div' added for floating.
+-->
+    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Accessing_Prepped_Regions"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>Accessing Prepped Regions</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>rtip has list of regions</para>
+      </listitem>
+      <listitem>
+        <para>Access as a linked list</para>
+      </listitem>
+      <listitem>
+        <para>Example: getting bounding box of regions</para>
+      </listitem>
+    </itemizedlist>
+    <!--
+Next 'div' added for floating.
+-->
+    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Making_Temporary_Changes"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>Making Temporary Changes</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>Changes that only last for 1 application run</para>
+      </listitem>
+      <listitem>
+        <para>Changes do not reside in on-disk database</para>
+      </listitem>
+    </itemizedlist>
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Dynamic_Geometry"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>Dynamic Geometry</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>Involves special inmem database</para>
+      </listitem>
+    </itemizedlist>
+<itemizedlist>
+      <listitem>
+        <para><itemizedlist>
+            <listitem>
+              <para>Contains only modifications</para>
+            </listitem>
+            <listitem>
+              <para>Akin to union filesystem of Unix</para>
+            </listitem>
+          </itemizedlist>
+</para>
+      </listitem>
+    </itemizedlist>
+<itemizedlist>
+      <listitem>
+        <para>Directory structure tracks whether current version of object is 
on disk or in inmem database</para>
+      </listitem>
+      <listitem>
+        <para>Object retrieval gets most current version</para>
+      </listitem>
+      <listitem>
+        <para>Writes to inmem arranged though special wdb_dbopen() call</para>
+      </listitem>
+    </itemizedlist>
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Accessing_inmem_database"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>Accessing inmem database</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>small difference in wdb_dbopen call</para>
+      </listitem>
+      <listitem>
+        <para>all writes to this rt_wdb will go to memory database only</para>
+      </listitem>
+    </itemizedlist>
+    <!--
+Next 'div' added for floating.
+-->
+    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Closing_the_Database"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>Closing the Database</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<itemizedlist>
+      <listitem>
+        <para>Important to flush data and purge data structures!</para>
+      </listitem>
+    </itemizedlist>
+    <!--
+Next 'div' added for floating.
+-->
+    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<!--
+Next 'div' was a 'draw:page'.
+-->
+<anchor xml:id="Thank_you"/>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>Thank you</para>
+      </listitem>
+</orderedlist>    <!--
+Next 'div' is a draw:frame.
+-->
+    <!--
+Next 'div' was a 'draw:text-box'.
+-->
+<orderedlist><listitem>
+        <para>Lee A. Butler</para>
+      </listitem>
+</orderedlist><orderedlist><listitem>
+        <para><link 
xl:hrexf="mailto:[email protected]";>[email protected].</link>
+              <link xl:href="mailto:[email protected]";>mil</link></para>
+      </listitem>
+</orderedlist><orderedlist><listitem>
+        <para>410 278 9200</para>
+      </listitem>
+</orderedlist>
+</article>


Property changes on: 
brlcad/trunk/doc/docbook/presentations/en/brlcad-app-devel.xml
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/xml
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to