Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r77858 - sandbox/gtl/doc
From: sydorchuk.andriy_at_[hidden]
Date: 2012-04-09 15:10:35


Author: asydorchuk
Date: 2012-04-09 15:10:32 EDT (Mon, 09 Apr 2012)
New Revision: 77858
URL: http://svn.boost.org/trac/boost/changeset/77858

Log:
Updating Boost.Polygon documentation.

Text files modified:
   sandbox/gtl/doc/gtl_connectivity_extraction.htm | 81 +++++---
   sandbox/gtl/doc/gtl_connectivity_extraction_45.htm | 81 +++++---
   sandbox/gtl/doc/gtl_connectivity_extraction_90.htm | 81 +++++---
   sandbox/gtl/doc/gtl_coordinate_concept.htm | 110 ++++++-----
   sandbox/gtl/doc/gtl_design_overview.htm | 52 +++--
   sandbox/gtl/doc/gtl_interval_concept.htm | 251 ++++++++++++++-------------
   sandbox/gtl/doc/gtl_isotropy.htm | 123 +++++++------
   sandbox/gtl/doc/gtl_point_concept.htm | 203 ++++++++++++----------
   sandbox/gtl/doc/gtl_polygon_45_concept.htm | 198 +++++++++++----------
   sandbox/gtl/doc/gtl_polygon_45_set_concept.htm | 233 +++++++++++++------------
   sandbox/gtl/doc/gtl_polygon_45_with_holes_concept.htm | 186 +++++++++++---------
   sandbox/gtl/doc/gtl_polygon_90_concept.htm | 184 ++++++++++---------
   sandbox/gtl/doc/gtl_polygon_90_set_concept.htm | 346 +++++++++++++++++++------------------
   sandbox/gtl/doc/gtl_polygon_90_with_holes_concept.htm | 190 +++++++++++---------
   sandbox/gtl/doc/gtl_polygon_concept.htm | 200 +++++++++++----------
   sandbox/gtl/doc/gtl_polygon_set_concept.htm | 219 +++++++++++++-----------
   sandbox/gtl/doc/gtl_polygon_with_holes_concept.htm | 190 +++++++++++---------
   sandbox/gtl/doc/gtl_property_merge.htm | 83 +++++---
   sandbox/gtl/doc/gtl_property_merge_45.htm | 83 +++++---
   sandbox/gtl/doc/gtl_property_merge_90.htm | 83 +++++---
   sandbox/gtl/doc/gtl_rectangle_concept.htm | 359 +++++++++++++++++++++------------------
   21 files changed, 1907 insertions(+), 1629 deletions(-)

Modified: sandbox/gtl/doc/gtl_connectivity_extraction.htm
==============================================================================
--- sandbox/gtl/doc/gtl_connectivity_extraction.htm (original)
+++ sandbox/gtl/doc/gtl_connectivity_extraction.htm 2012-04-09 15:10:32 EDT (Mon, 09 Apr 2012)
@@ -1,15 +1,14 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40"><head><!--
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40" lang="en"><head>
+<!--
     Copyright 2009-2010 Intel Corporation
     license banner
--->
-<title>Boost Polygon Library: Connectivity Extraction 45</title>
- <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
- <!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> -->
-<table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
+--><title>Boost Polygon Library: Connectivity Extraction 45</title>
+
+ <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /><!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> --></head><body><table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/boost.png" width="277" height="86"><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
+ <img src="images/boost.png" border="0" height="86" width="277" /><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
     <div style="margin: 5px;">
@@ -37,20 +36,34 @@
                         <li>Property Merge 90</li>
                         <li>Property Merge 45</li>
                         <li>Property Merge</li>
+ <li><a href="voronoi_main.htm">Voronoi Main Page<br />
+</a></li>
+ <li>Voronoi Benchmark<br />
+ </li>
+ <li>Voronoi Builder</li>
+ <li><a href="voronoi_diagram.htm">Voronoi Diagram<br />
+</a></li>
+ <li>Voronoi Predicates</li>
+ <li>Voronoi Robust FPT<br />
+ </li>
+ <li>Voronoi Utils</li>
+
         </ul>
         <h3 class="navbar">Other Resources</h3>
         <ul>
- <li>GTL Boostcon 2009 Paper</li>
- <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
+ <li>GTL Boostcon 2009 Paper</li>
+ <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
                                 Presentation</a></li>
- <li>Performance Analysis</li>
- <li>Layout Versus Schematic Tutorial</li>
- <li>Minkowski Sum Tutorial</li>
- </ul>
+ <li>Performance Analysis</li>
+ <li>Layout Versus Schematic Tutorial</li>
+ <li>Minkowski Sum Tutorial</li>
+ <li>Voronoi Basic Tutorial</li>
+ <li>Voronoi Advanced Tutorial</li>
+</ul>
     </div>
         <h3 class="navbar">Polygon Sponsor</h3>
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/intlogo.gif" width="127" height="51"><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
+ <img src="images/intlogo.gif" border="0" height="51" width="127" /><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
 </td>
@@ -58,12 +71,12 @@
 
 <!-- End Header -->
 
-<br>
+<br />
 <p>
 </p><h1>Connectivity Extraction</h1>
 
 <p>
-<p>The connectivity extraction algorithm constructs the connectivity graph where
+</p><p>The connectivity extraction algorithm constructs the connectivity graph where
 input polygon sets are modeled as graph nodes and assigned node ids and
 overlap/touching between input polygon sets is modeled as graph edges.&nbsp; One
 supported graph formats is std::vector&lt;std::set&lt;int&gt; &gt; where node ids index into
@@ -73,33 +86,33 @@
 the operator[] is used internally to access the graph&nbsp;&nbsp; The other
 supported graph format is std::map&lt;int, std::set&lt;int&gt; &gt; which is slightly easier to
 work with, but potentially more expensive.&nbsp; Improving the interface to
-support more generic graph concepts is deferred to future work.<p>The following
-is the declaration of the connectivity extraction algorithm.<p>
-<font face="Courier New">template &lt;typename coordinate_type&gt;<br>
-class connectivity_extraction;</font><p>
+support more generic graph concepts is deferred to future work.</p><p>The following
+is the declaration of the connectivity extraction algorithm.</p><p>
+<font face="Courier New">template &lt;typename coordinate_type&gt;<br />
+class connectivity_extraction;</font></p><p>
 Example code connectivity_extraction_usage.cpp
                 demonstrates using the connectivity extraction algorithm to build a
-connectivity graph on geometry.<h2>Member Functions</h2>
-<table border="1" width="100%" id="table1">
- <tr>
+connectivity graph on geometry.</p><h2>Member Functions</h2>
+<table id="table1" border="1" width="100%">
+ <tbody><tr>
                 <td width="586"><b><font face="Courier New">connectivity_extraction</font></b><font face="Courier New">()</font></td>
                 <td>Default constructor. </td>
         </tr>
         <tr>
- <td width="586"><b><font face="Courier New">connectivity_extraction</font></b><font face="Courier New">(<br>&nbsp;&nbsp;&nbsp;&nbsp; const
+ <td width="586"><b><font face="Courier New">connectivity_extraction</font></b><font face="Courier New">(<br />&nbsp;&nbsp;&nbsp;&nbsp; const
                 connectivity_extraction&amp; that)</font></td>
                 <td>Copy construct.</td>
         </tr>
         <tr>
                 <td width="586">
-<font face="Courier New">unsigned int <br><b>insert</b>(const polygon_set_data&lt;coordinate_type&gt;&amp; ps)</font></td>
+<font face="Courier New">unsigned int <br /><b>insert</b>(const polygon_set_data&lt;coordinate_type&gt;&amp; ps)</font></td>
                 <td>I<font face="Times New Roman">nsert a polygon set graph node, the
                 value returned is the id of the graph node.</font></td>
         </tr>
         <tr>
                 <td width="586">
 <font face="Courier New">
-template &lt;class GeoObjT&gt;<br>
+template &lt;class GeoObjT&gt;<br />
 unsigned int <b>insert</b>(const GeoObjT&amp; geoObj)</font></td>
                 <td>Insert a geometry object that is a refinement of polygon set as a
                 graph node, the return value is the id of the graph node.</td>
@@ -107,24 +120,24 @@
         <tr>
                 <td width="586">
 <font face="Courier New">
-template &lt;class GraphT&gt;<br>
+template &lt;class GraphT&gt;<br />
 void <b>extract</b>(GraphT&amp; graph)</font></td>
                 <td>Accepts a graph object that conforms to the expectations defined
                 above.&nbsp; Performs connectivity extraction and populates the graph
                 object.</td>
         </tr>
- </table>
- <tr>
+ </tbody></table>
+ </td></tr><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     &nbsp;</td>
 <td style="padding-left: 10px; padding-right: 10px; padding-bottom: 10px;" valign="top" width="100%">
 
 
-<table class="docinfo" rules="none" frame="void" id="table2">
+<table class="docinfo" id="table2" frame="void" rules="none">
         <colgroup>
- <col class="docinfo-name"><col class="docinfo-content">
+ <col class="docinfo-name" /><col class="docinfo-content" />
         </colgroup>
- <tbody vAlign="top">
+ <tbody valign="top">
                 <tr>
                         <th class="docinfo-name">Copyright:</th>
                         <td>Copyright © Intel Corporation 2008-2010.</td>
@@ -137,6 +150,6 @@
                         <a class="reference" target="_top" href="http://www.boost.org/LICENSE_1_0.txt">
                         http://www.boost.org/LICENSE_1_0.txt>)</td>
                 </tr>
-</table>
+</tbody></table>
 
-</html>
\ No newline at end of file
+</td></tr></tbody></table></body></html>
\ No newline at end of file

Modified: sandbox/gtl/doc/gtl_connectivity_extraction_45.htm
==============================================================================
--- sandbox/gtl/doc/gtl_connectivity_extraction_45.htm (original)
+++ sandbox/gtl/doc/gtl_connectivity_extraction_45.htm 2012-04-09 15:10:32 EDT (Mon, 09 Apr 2012)
@@ -1,15 +1,14 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40"><head><!--
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40" lang="en"><head>
+<!--
     Copyright 2009-2010 Intel Corporation
     license banner
--->
-<title>Boost Polygon Library: Connectivity Extraction 45</title>
- <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
- <!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> -->
-<table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
+--><title>Boost Polygon Library: Connectivity Extraction 45</title>
+
+ <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /><!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> --></head><body><table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/boost.png" width="277" height="86"><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
+ <img src="images/boost.png" border="0" height="86" width="277" /><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
     <div style="margin: 5px;">
@@ -37,20 +36,34 @@
                         <li>Property Merge 90</li>
                         <li>Property Merge 45</li>
                         <li>Property Merge</li>
+ <li><a href="voronoi_main.htm">Voronoi Main Page<br />
+</a></li>
+ <li>Voronoi Benchmark<br />
+ </li>
+ <li>Voronoi Builder</li>
+ <li><a href="voronoi_diagram.htm">Voronoi Diagram<br />
+</a></li>
+ <li>Voronoi Predicates</li>
+ <li>Voronoi Robust FPT<br />
+ </li>
+ <li>Voronoi Utils</li>
+
         </ul>
         <h3 class="navbar">Other Resources</h3>
         <ul>
- <li>GTL Boostcon 2009 Paper</li>
- <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
+ <li>GTL Boostcon 2009 Paper</li>
+ <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
                                 Presentation</a></li>
- <li>Performance Analysis</li>
- <li>Layout Versus Schematic Tutorial</li>
- <li>Minkowski Sum Tutorial</li>
- </ul>
+ <li>Performance Analysis</li>
+ <li>Layout Versus Schematic Tutorial</li>
+ <li>Minkowski Sum Tutorial</li>
+ <li>Voronoi Basic Tutorial</li>
+ <li>Voronoi Advanced Tutorial</li>
+</ul>
     </div>
         <h3 class="navbar">Polygon Sponsor</h3>
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/intlogo.gif" width="127" height="51"><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
+ <img src="images/intlogo.gif" border="0" height="51" width="127" /><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
 </td>
@@ -58,12 +71,12 @@
 
 <!-- End Header -->
 
-<br>
+<br />
 <p>
 </p><h1>Connectivity Extraction 45</h1>
 
 <p>
-<p>The connectivity extraction algorithm constructs the connectivity graph where
+</p><p>The connectivity extraction algorithm constructs the connectivity graph where
 input polygon sets are modeled as graph nodes and assigned node ids and
 overlap/touching between input polygon sets is modeled as graph edges.&nbsp; One
 supported graph formats is std::vector&lt;std::set&lt;int&gt; &gt; where node ids index into
@@ -73,33 +86,33 @@
 the operator[] is used internally to access the graph&nbsp;&nbsp; The other
 supported graph format is std::map&lt;int, std::set&lt;int&gt; &gt; which is slightly easier to
 work with, but potentially more expensive.&nbsp; Improving the interface to
-support more generic graph concepts is deferred to future work.<p>The following
-is the declaration of the connectivity extraction algorithm.<p>
-<font face="Courier New">template &lt;typename coordinate_type&gt;<br>
-class connectivity_extraction_45;</font><p>
+support more generic graph concepts is deferred to future work.</p><p>The following
+is the declaration of the connectivity extraction algorithm.</p><p>
+<font face="Courier New">template &lt;typename coordinate_type&gt;<br />
+class connectivity_extraction_45;</font></p><p>
 Example code connectivity_extraction_usage.cpp
                 demonstrates using the connectivity extraction algorithm to build a
-connectivity graph on geometry.<h2>Member Functions</h2>
-<table border="1" width="100%" id="table1">
- <tr>
+connectivity graph on geometry.</p><h2>Member Functions</h2>
+<table id="table1" border="1" width="100%">
+ <tbody><tr>
                 <td width="586"><b><font face="Courier New">connectivity_extraction_45</font></b><font face="Courier New">()</font></td>
                 <td>Default constructor. </td>
         </tr>
         <tr>
- <td width="586"><b><font face="Courier New">connectivity_extraction_45</font></b><font face="Courier New">(<br>&nbsp;&nbsp;&nbsp;&nbsp; const
+ <td width="586"><b><font face="Courier New">connectivity_extraction_45</font></b><font face="Courier New">(<br />&nbsp;&nbsp;&nbsp;&nbsp; const
                 connectivity_extraction_45&amp; that)</font></td>
                 <td>Copy construct.</td>
         </tr>
         <tr>
                 <td width="586">
-<font face="Courier New">unsigned int <br><b>insert</b>(const polygon_45_set_data&lt;coordinate_type&gt;&amp; ps)</font></td>
+<font face="Courier New">unsigned int <br /><b>insert</b>(const polygon_45_set_data&lt;coordinate_type&gt;&amp; ps)</font></td>
                 <td>I<font face="Times New Roman">nsert a polygon set graph node, the
                 value returned is the id of the graph node.</font></td>
         </tr>
         <tr>
                 <td width="586">
 <font face="Courier New">
-template &lt;class GeoObjT&gt;<br>
+template &lt;class GeoObjT&gt;<br />
 unsigned int <b>insert</b>(const GeoObjT&amp; geoObj)</font></td>
                 <td>Insert a geometry object that is a refinement of polygon 45 set as a
                 graph node, the return value is the id of the graph node.</td>
@@ -107,24 +120,24 @@
         <tr>
                 <td width="586">
 <font face="Courier New">
-template &lt;class GraphT&gt;<br>
+template &lt;class GraphT&gt;<br />
 void <b>extract</b>(GraphT&amp; graph)</font></td>
                 <td>Accepts a graph object that conforms to the expectations defined
                 above.&nbsp; Performs connectivity extraction and populates the graph
                 object.</td>
         </tr>
- </table>
- <tr>
+ </tbody></table>
+ </td></tr><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     &nbsp;</td>
 <td style="padding-left: 10px; padding-right: 10px; padding-bottom: 10px;" valign="top" width="100%">
 
 
-<table class="docinfo" rules="none" frame="void" id="table2">
+<table class="docinfo" id="table2" frame="void" rules="none">
         <colgroup>
- <col class="docinfo-name"><col class="docinfo-content">
+ <col class="docinfo-name" /><col class="docinfo-content" />
         </colgroup>
- <tbody vAlign="top">
+ <tbody valign="top">
                 <tr>
                         <th class="docinfo-name">Copyright:</th>
                         <td>Copyright © Intel Corporation 2008-2010.</td>
@@ -137,6 +150,6 @@
                         <a class="reference" target="_top" href="http://www.boost.org/LICENSE_1_0.txt">
                         http://www.boost.org/LICENSE_1_0.txt>)</td>
                 </tr>
-</table>
+</tbody></table>
 
-</html>
\ No newline at end of file
+</td></tr></tbody></table></body></html>
\ No newline at end of file

Modified: sandbox/gtl/doc/gtl_connectivity_extraction_90.htm
==============================================================================
--- sandbox/gtl/doc/gtl_connectivity_extraction_90.htm (original)
+++ sandbox/gtl/doc/gtl_connectivity_extraction_90.htm 2012-04-09 15:10:32 EDT (Mon, 09 Apr 2012)
@@ -1,15 +1,14 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40"><head><!--
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40" lang="en"><head>
+<!--
     Copyright 2009-2010 Intel Corporation
     license banner
--->
-<title>Boost Polygon Library: Connectivity Extraction 90</title>
- <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
- <!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> -->
-<table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
+--><title>Boost Polygon Library: Connectivity Extraction 90</title>
+
+ <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /><!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> --></head><body><table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/boost.png" width="277" height="86"><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
+ <img src="images/boost.png" border="0" height="86" width="277" /><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
     <div style="margin: 5px;">
@@ -37,20 +36,34 @@
                         <li>Property Merge 90</li>
                         <li>Property Merge 45</li>
                         <li>Property Merge</li>
+ <li><a href="voronoi_main.htm">Voronoi Main Page<br />
+</a></li>
+ <li>Voronoi Benchmark<br />
+ </li>
+ <li>Voronoi Builder</li>
+ <li><a href="voronoi_diagram.htm">Voronoi Diagram<br />
+</a></li>
+ <li>Voronoi Predicates</li>
+ <li>Voronoi Robust FPT<br />
+ </li>
+ <li>Voronoi Utils</li>
+
         </ul>
         <h3 class="navbar">Other Resources</h3>
         <ul>
- <li>GTL Boostcon 2009 Paper</li>
- <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
+ <li>GTL Boostcon 2009 Paper</li>
+ <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
                                 Presentation</a></li>
- <li>Performance Analysis</li>
- <li>Layout Versus Schematic Tutorial</li>
- <li>Minkowski Sum Tutorial</li>
- </ul>
+ <li>Performance Analysis</li>
+ <li>Layout Versus Schematic Tutorial</li>
+ <li>Minkowski Sum Tutorial</li>
+ <li>Voronoi Basic Tutorial</li>
+ <li>Voronoi Advanced Tutorial</li>
+</ul>
     </div>
         <h3 class="navbar">Polygon Sponsor</h3>
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/intlogo.gif" width="127" height="51"><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
+ <img src="images/intlogo.gif" border="0" height="51" width="127" /><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
 </td>
@@ -58,12 +71,12 @@
 
 <!-- End Header -->
 
-<br>
+<br />
 <p>
 </p><h1>Connectivity Extraction 90</h1>
 
 <p>
-<p>The connectivity extraction algorithm constructs the connectivity graph where
+</p><p>The connectivity extraction algorithm constructs the connectivity graph where
 input polygon sets are modeled as graph nodes and assigned node ids and
 overlap/touching between input polygon sets is modeled as graph edges.&nbsp; One
 supported graph formats is std::vector&lt;std::set&lt;int&gt; &gt; where node ids index into
@@ -73,33 +86,33 @@
 the operator[] is used internally to access the graph&nbsp;&nbsp; The other
 supported graph format is std::map&lt;int, std::set&lt;int&gt; &gt; which is slightly easier to
 work with, but potentially more expensive.&nbsp; Improving the interface to
-support more generic graph concepts is deferred to future work.<p>The following
-is the declaration of the connectivity extraction algorithm.<p>
-<font face="Courier New">template &lt;typename coordinate_type&gt;<br>
-class connectivity_extraction_90;</font><p>
+support more generic graph concepts is deferred to future work.</p><p>The following
+is the declaration of the connectivity extraction algorithm.</p><p>
+<font face="Courier New">template &lt;typename coordinate_type&gt;<br />
+class connectivity_extraction_90;</font></p><p>
 Example code connectivity_extraction_usage.cpp
                 demonstrates using the connectivity extraction algorithm to build a
-connectivity graph on geometry.<h2>Member Functions</h2>
-<table border="1" width="100%" id="table1">
- <tr>
+connectivity graph on geometry.</p><h2>Member Functions</h2>
+<table id="table1" border="1" width="100%">
+ <tbody><tr>
                 <td width="586"><b><font face="Courier New">connectivity_extraction_90</font></b><font face="Courier New">()</font></td>
                 <td>Default constructor. </td>
         </tr>
         <tr>
- <td width="586"><b><font face="Courier New">connectivity_extraction_90</font></b><font face="Courier New">(<br>&nbsp;&nbsp;&nbsp;&nbsp; const
+ <td width="586"><b><font face="Courier New">connectivity_extraction_90</font></b><font face="Courier New">(<br />&nbsp;&nbsp;&nbsp;&nbsp; const
                 connectivity_extraction_90&amp; that)</font></td>
                 <td>Copy construct.</td>
         </tr>
         <tr>
                 <td width="586">
-<font face="Courier New">unsigned int <br><b>insert</b>(const polygon_90_set_data&lt;coordinate_type&gt;&amp; ps)</font></td>
+<font face="Courier New">unsigned int <br /><b>insert</b>(const polygon_90_set_data&lt;coordinate_type&gt;&amp; ps)</font></td>
                 <td>I<font face="Times New Roman">nsert a polygon set graph node, the
                 value returned is the id of the graph node.</font></td>
         </tr>
         <tr>
                 <td width="586">
 <font face="Courier New">
-template &lt;class GeoObjT&gt;<br>
+template &lt;class GeoObjT&gt;<br />
 unsigned int <b>insert</b>(const GeoObjT&amp; geoObj)</font></td>
                 <td>Insert a geometry object that is a refinement of polygon 90 set as a
                 graph node, the return value is the id of the graph node.</td>
@@ -107,24 +120,24 @@
         <tr>
                 <td width="586">
 <font face="Courier New">
-template &lt;class GraphT&gt;<br>
+template &lt;class GraphT&gt;<br />
 void <b>extract</b>(GraphT&amp; graph)</font></td>
                 <td>Accepts a graph object that conforms to the expectations defined
                 above.&nbsp; Performs connectivity extraction and populates the graph
                 object.</td>
         </tr>
- </table>
- <tr>
+ </tbody></table>
+ </td></tr><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     &nbsp;</td>
 <td style="padding-left: 10px; padding-right: 10px; padding-bottom: 10px;" valign="top" width="100%">
 
 
-<table class="docinfo" rules="none" frame="void" id="table2">
+<table class="docinfo" id="table2" frame="void" rules="none">
         <colgroup>
- <col class="docinfo-name"><col class="docinfo-content">
+ <col class="docinfo-name" /><col class="docinfo-content" />
         </colgroup>
- <tbody vAlign="top">
+ <tbody valign="top">
                 <tr>
                         <th class="docinfo-name">Copyright:</th>
                         <td>Copyright © Intel Corporation 2008-2010.</td>
@@ -137,6 +150,6 @@
                         <a class="reference" target="_top" href="http://www.boost.org/LICENSE_1_0.txt">
                         http://www.boost.org/LICENSE_1_0.txt>)</td>
                 </tr>
-</table>
+</tbody></table>
 
-</html>
\ No newline at end of file
+</td></tr></tbody></table></body></html>
\ No newline at end of file

Modified: sandbox/gtl/doc/gtl_coordinate_concept.htm
==============================================================================
--- sandbox/gtl/doc/gtl_coordinate_concept.htm (original)
+++ sandbox/gtl/doc/gtl_coordinate_concept.htm 2012-04-09 15:10:32 EDT (Mon, 09 Apr 2012)
@@ -1,15 +1,15 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40"><head><!--
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40" lang="en"><head><!--
     Copyright 2009-2010 Intel Corporation
     license banner
--->
-<title>Boost Polygon Library: Coordinate Concept</title>
- <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
- <!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> -->
-<table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
+--><title>Boost Polygon Library: Coordinate Concept</title>
+
+
+
+ <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /><!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> --></head><body><table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/boost.png" width="277" height="86"><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
+ <img src="images/boost.png" border="0" height="86" width="277" /><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
     <div style="margin: 5px;">
@@ -37,20 +37,34 @@
                         <li>Property Merge 90</li>
                         <li>Property Merge 45</li>
                         <li>Property Merge</li>
+ <li><a href="voronoi_main.htm">Voronoi Main Page<br />
+</a></li>
+ <li>Voronoi Benchmark<br />
+ </li>
+ <li>Voronoi Builder</li>
+ <li><a href="voronoi_diagram.htm">Voronoi Diagram<br />
+</a></li>
+ <li>Voronoi Predicates</li>
+ <li>Voronoi Robust FPT<br />
+ </li>
+ <li>Voronoi Utils</li>
+
         </ul>
         <h3 class="navbar">Other Resources</h3>
         <ul>
- <li>GTL Boostcon 2009 Paper</li>
- <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
+ <li>GTL Boostcon 2009 Paper</li>
+ <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
                                 Presentation</a></li>
- <li>Performance Analysis</li>
- <li>Layout Versus Schematic Tutorial</li>
- <li>Minkowski Sum Tutorial</li>
- </ul>
+ <li>Performance Analysis</li>
+ <li>Layout Versus Schematic Tutorial</li>
+ <li>Minkowski Sum Tutorial</li>
+ <li>Voronoi Basic Tutorial</li>
+ <li>Voronoi Advanced Tutorial</li>
+</ul>
     </div>
         <h3 class="navbar">Polygon Sponsor</h3>
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/intlogo.gif" width="127" height="51"><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
+ <img src="images/intlogo.gif" border="0" height="51" width="127" /><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
 </td>
@@ -58,36 +72,36 @@
 
 <!-- End Header -->
 
-<br>
+<br />
 <p>
 </p><h1>Coordinate Concept</h1>
 
 <p>
 The coordinate concept tag is <font face="Courier New">
-coordinate_concept</font><p>
+coordinate_concept</font></p><p>
 To register a user defined type as a model of coordinate concept, specialize the
 geometry concept meta-function for that type.&nbsp; In the example below
-CCoordinate is registered as a model of coordinate concept.<p>
-<font face="Courier New">template &lt;&gt;<br>
-struct geometry_concept&lt;CCoordinate&gt; { typedef coordinate_concept type; };</font><p>
+CCoordinate is registered as a model of coordinate concept.</p><p>
+<font face="Courier New">template &lt;&gt;<br />
+struct geometry_concept&lt;CCoordinate&gt; { typedef coordinate_concept type; };</font></p><p>
 The coordinate type is expected to be integral and built-in numerical data types
 such as float and int already have concept type traits specializations in the
 library.&nbsp; In the coordinate traits are type definitions for related types
 are provided to allow the library to choose the best type to cast to under
 various circumstances.&nbsp; The definition of coordinate_traits and its
-specialization for int are shown below.<p>
-<font face="Courier New">template &lt;typename T&gt;<br>
-struct coordinate_traits {};<br>
-<br>
-template &lt;&gt;<br>
-struct coordinate_traits&lt;int&gt; {<br>
-&nbsp;&nbsp;&nbsp;&nbsp; typedef int coordinate_type;<br>
-&nbsp;&nbsp;&nbsp;&nbsp; typedef long double area_type;<br>
-&nbsp;&nbsp;&nbsp;&nbsp; typedef long long manhattan_area_type;<br>
-&nbsp;&nbsp;&nbsp;&nbsp; typedef unsigned long long unsigned_area_type;<br>
-&nbsp;&nbsp;&nbsp;&nbsp; typedef long long coordinate_difference;<br>
-&nbsp;&nbsp;&nbsp;&nbsp; typedef long double coordinate_distance;<br>
-};</font><p>
+specialization for int are shown below.</p><p>
+<font face="Courier New">template &lt;typename T&gt;<br />
+struct coordinate_traits {};<br />
+<br />
+template &lt;&gt;<br />
+struct coordinate_traits&lt;int&gt; {<br />
+&nbsp;&nbsp;&nbsp;&nbsp; typedef int coordinate_type;<br />
+&nbsp;&nbsp;&nbsp;&nbsp; typedef long double area_type;<br />
+&nbsp;&nbsp;&nbsp;&nbsp; typedef long long manhattan_area_type;<br />
+&nbsp;&nbsp;&nbsp;&nbsp; typedef unsigned long long unsigned_area_type;<br />
+&nbsp;&nbsp;&nbsp;&nbsp; typedef long long coordinate_difference;<br />
+&nbsp;&nbsp;&nbsp;&nbsp; typedef long double coordinate_distance;<br />
+};</font></p><p>
 By making use of the coordinate traits of int the library is able to avoid
 overflow and handle the normal issues encountered when programming integer
 geometry.&nbsp; For the out of the ordinary issues there is a special
@@ -96,37 +110,37 @@
 available in most compilers, long double, but can be overridden by specializing
 for a particular coordinate type.&nbsp; Use of gmp multi-precision rational or
 similar data type is recommended for numerically robust calculations in the
-general polygon algorithms.<p>
-<font face="Courier New">template &lt;typename T&gt;<br>
-struct high_precision_type {<br>
-&nbsp;&nbsp;&nbsp;&nbsp; typedef long double type;<br>
-};</font><p>
-There is only one generic function on coordinate concepts, Euclidean distance.<p>
+general polygon algorithms.</p><p>
+<font face="Courier New">template &lt;typename T&gt;<br />
+struct high_precision_type {<br />
+&nbsp;&nbsp;&nbsp;&nbsp; typedef long double type;<br />
+};</font></p><p>
+There is only one generic function on coordinate concepts, Euclidean distance.</p><p>
 <font face="Courier New">template &lt;typename coordinate_type_1, typename
-coordinate_type_2&gt;<br>
-coordinate_difference euclidean_distance(coordinate_type_1, coordinate_type_2)</font><p>
+coordinate_type_2&gt;<br />
+coordinate_difference euclidean_distance(coordinate_type_1, coordinate_type_2)</font></p><p>
 This function returns the absolution value of the difference between the two
-coordinates.<p>
+coordinates.</p><p>
 Note: older versions of the stl define a fully generic distance(T, T) function
 for computing the difference between two iterators.&nbsp; We were forced to name
-our distance function euclidean_distance to avoid name collision.<p>
+our distance function euclidean_distance to avoid name collision.</p><p>
 The
 <a href="http://www.mentor.com/products/esl/high_level_synthesis/ac_datatypes">
 Algorithmic C</a> ac_int&lt;128&gt; is an example of a user defined coordinate data
 type that satisfies the coordinate concept.&nbsp; In general a data type should
 define std::numeric_limits and be integer-like.&nbsp; Floating point coordinate
 types are not supported by all the algorithms and generally not suitable for use
-with the library at present.<tr>
+with the library at present.</p></td></tr><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     &nbsp;</td>
 <td style="padding-left: 10px; padding-right: 10px; padding-bottom: 10px;" valign="top" width="100%">
 
 
-<table class="docinfo" rules="none" frame="void" id="table1">
+<table class="docinfo" id="table1" frame="void" rules="none">
         <colgroup>
- <col class="docinfo-name"><col class="docinfo-content">
+ <col class="docinfo-name" /><col class="docinfo-content" />
         </colgroup>
- <tbody vAlign="top">
+ <tbody valign="top">
                 <tr>
                         <th class="docinfo-name">Copyright:</th>
                         <td>Copyright © Intel Corporation 2008-2010.</td>
@@ -139,6 +153,6 @@
                         <a class="reference" target="_top" href="http://www.boost.org/LICENSE_1_0.txt">
                         http://www.boost.org/LICENSE_1_0.txt>)</td>
                 </tr>
-</table>
+</tbody></table>
 
-</html>
\ No newline at end of file
+</td></tr></tbody></table></body></html>
\ No newline at end of file

Modified: sandbox/gtl/doc/gtl_design_overview.htm
==============================================================================
--- sandbox/gtl/doc/gtl_design_overview.htm (original)
+++ sandbox/gtl/doc/gtl_design_overview.htm 2012-04-09 15:10:32 EDT (Mon, 09 Apr 2012)
@@ -1,15 +1,14 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40"><head><!--
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40" lang="en"><head>
+<!--
     Copyright 2009-2010 Intel Corporation
     license banner
--->
-<title>Boost Polygon Library: Overview</title>
- <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
- <!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> -->
-<table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
+--><title>Boost Polygon Library: Overview</title>
+
+ <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /><!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> --></head><body><table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/boost.png" width="277" height="86"><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
+ <img src="images/boost.png" border="0" height="86" width="277" /><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
     <div style="margin: 5px;">
@@ -38,6 +37,18 @@
                         <li>Property Merge 90</li>
                         <li>Property Merge 45</li>
                         <li>Property Merge</li>
+ <li><a href="voronoi_main.htm">Voronoi Main Page<br />
+</a></li>
+ <li>Voronoi Benchmark<br />
+ </li>
+ <li>Voronoi Builder</li>
+ <li><a href="voronoi_diagram.htm">Voronoi Diagram<br />
+</a></li>
+ <li>Voronoi Predicates</li>
+ <li>Voronoi Robust FPT<br />
+ </li>
+ <li>Voronoi Utils</li>
+
         </ul>
         <h3 class="navbar">Other Resources</h3>
         <ul>
@@ -47,11 +58,14 @@
              <li>Performance Analysis</li>
                 <li>Layout Versus Schematic Tutorial</li>
                 <li>Minkowski Sum Tutorial</li>
+ <li>Voronoi Basic Tutorial</li>
+ <li>Voronoi Advanced Tutorial</li>
+
         </ul>
     </div>
         <h3 class="navbar">Polygon Sponsor</h3>
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/intlogo.gif" width="127" height="51"><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
+ <img src="images/intlogo.gif" border="0" height="51" width="127" /><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
 </td>
@@ -59,12 +73,12 @@
 
 <!-- End Header -->
 
-<br>
+<br />
 <p>
 </p><h1>Polygon Library Design Overview</h1>
 
 <p>
-<p>The Polygon library uses C++-Concepts inspired template programming to
+</p><p>The Polygon library uses C++-Concepts inspired template programming to
 provide generic library functions overloaded on concept type.&nbsp; There are
 currently thirteen concepts in the Polygon library type system.&nbsp; A concept
 object in the Polygon library is just an empty struct similar to a tag that
@@ -72,7 +86,7 @@
 refinement diagram below.</p>
 
 
-</body><img border="0" src="images/refinements.png" width="466" height="369"><p>
+<img src="images/refinements.png" border="0" height="369" width="466" /><p>
 The arrows between diagram bubbles show concept refinement relationships.&nbsp; This is
 similar, but not identical to, inheritance relationships between normal classes.&nbsp;
 A refinement of a concept narrows down the definition of a more general concept.&nbsp;
@@ -125,7 +139,7 @@
 as that conceptual type with the library by
 specializing the geometry_concept meta-function.&nbsp; Once mapped and
 registered, a user data type can be used interchangeably with library data types
-in the generic free functions that are overloaded on concept.<p>Traits for
+in the generic free functions that are overloaded on concept.</p><p>Traits for
 mapping a data type to a concept are broken down into mutable and read only
 traits.&nbsp; Read only traits are specialized internally to work with any types
 that are refinements of a concept.&nbsp; The mutable traits are defined only for
@@ -137,7 +151,7 @@
 traits defined for that triangle type.&nbsp; This would allow the triangle type
 to be passed into any API that expects a const reference to an object that models
 polygon.&nbsp;
-<p>An object that is a model of a given concept can usually be viewed as a model of any of its
+</p><p>An object that is a model of a given concept can usually be viewed as a model of any of its
 refinements if it is determined at runtime to conform to the restrictions of
 those concepts.&nbsp; This concept casting is accomplished through the
 <font face="Courier New">view_as&lt;&gt;()</font> function.&nbsp; For example if
@@ -148,17 +162,17 @@
 passed into any interface that expects an object of the conceptual type
 specified in its template parameter.&nbsp; The exception to this ability to
 concept cast geometric objects is that polygon set objects cannot be viewed as
-individual polygons or rectangles.</p> <tr>
+individual polygons or rectangles.</p> </td></tr><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     &nbsp;</td>
 <td style="padding-left: 10px; padding-right: 10px; padding-bottom: 10px;" valign="top" width="100%">
 
 
-<table class="docinfo" rules="none" frame="void" id="table1">
+<table class="docinfo" id="table1" frame="void" rules="none">
         <colgroup>
- <col class="docinfo-name"><col class="docinfo-content">
+ <col class="docinfo-name" /><col class="docinfo-content" />
         </colgroup>
- <tbody vAlign="top">
+ <tbody valign="top">
                 <tr>
                         <th class="docinfo-name">Copyright:</th>
                         <td>Copyright © Intel Corporation 2008-2010.</td>
@@ -171,6 +185,6 @@
                         <a class="reference" target="_top" href="http://www.boost.org/LICENSE_1_0.txt">
                         http://www.boost.org/LICENSE_1_0.txt>)</td>
                 </tr>
-</table>
+</tbody></table>
 
-</html>
\ No newline at end of file
+</td></tr></tbody></table></body></html>
\ No newline at end of file

Modified: sandbox/gtl/doc/gtl_interval_concept.htm
==============================================================================
--- sandbox/gtl/doc/gtl_interval_concept.htm (original)
+++ sandbox/gtl/doc/gtl_interval_concept.htm 2012-04-09 15:10:32 EDT (Mon, 09 Apr 2012)
@@ -1,15 +1,14 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40"><head><!--
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40" lang="en"><head>
+<!--
     Copyright 2009-2010 Intel Corporation
     license banner
--->
-<title>Boost Polygon Library: Interval Concept</title>
- <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
- <!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> -->
-<table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
+--><title>Boost Polygon Library: Interval Concept</title>
+
+ <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /><!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> --></head><body><table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/boost.png" width="277" height="86"><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
+ <img src="images/boost.png" border="0" height="86" width="277" /><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
     <div style="margin: 5px;">
@@ -37,6 +36,18 @@
                         <li>Property Merge 90</li>
                         <li>Property Merge 45</li>
                         <li>Property Merge</li>
+ <li><a href="voronoi_main.htm">Voronoi Main Page<br />
+</a></li>
+ <li>Voronoi Benchmark<br />
+ </li>
+ <li>Voronoi Builder</li>
+ <li><a href="voronoi_diagram.htm">Voronoi Diagram<br />
+</a></li>
+ <li>Voronoi Predicates</li>
+ <li>Voronoi Robust FPT<br />
+ </li>
+ <li>Voronoi Utils</li>
+
         </ul>
         <h3 class="navbar">Other Resources</h3>
         <ul>
@@ -46,11 +57,14 @@
              <li>Performance Analysis</li>
                 <li>Layout Versus Schematic Tutorial</li>
                 <li>Minkowski Sum Tutorial</li>
+ <li>Voronoi Basic Tutorial</li>
+ <li>Voronoi Advanced Tutorial</li>
+
         </ul>
     </div>
         <h3 class="navbar">Polygon Sponsor</h3>
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/intlogo.gif" width="127" height="51"><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
+ <img src="images/intlogo.gif" border="0" height="51" width="127" /><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
 </td>
@@ -58,19 +72,19 @@
 
 <!-- End Header -->
 
-<br>
+<br />
 <p>
 </p><h1>Interval Concept</h1>
 
 <p>
-<p>The interval concept tag is <font face="Courier New">
+</p><p>The interval concept tag is <font face="Courier New">
 interval_concept</font></p>
 <p>
 To register a user defined type as a model of interval concept, specialize the
 geometry concept meta-function for that type.&nbsp; In the example below
-CInterval is registered as a model of interval&nbsp; concept.<p>
-<font face="Courier New">template &lt;&gt;<br>
-struct geometry_concept&lt;CInterval&gt; { typedef interval_concept type; };</font><p>
+CInterval is registered as a model of interval&nbsp; concept.</p><p>
+<font face="Courier New">template &lt;&gt;<br />
+struct geometry_concept&lt;CInterval&gt; { typedef interval_concept type; };</font></p><p>
 <font face="Times New Roman">The semantic of an interval is that it has a low
 and high coordinate and there is an invariant that low is less than or equal to
 high.&nbsp; This invariant is enforced by the generic library functions that
@@ -78,50 +92,51 @@
 mapping of that data type to the interval concept through its traits.&nbsp; In
 this way a std::pair&lt;int, int&gt;, boost::tuple&lt;int, int&gt; or boost::array&lt;int, 2&gt;
 could all be made models of interval by simply providing indirect access to their
-elements through traits.</font><p>
+elements through traits.</font></p><p>
 <font face="Times New Roman">Below is shown the default interval traits.&nbsp;
 Specialization of these traits is required for types that don't conform to the
-default behavior.</font><p>
-<font face="Courier New">template &lt;typename T&gt;<br>
-struct interval_traits {<br>
-&nbsp; typedef typename T::coordinate_type coordinate_type;<br>
-<br>
-&nbsp; static inline coordinate_type get(const T&amp; interval, direction_1d dir) {<br>
-&nbsp;&nbsp;&nbsp; return interval.get(dir); <br>
-&nbsp; }<br>
-};<br>
-<br>
-template &lt;typename T&gt;<br>
-struct interval_mutable_traits {<br>
+default behavior.</font></p><p>
+<font face="Courier New">template &lt;typename T&gt;<br />
+struct interval_traits {<br />
+&nbsp; typedef typename T::coordinate_type coordinate_type;<br />
+<br />
+&nbsp; static inline coordinate_type get(const T&amp; interval, direction_1d dir) {<br />
+&nbsp;&nbsp;&nbsp; return interval.get(dir); <br />
+&nbsp; }<br />
+};<br />
+<br />
+template &lt;typename T&gt;<br />
+struct interval_mutable_traits {<br />
 &nbsp; static inline void set(T&amp; interval, direction_1d dir, </font>
-<br>
-<font face="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; typename interval_traits&lt;T&gt;::coordinate_type value) {<br>
+<br />
+<font face="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+typename interval_traits&lt;T&gt;::coordinate_type value) {<br />
 &nbsp;&nbsp;&nbsp;
-interval.set(dir, value); <br>
+interval.set(dir, value); <br />
 &nbsp;
-}<br>
+}<br />
 &nbsp;
 static inline T construct(typename interval_traits&lt;T&gt;::coordinate_type low_value,
-<br>
+<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-typename interval_traits&lt;T&gt;::coordinate_type high_value) {<br>
+typename interval_traits&lt;T&gt;::coordinate_type high_value) {<br />
 &nbsp;&nbsp;&nbsp;
-return T(low_value, high_value); <br>
+return T(low_value, high_value); <br />
 &nbsp;
-}<br>
-};</font><h2>Functions</h2>
-<table border="1" width="100%" id="table1">
- <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+}<br />
+};</font></p><h2>Functions</h2>
+<table id="table1" border="1" width="100%">
+ <tbody><tr>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 coordinate_type <b>get</b>(const T&amp; interval, direction_1d)</font></td>
                 <td><font face="Times New Roman">Expects a model of interval.&nbsp;
                 Returns the low or high coordinate of the interval, depending on the
- direction_1d value.</font><font face="Courier New"><br>
+ direction_1d value.</font><font face="Courier New"><br />
 &nbsp;</font></td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T, typename
- coordinate_type&gt;<br>
+ coordinate_type&gt;<br />
                 void <b>set</b>(T&amp; interval, direction_1d, coordinate_type)</font></td>
                 <td><font face="Times New Roman">Expects a model of interval.&nbsp;&nbsp;
                 Sets the low or high coordinate of the interval to the coordinate,
@@ -129,28 +144,28 @@
                 high after this change then both are set to the input coordinate value.</font></td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T <b>construct</b>(coordinate_type low, coordinate_type high)</font></td>
                 <td>Construct an object that is a model of interval given low and high
                 coordinate values.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>assign</b>(T1&amp; left, const T2&amp; right)</font></td>
                 <td>Copies data from right object that models interval into left object
                 that models interval.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T, typename
- T2&gt;<br>
+ T2&gt;<br />
                 bool <b>equivalence</b>(const T&amp; interval1, const T2&amp; interval2)</font></td>
                 <td>Given two objects that model interval, compares and returns true if
                 their low and high values are respectively equal to each other.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
- bool <b>contains</b>(const T&amp;, coordinate_type, <br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
+ bool <b>contains</b>(const T&amp;, coordinate_type, <br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                 bool consider_touch=true)</font></td>
                 <td>Given an object that models interval and a coordinate, returns true
@@ -160,8 +175,8 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
- bool <b>contains</b>(const T1&amp; a, const T2&amp; b, <br>
+ T2&gt;<br />
+ bool <b>contains</b>(const T1&amp; a, const T2&amp; b, <br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                 bool consider_touch = true) </font></td>
                 <td>Returns true if model of interval a contains both ends of model of
@@ -170,25 +185,25 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- interval_type&gt;<br>
+ interval_type&gt;<br />
                 coordinate_type <b>low</b>(const interval_type&amp; interval)</font></td>
                 <td>Returns the low end of an object that models interval.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- interval_type&gt;<br>
+ interval_type&gt;<br />
                 coordinate_type <b>high</b>(const interval_type&amp; interval)</font></td>
                 <td>Returns the high end of an object that models interval.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">// get the center coordinate<br>
- template &lt;typename interval_type&gt;<br>
+ <td width="586"><font face="Courier New">// get the center coordinate<br />
+ template &lt;typename interval_type&gt;<br />
                 coordinate_type <b>center</b>(const interval_type&amp; interval)</font></td>
                 <td>Returns the center coordinate of an object that models interval.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- interval_type&gt;<br>
+ interval_type&gt;<br />
                 void <b>low</b>(interval_type&amp; interval, coordinate_type )</font></td>
                 <td>Sets the low end of the object that models interval to the
                 coordinate value.&nbsp; If the low end would be set to larger than high
@@ -196,7 +211,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- interval_type&gt;<br>
+ interval_type&gt;<br />
                 void <b>high</b>(interval_type&amp; interval, coordinate_type )</font></td>
                 <td>Sets the high end of the object that models interval to the
                 coordinate value.&nbsp; If the high end would be set to less than low
@@ -204,15 +219,15 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- interval_type&gt;<br>
+ interval_type&gt;<br />
                 coordinate_difference <b>delta</b>(const interval_type&amp; interval)</font></td>
                 <td>Returns the distance from low to high end of an object that models
                 interval.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- interval_type&gt;<br>
- interval_type&amp; <b>flip</b>(interval_type&amp; interval,<br>
+ interval_type&gt;<br />
+ interval_type&amp; <b>flip</b>(interval_type&amp; interval,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                 coordinate_type axis = 0)</font></td>
                 <td>Flips an object that models interval about the axis coordinate.&nbsp;
@@ -220,26 +235,26 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- interval_type&gt;<br>
- interval_type&amp; <b>scale_up</b>(interval_type&amp; interval, <br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- unsigned_area_type factor)</font></td>
+ interval_type&gt;<br />
+ interval_type&amp; <b>scale_up</b>(interval_type&amp; interval, <br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+unsigned_area_type factor)</font></td>
                 <td>Multiplies low and high ends of an object that models interval by
                 unsigned factor.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- interval_type&gt;<br>
- interval_type&amp; <b>scale_down</b>(interval_type&amp; interval, <br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- unsigned_area_type factor)</font></td>
+ interval_type&gt;<br />
+ interval_type&amp; <b>scale_down</b>(interval_type&amp; interval, <br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+unsigned_area_type factor)</font></td>
                 <td>Divides low and high ends of an object that models interval by
                 unsigned factor.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- interval_type&gt;<br>
- interval_type&amp; <b>scale</b>(interval_type&amp; interval,<br>
+ interval_type&gt;<br />
+ interval_type&amp; <b>scale</b>(interval_type&amp; interval,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                 double factor) </font></td>
                 <td>Multiplies low and high ends of an object that models interval by
@@ -247,8 +262,8 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- interval_type&gt;<br>
- interval_type&amp; <b>move</b>(interval_type&amp; interval,<br>
+ interval_type&gt;<br />
+ interval_type&amp; <b>move</b>(interval_type&amp; interval,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                 coordinate_difference displacement)</font></td>
                 <td>Adds displacement value to low and high ends of an object that
@@ -256,53 +271,53 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- interval_type&gt;<br>
- interval_type&amp; <b>convolve</b>(interval_type&amp; interval,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- coordinate_type b)</font></td>
+ interval_type&gt;<br />
+ interval_type&amp; <b>convolve</b>(interval_type&amp; interval,<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+coordinate_type b)</font></td>
                 <td>Adds coordinate value to low and high ends of an object that models
                 interval.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- interval_type&gt;<br>
- interval_type&amp; <b>deconvolve</b>(interval_type&amp; interval,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- coordinate_type b)</font></td>
+ interval_type&gt;<br />
+ interval_type&amp; <b>deconvolve</b>(interval_type&amp; interval,<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+coordinate_type b)</font></td>
                 <td>Subtracts coordinate value from low and high ends of an object that
                 models interval.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>convolve</b>(T1&amp; a, const T2&amp; b)</font></td>
                 <td>Adds low end of b to low end of a and adds high end of b to high end
                 of a.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>deconvolve</b>(T1&amp; a, const T2&amp; b)</font></td>
                 <td>Subtracts low end of b from low end of a and subtracts high end of b
                 from high end of a. </td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>reflected_convolve</b>(T1&amp; a, const T2&amp; b)</font></td>
                 <td>Adds high end of b to low end of a and adds low end of b to high end
                 of a.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>reflected_deconvolve</b>(T1&amp; a, const T2&amp; b)</font></td>
                 <td>Subtracts high end of b from low end of a and subtracts low end of b
                 from high end of a.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
- coordinate_difference <b>euclidean_distance</b>(const T&amp;,<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
+ coordinate_difference <b>euclidean_distance</b>(const T&amp;,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                 coordinate_type)</font></td>
                 <td>Returns the distance from an object that models interval to a
@@ -311,8 +326,8 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
- bool <b>intersects</b>(const T1&amp; interval, const T2&amp; b, <br>
+ T2&gt;<br />
+ bool <b>intersects</b>(const T1&amp; interval, const T2&amp; b, <br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                 bool consider_touch = true)</font></td>
                 <td>Returns true if two objects that model interval overlap.&nbsp; If
@@ -321,10 +336,10 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
- bool <b>boundaries_intersect</b>(const T1&amp; interval, const T2&amp; b, <br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- bool consider_touch = true)</font></td>
+ T2&gt;<br />
+ bool <b>boundaries_intersect</b>(const T1&amp; interval, const T2&amp; b, <br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+bool consider_touch = true)</font></td>
                 <td>Returns true is two objects that model interval partially overlap
                 such that one end point of each is contained within the other.&nbsp; If
                 the consider_touch flag is true a coordinate is considered contained
@@ -332,8 +347,8 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
- bool <b>abuts</b>(const T1&amp; a, const T2&amp; b,<br>
+ T2&gt;<br />
+ bool <b>abuts</b>(const T1&amp; a, const T2&amp; b,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; direction_1d dir)
                 </font></td>
                 <td>Returns true if interval b abuts but down not overlap interval a on
@@ -341,14 +356,14 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 bool <b>abuts</b>(const T1&amp; a, const T2&amp; b)</font></td>
                 <td>Returns true if interval b abuts but down not overlap interval a.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
- bool <b>intersect</b>(T1&amp; a, const T2&amp; b,<br>
+ T2&gt;<br />
+ bool <b>intersect</b>(T1&amp; a, const T2&amp; b,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                 bool consider_touch = true) </font></td>
                 <td>Sets interval a to the intersection of interval a and interval b and
@@ -358,55 +373,55 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T&amp; <b>generalized_intersect</b>(T1&amp; a, const T2&amp; b)</font></td>
                 <td>Same as intersect, but if they do not intersect set a to the
                 interval between a and b.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>bloat</b>(T&amp; interval, coordinate_type)</font></td>
                 <td>Adds the coordinate value to high end of interval and subtracts it
                 from low end of interval.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>bloat</b>(T&amp; interval, direction_1d, coordinate_type)</font></td>
                 <td>Adds the coordinate value to high end of interval or subtracts it
                 from low end of interval depending on the direction_1d.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>shrink</b>(T&amp; interval, coordinate_type)</font></td>
                 <td>Subtracts the coordinate value from high end of interval and adds it
                 to low end of interval.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>shrink</b>(T&amp; interval, direction_1d, coordinate_type)</font></td>
                 <td>Subtracts the coordinate value from high end of interval or adds it
                 to low end of interval depending on the direction_1d.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 bool <b>encompass</b>(T1&amp; a, const T2&amp; b)</font></td>
                 <td>Sets low of a to min of low of a and low of b and sets high of a to
                 max of high of a and high of b.&nbsp; Returns true if b was not
                 contained within a to begin with.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 bool <b>encompass</b>(T&amp; a, coordinate_type)</font></td>
                 <td>Sets low of a to min of low of a and coordinate value and sets high
                 of a to max of high of a and coordinate value.&nbsp; Returns true if
                 coordinate value was not contained within a to begin with.</td>
         </tr>
-</table>
+</tbody></table>
         <h1>Interval Data</h1>
 
 <p>
-<p>The library provides a model of interval concept declared
+</p><p>The library provides a model of interval concept declared
 <font face="Courier New">
 template&lt;typename T&gt; interval_data </font>where T is the coordinate type.</p>
 <p>This data type is used internally when an interval is needed and is available
@@ -414,8 +429,8 @@
 instead of providing their own.&nbsp; The data type is implemented to be
 convenient to use with the library traits.</p>
 <h2>Members</h2>
-<table border="1" width="100%" id="table2">
- <tr>
+<table id="table2" border="1" width="100%">
+ <tbody><tr>
                 <td width="586"><b><font face="Courier New">geometry_type</font></b></td>
                 <td><font face="Times New Roman">interval_concept</font></td>
         </tr>
@@ -446,42 +461,42 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T2&gt;<b>&nbsp;
- <br> </b>interval_data&amp; <b>operator=</b>(const T2&amp; that) const</font></td>
+ <br /> </b>interval_data&amp; <b>operator=</b>(const T2&amp; that) const</font></td>
                 <td>Assign from an object that is a model of interval.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T2&gt;<b>
- <br> </b>bool<b>
+ <br /> </b>bool<b>
                 operator==</b>(const T2&amp; that) const</font></td>
                 <td>Compare equality to an object that is a model of interval.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T2&gt;<b>
- <br> </b>bool<b>
+ <br /> </b>bool<b>
                 operator!=</b>(const T2&amp; that) const</font></td>
                 <td>Compare inequality to an object that is a model of interval.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T2&gt;<b>
- <br> </b>bool<b>
+ <br /> </b>bool<b>
                 operator&lt;</b>(const T2&amp; that) const</font></td>
                 <td>Compares low coordinates then high coordinates to break ties.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T2&gt;<b>
- <br> </b>bool<b>
+ <br /> </b>bool<b>
                 operator&lt;=</b>(const T2&amp; that) const</font></td>
                 <td>Compares low coordinates then high coordinates to break ties.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T2&gt;<b>
- <br> </b>bool<b>
+ <br /> </b>bool<b>
                 operator&gt;</b>(const T2&amp; that) const</font></td>
                 <td>Compares low coordinates then high coordinates to break ties.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T2&gt;<b>
- <br> </b>bool<b>
+ <br /> </b>bool<b>
                 operator&gt;=</b>(const T2&amp; that) const</font></td>
                 <td>Compares low coordinates then high coordinates to break ties.</td>
         </tr>
@@ -495,18 +510,18 @@
                 dir, T value)</font></td>
                 <td>Sets the coordinate in the given direction to the value.</td>
         </tr>
- </table>
- <tr>
+ </tbody></table>
+ </td></tr><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     &nbsp;</td>
 <td style="padding-left: 10px; padding-right: 10px; padding-bottom: 10px;" valign="top" width="100%">
 
 
-<table class="docinfo" rules="none" frame="void" id="table3">
+<table class="docinfo" id="table3" frame="void" rules="none">
         <colgroup>
- <col class="docinfo-name"><col class="docinfo-content">
+ <col class="docinfo-name" /><col class="docinfo-content" />
         </colgroup>
- <tbody vAlign="top">
+ <tbody valign="top">
                 <tr>
                         <th class="docinfo-name">Copyright:</th>
                         <td>Copyright © Intel Corporation 2008-2010.</td>
@@ -519,6 +534,6 @@
                         <a class="reference" target="_top" href="http://www.boost.org/LICENSE_1_0.txt">
                         http://www.boost.org/LICENSE_1_0.txt>)</td>
                 </tr>
-</table>
+</tbody></table>
 
-</html>
\ No newline at end of file
+</td></tr></tbody></table></body></html>
\ No newline at end of file

Modified: sandbox/gtl/doc/gtl_isotropy.htm
==============================================================================
--- sandbox/gtl/doc/gtl_isotropy.htm (original)
+++ sandbox/gtl/doc/gtl_isotropy.htm 2012-04-09 15:10:32 EDT (Mon, 09 Apr 2012)
@@ -1,15 +1,14 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40"><head><!--
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40" lang="en"><head>
+<!--
     Copyright 2009-2010 Intel Corporation
     license banner
--->
-<title>Boost Polygon Library: Isotropy</title>
- <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
- <!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> -->
-<table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
+--><title>Boost Polygon Library: Isotropy</title>
+
+ <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /><!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> --></head><body><table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/boost.png" width="277" height="86"><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
+ <img src="images/boost.png" border="0" height="86" width="277" /><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
     <div style="margin: 5px;">
@@ -37,6 +36,18 @@
                         <li>Property Merge 90</li>
                         <li>Property Merge 45</li>
                         <li>Property Merge</li>
+ <li><a href="voronoi_main.htm">Voronoi Main Page<br />
+</a></li>
+ <li>Voronoi Benchmark<br />
+ </li>
+ <li>Voronoi Builder</li>
+ <li><a href="voronoi_diagram.htm">Voronoi Diagram<br />
+</a></li>
+ <li>Voronoi Predicates</li>
+ <li>Voronoi Robust FPT<br />
+ </li>
+ <li>Voronoi Utils</li>
+
         </ul>
         <h3 class="navbar">Other Resources</h3>
         <ul>
@@ -46,11 +57,13 @@
              <li>Performance Analysis</li>
                 <li>Layout Versus Schematic Tutorial</li>
                 <li>Minkowski Sum Tutorial</li>
- </ul>
+ <li>Voronoi Basic Tutorial</li>
+ <li>Voronoi Advanced Tutorial</li>
+</ul>
     </div>
         <h3 class="navbar">Polygon Sponsor</h3>
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/intlogo.gif" width="127" height="51"><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
+ <img src="images/intlogo.gif" border="0" height="51" width="127" /><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
 </td>
@@ -58,21 +71,20 @@
 
 <!-- End Header -->
 
-<br>
+<br />
 <p>
 </p><h1>Isotropy</h1>
 
 <p>
-<p align="left">What is isotropy?</p>
-<P:COLORSCHEME
-colors="#ffffff,#000000,#808080,#000000,#bbe0e3,#333399,#009999,#99cc00" />
-<div class="O" style="TEXT-ALIGN: center; mso-line-spacing: '90 0 0'; mso-margin-left-alt: 216; mso-char-wrap: 1; mso-kinsoku-overflow: 1" v:shape="_x0000_s1026">
- <p style="TEXT-ALIGN: left">
- <span style="mso-bidi-font-family: Arial">Isotropy - Function: <i>adjective</i> Etymology: International
- Scientific Vocabulary<br>
+</p><p align="left">What is isotropy?</p>
+<p:colorscheme colors="#ffffff,#000000,#808080,#000000,#bbe0e3,#333399,#009999,#99cc00">
+</p:colorscheme><div class="O" style="text-align: center;" v:shape="_x0000_s1026">
+ <p style="text-align: left;">
+ <span style="">Isotropy - Function: <i>adjective</i> Etymology: International
+ Scientific Vocabulary<br />
         <b>:</b> exhibiting properties (as velocity of light transmission) with the
         same values when measured along axes in all directions &lt;an <i>isotropic</i>
- crystal&gt;</span></div>
+ crystal&gt;</span></p></div>
 <p align="left">In computational geometry things are often symmetric and
 invariant to direction and orientation.&nbsp; This invariance to direction is
 called isotropy.&nbsp; In such situations it is convenient to parameterize
@@ -97,8 +109,8 @@
 describing isotropic situations programmatically.&nbsp; For instance, to get the
 positive direction_2d from an orientation_2d you would call a member function of
 orientation_2d and pass a direction_1d:</p>
-<p align="left"><font face="Courier New">orientation_2d orient = HORIZONTAL;<br>
-direction_2d dir = orient.get_direction(direction_1d(HIGH));<br>
+<p align="left"><font face="Courier New">orientation_2d orient = HORIZONTAL;<br />
+direction_2d dir = orient.get_direction(direction_1d(HIGH));<br />
 assert(dir == EAST);</font></p>
 <p align="left">The motivation for providing isotropic data types is to
 encourage programming at a higher level of abstraction where program behavior is
@@ -116,7 +128,7 @@
 <h2>direction_1d</h2>
 
 <p>
-<p align="left">The direction_1d data type has two possible states.&nbsp; These
+</p><p align="left">The direction_1d data type has two possible states.&nbsp; These
 are the positive and negative directions on a continuum such as the number line.&nbsp;&nbsp;
 These states can be described by one of several direction_1d_enum values:&nbsp;
 We make clockwise and counterclockwise winding orientation of polygons a
@@ -124,24 +136,23 @@
 type.&nbsp; This is because winding orientation can be thought of as positive
 and negative directions in a 1d (although cyclic) space.&nbsp; We assign
 counterclockwise to be the positive direction of travel in the 1d cyclic space
-to conform with the mathematical convention frequently described as the &quot;right
-hand rule&quot; which assigns positive normal value to counterclockwise and negative
+to conform with the mathematical convention frequently described as the "right
+hand rule" which assigns positive normal value to counterclockwise and negative
 normal value to clockwise as well as the common convention that counterclockwise
 polygon winding corresponds to positive polygonal regions where as clockwise
 polygon winding corresponds to hole (negative) polygonal regions.</p>
 <p align="left"><font face="Courier New">enum direction_1d_enum {LOW = 0, HIGH =
-1,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-LEFT = 0, RIGHT = 1,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-CLOCKWISE = 0, COUNTERCLOCKWISE = 1,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-REVERSE = 0, FORWARD = 1,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+1,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+LEFT = 0, RIGHT = 1,<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+CLOCKWISE = 0, COUNTERCLOCKWISE = 1,<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+REVERSE = 0, FORWARD = 1,<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 NEGATIVE = 0, POSITIVE = 1 };</font></p>
 <h2>Member Functions</h2>
-<table border="1" width="100%" id="table1">
- <tr>
+<table id="table1" border="1" width="100%">
+ <tbody><tr>
                 <td width="586"><font face="Courier New"><b>direction_1d</b>(direction_1d_enum
                 val = LOW)</font></td>
                 <td>Constructor defaults to LOW. </td>
@@ -195,18 +206,18 @@
                 <td>Returns positive 1 if positive direction and negative one if
                 negative direction.</td>
         </tr>
- </table>
+ </tbody></table>
 <h2>orientation_2d</h2>
 
 <p>
-<p align="left">The orientation_2d data type has two possible states.&nbsp;
+</p><p align="left">The orientation_2d data type has two possible states.&nbsp;
 These are the horizontal and vertical axis of a 2d Cartesian coordinate system.&nbsp;&nbsp;
 These states can be described by one of the two orientation_2d_enum values:</p>
 <p align="left"><font face="Courier New">enum orientation_2d_enum { HORIZONTAL =
 0, VERTICAL = 1 };</font></p>
 <h2>Member Functions</h2>
-<table border="1" width="100%" id="table2">
- <tr>
+<table id="table2" border="1" width="100%">
+ <tbody><tr>
                 <td width="586"><b><font face="Courier New">orientation_2</font></b><font face="Courier New"><b>d</b>(orientation_2d_enum
                 val = HORIZONTAL)</font></td>
                 <td>Constructor defaults to HORIZONTAL. </td>
@@ -263,18 +274,18 @@
                 <td>Returns the positive or negative direction_2d depending on the value
                 of dir</td>
         </tr>
- </table>
+ </tbody></table>
 <h2>direction_2d</h2>
 
 <p>
-<p align="left">The direction_2d data type has four possible states.&nbsp; These
+</p><p align="left">The direction_2d data type has four possible states.&nbsp; These
 are the cardinal directions of the 2D Cartesian coordinate system.&nbsp;&nbsp;
 These states can be described by one of several direction_2d_enum values:</p>
 <p align="left"><font face="Courier New">enum direction_2d_enum { WEST = 0, EAST
 = 1, SOUTH = 2, NORTH = 3 };</font></p>
 <h2>Member Functions</h2>
-<table border="1" width="100%" id="table3">
- <tr>
+<table id="table3" border="1" width="100%">
+ <tbody><tr>
                 <td width="586"><font face="Courier New"><b>direction_2d</b>(direction_2d_enum
                 val = WEST)</font></td>
                 <td>Constructor defaults to WEST. </td>
@@ -344,19 +355,19 @@
                 <td>Returns positive 1 if positive direction and negative one if
                 negative direction.</td>
         </tr>
- </table>
+ </tbody></table>
 <h2>orientation_3d</h2>
 
 <p>
-<p align="left">The orientation_3d data type has three possible states.&nbsp;
+</p><p align="left">The orientation_3d data type has three possible states.&nbsp;
 These are the horizontal, vertical and proximal (x, y, z) axis of a 3d Cartesian
 coordinate system.&nbsp;&nbsp; These states can be described by one of the
 orientation_2d_enum values or by the orientation_3d_enum value:</p>
 <p align="left"><font face="Courier New">enum orientation_3d_enum { PROXIMAL = 2
 };</font></p>
 <h2>Member Functions</h2>
-<table border="1" width="100%" id="table6">
- <tr>
+<table id="table6" border="1" width="100%">
+ <tbody><tr>
                 <td width="586"><b><font face="Courier New">orientation_3</font></b><font face="Courier New"><b>d</b>(orientation_2d_enum
                 val = HORIZONTAL)</font></td>
                 <td>Constructor defaults to HORIZONTAL. </td>
@@ -418,19 +429,19 @@
                 <td>Returns the positive or negative direction_2d depending on the value
                 of dir</td>
         </tr>
- </table>
+ </tbody></table>
 <h2>direction_3d</h2>
 
 <p>
-<p align="left">The direction_3d data type has six possible states.&nbsp; These
+</p><p align="left">The direction_3d data type has six possible states.&nbsp; These
 are the cardinal directions of the 3D Cartesian coordinate system.&nbsp;&nbsp;
 These states can be described by one of the direction_2d_enum values or the
 direction_3d_enum values:</p>
 <p align="left"><font face="Courier New">enum direction_3d_enum { DOWN = 4, UP =
 5 };</font></p>
 <h2>Member Functions</h2>
-<table border="1" width="100%" id="table5">
- <tr>
+<table id="table5" border="1" width="100%">
+ <tbody><tr>
                 <td width="586"><font face="Courier New"><b>direction_3d</b>(direction_2d_enum
                 val = WEST)</font></td>
                 <td>Constructor defaults to LOW. </td>
@@ -492,18 +503,18 @@
                 <td>Returns positive 1 if positive direction and negative one if
                 negative direction.</td>
         </tr>
- </table>
- <tr>
+ </tbody></table>
+ </td></tr><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     &nbsp;</td>
 <td style="padding-left: 10px; padding-right: 10px; padding-bottom: 10px;" valign="top" width="100%">
 
 
-<table class="docinfo" rules="none" frame="void" id="table7">
+<table class="docinfo" id="table7" frame="void" rules="none">
         <colgroup>
- <col class="docinfo-name"><col class="docinfo-content">
+ <col class="docinfo-name" /><col class="docinfo-content" />
         </colgroup>
- <tbody vAlign="top">
+ <tbody valign="top">
                 <tr>
                         <th class="docinfo-name">Copyright:</th>
                         <td>Copyright © Intel Corporation 2008-2010.</td>
@@ -516,6 +527,6 @@
                         <a class="reference" target="_top" href="http://www.boost.org/LICENSE_1_0.txt">
                         http://www.boost.org/LICENSE_1_0.txt>)</td>
                 </tr>
-</table>
+</tbody></table>
 
-</html>
\ No newline at end of file
+</td></tr></tbody></table></body></html>
\ No newline at end of file

Modified: sandbox/gtl/doc/gtl_point_concept.htm
==============================================================================
--- sandbox/gtl/doc/gtl_point_concept.htm (original)
+++ sandbox/gtl/doc/gtl_point_concept.htm 2012-04-09 15:10:32 EDT (Mon, 09 Apr 2012)
@@ -1,15 +1,14 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40"><head><!--
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40" lang="en"><head>
+<!--
     Copyright 2009-2010 Intel Corporation
     license banner
--->
-<title>Boost Polygon Library: Point Concept</title>
- <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
- <!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> -->
-<table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
+--><title>Boost Polygon Library: Point Concept</title>
+
+ <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /><!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> --></head><body><table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/boost.png" width="277" height="86"><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
+ <img src="images/boost.png" border="0" height="86" width="277" /><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
     <div style="margin: 5px;">
@@ -37,6 +36,18 @@
                         <li>Property Merge 90</li>
                         <li>Property Merge 45</li>
                         <li>Property Merge</li>
+ <li><a href="voronoi_main.htm">Voronoi Main Page<br />
+</a></li>
+ <li>Voronoi Benchmark<br />
+ </li>
+ <li>Voronoi Builder</li>
+ <li><a href="voronoi_diagram.htm">Voronoi Diagram<br />
+</a></li>
+ <li>Voronoi Predicates</li>
+ <li>Voronoi Robust FPT<br />
+ </li>
+ <li>Voronoi Utils</li>
+
         </ul>
         <h3 class="navbar">Other Resources</h3>
         <ul>
@@ -46,11 +57,14 @@
              <li>Performance Analysis</li>
                 <li>Layout Versus Schematic Tutorial</li>
                 <li>Minkowski Sum Tutorial</li>
+ <li>Voronoi Basic Tutorial</li>
+ <li>Voronoi Advanced Tutorial</li>
+
         </ul>
     </div>
         <h3 class="navbar">Polygon Sponsor</h3>
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/intlogo.gif" width="127" height="51"><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
+ <img src="images/intlogo.gif" border="0" height="51" width="127" /><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
 </td>
@@ -58,19 +72,19 @@
 
 <!-- End Header -->
 
-<br>
+<br />
 <p>
 </p><h1>Point Concept</h1>
 
 <p>
-<p>
+</p><p>
 The point concept tag is <font face="Courier New">
-point_concept</font><p>
+point_concept</font></p><p>
 To register a user defined type as a model of point concept, specialize the
 geometry concept meta-function for that type.&nbsp; In the example below CPoint is registered as a model of
-point&nbsp; concept.<p>
-<font face="Courier New">template &lt;&gt;<br>
-struct geometry_concept&lt;CPoint&gt; { typedef point_concept type; };</font><p>
+point&nbsp; concept.</p><p>
+<font face="Courier New">template &lt;&gt;<br />
+struct geometry_concept&lt;CPoint&gt; { typedef point_concept type; };</font></p><p>
 <font face="Times New Roman">The semantic of a point is that it has an x and y
 coordinate.&nbsp; A std::pair&lt;int, int&gt;, boost::tuple&lt;int, int&gt; or boost::array&lt;int, 2&gt;
 could all be made models of point by simply providing indirect access to their
@@ -78,116 +92,115 @@
 point and interval in the same compilation unit, for obvious reason that
 duplicate specialization of the geometry_concept struct is illegal, but also
 because it would make overloading generic function by concept ambiguous if a
-type modeled more than one concept.</font><p>
+type modeled more than one concept.</font></p><p>
 <font face="Times New Roman">Below is shown the default point traits.&nbsp;
 Specialization of these traits is required for types that don't conform to the
-default behavior.</font><p>
-template &lt;typename T&gt;<br>
-struct point_traits {<br>
-&nbsp;&nbsp;&nbsp;&nbsp; typedef typename T::coordinate_type coordinate_type;<br>
-<br>
+default behavior.</font></p><p>
+template &lt;typename T&gt;<br />
+struct point_traits {<br />
+&nbsp;&nbsp;&nbsp;&nbsp; typedef typename T::coordinate_type coordinate_type;<br />
+<br />
 &nbsp;&nbsp;&nbsp;&nbsp; static inline coordinate_type get(const T&amp; point,
-orientation_2d orient) {<br>
+orientation_2d orient) {<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return point.get(orient);
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp; }<br>
-};<br>
-<br>
-template &lt;typename T&gt;<br>
-struct point_mutable_traits {<br>
+<br />
+&nbsp;&nbsp;&nbsp;&nbsp; }<br />
+};<br />
+<br />
+template &lt;typename T&gt;<br />
+struct point_mutable_traits {<br />
 &nbsp;&nbsp;&nbsp;&nbsp; static inline void set(T&amp; point, orientation_2d orient,
-typename point_traits&lt;T&gt;::coordinate_type value) {<br>
+typename point_traits&lt;T&gt;::coordinate_type value) {<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; point.set(orient, value);
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp; }<br>
+<br />
+&nbsp;&nbsp;&nbsp;&nbsp; }<br />
 &nbsp;&nbsp;&nbsp;&nbsp; static inline T construct(typename point_traits&lt;T&gt;::coordinate_type
-x_value, typename point_traits&lt;T&gt;::coordinate_type y_value) {<br>
+x_value, typename point_traits&lt;T&gt;::coordinate_type y_value) {<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return T(x_value, y_value);
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp; }<br>
-};<p>
+<br />
+&nbsp;&nbsp;&nbsp;&nbsp; }<br />
+};</p><p>
 Example code custom_point.cpp demonstrates
 how to map a
- user defined point class to the library point_concept<h2>Functions</h2>
-<table border="1" width="100%" id="table1">
- <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ user defined point class to the library point_concept</p><h2>Functions</h2>
+<table id="table1" border="1" width="100%">
+ <tbody><tr>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 coordinate_type <b>get</b>(const T&amp; point, orientation_2d)</font></td>
                 <td><font face="Times New Roman">Expects a model of point.&nbsp; Returns
                 the x or y coordinate of the point, depending on the orientation_2d
- value.</font><font face="Courier New"><br>
+ value.</font><font face="Courier New"><br />
 &nbsp;</font></td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T, typename
- coordinate_type&gt;<br>
+ coordinate_type&gt;<br />
                 void <b>set</b>(T&amp; point, orientation_2d, coordinate_type)</font></td>
                 <td><font face="Times New Roman">Expects a model of point.&nbsp;&nbsp;
                 Sets the x or y coordinate of the point to the coordinate, depending on
                 the orientation_2d&nbsp; value. </font></td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T <b>construct</b>(coordinate_type x, coordinate_type y)</font></td>
                 <td>Construct an object that is a model of point given x and y
                 coordinate values.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>assign</b>(T1&amp; left, const T2&amp; right)</font></td>
                 <td>Copies data from right object that models point into left object
                 that models point.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T, typename
- T2&gt;<br>
+ T2&gt;<br />
                 bool <b>equivalence</b>(const T&amp; point1, const T2&amp; point2)</font></td>
                 <td>Given two objects that model point, compares and returns true if
                 their x and y values are respectively equal to each other.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename point_type&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename point_type&gt;<br />
                 coordinate_type <b>x</b>(const point_type&amp; point)</font></td>
                 <td>Returns the x coordinate of an object that models point.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename point_type&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename point_type&gt;<br />
                 coordinate_type <b>y</b>(const point_type&amp; point)</font></td>
                 <td>Returns the y coordinate of an object that models point.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename point_type&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename point_type&gt;<br />
                 void <b>x</b>(point_type&amp; point, coordinate_type )</font></td>
                 <td>Sets the x coordinate of the object that models point to the
                 coordinate value.&nbsp; </td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename point_type&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename point_type&gt;<br />
                 void <b>y</b>(point_type&amp; point, coordinate_type )</font></td>
                 <td>Sets the y coordinate of the object that models point to the
                 coordinate value.&nbsp; </td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename point_type&gt;<br>
- point_type&amp; <b>scale_up</b>(point_type&amp; point, <br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- unsigned_area_type factor)</font></td>
+ <td width="586"><font face="Courier New">template &lt;typename point_type&gt;<br />
+ point_type&amp; <b>scale_up</b>(point_type&amp; point, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+unsigned_area_type factor)</font></td>
                 <td>Multiplies x and y coordinate of an object that models point by
                 unsigned factor.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename point_type&gt;<br>
- point_type&amp; <b>scale_down</b>(point_type&amp; point, <br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- unsigned_area_type factor)</font></td>
+ <td width="586"><font face="Courier New">template &lt;typename point_type&gt;<br />
+ point_type&amp; <b>scale_down</b>(point_type&amp; point, <br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+unsigned_area_type factor)</font></td>
                 <td>Divides x and y coordinate of an object that models point by
                 unsigned factor.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename point_type,
- typename scaling_type&gt;<br>
- point_type&amp; <b>scale</b>(point_type&amp; point,<br>
+ typename scaling_type&gt;<br />
+ point_type&amp; <b>scale</b>(point_type&amp; point,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                 const scaling_type&amp; factor) </font></td>
                 <td>Calls the scale member function of scaling type on the x and y value
@@ -195,8 +208,8 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename point_type,
- typename transform_type&gt;<br>
- point_type&amp; <b>transform</b>(point_type&amp; point,<br>
+ typename transform_type&gt;<br />
+ point_type&amp; <b>transform</b>(point_type&amp; point,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                 const transform_type&amp; transform) </font></td>
                 <td>Calls the transform member function of transform type on the x and y
@@ -204,8 +217,8 @@
                 transformed values.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename point_type&gt;<br>
- point_type&amp; <b>move</b>(point_type&amp; point, orientation_2d<br>
+ <td width="586"><font face="Courier New">template &lt;typename point_type&gt;<br />
+ point_type&amp; <b>move</b>(point_type&amp; point, orientation_2d<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                 coordinate_difference displacement)</font></td>
                 <td>Adds displacement value to the coordinate of an object that models
@@ -213,30 +226,30 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>convolve</b>(T1&amp; a, const T2&amp; b)</font></td>
                 <td>Adds x coordinate of b to x coordinate of a and adds y coordinate of
                 b to y coordinate of a.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>deconvolve</b>(T1&amp; a, const T2&amp; b)</font></td>
                 <td>Subtracts x coordinate of b from x coordinate of a and subtracts y
                 coordinate of b from y coordinate of a. </td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
- coordinate_distance <b>euclidean_distance</b>(const T1&amp;,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- const T2&amp;)</font></td>
+ T2&gt;<br />
+ coordinate_distance <b>euclidean_distance</b>(const T1&amp;,<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+const T2&amp;)</font></td>
                 <td>Returns the distance from an object that models point to a second
                 object that models point.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
- coordinate_difference <b>euclidean_distance</b>(const T&amp;,<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
+ coordinate_difference <b>euclidean_distance</b>(const T&amp;,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; orientation_2d,
                 coordinate_type)</font></td>
                 <td>Returns the distance from an object that models point to a
@@ -244,28 +257,28 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
- coordinate_difference <b>manhattan_distance</b>(const T1&amp;,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- const T2&amp;)</font></td>
+ T2&gt;<br />
+ coordinate_difference <b>manhattan_distance</b>(const T1&amp;,<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+const T2&amp;)</font></td>
                 <td>Returns the distance in x plus the distance in y from an object that
                 models point to a second object that models point.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
- coordinate_difference <b>distance_squared</b>(const T1&amp;,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- const T2&amp;)</font></td>
+ T2&gt;<br />
+ coordinate_difference <b>distance_squared</b>(const T1&amp;,<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+const T2&amp;)</font></td>
                 <td>Returns the square of the distance in x plus the square of the
                 distance in y from an object that models point to a second object that
                 models point.</td>
         </tr>
-</table>
+</tbody></table>
 <h1>Point Data</h1>
 
 <p>
-<p>The library provides a model of point concept declared
+</p><p>The library provides a model of point concept declared
 <font face="Courier New">
 template&lt;typename T&gt; point_data </font>where T is the coordinate type.</p>
 <p>This data type is used internally when a point is needed and is available to
@@ -275,8 +288,8 @@
 <p>Example code point_usage.cpp demonstrates using the
                 library provided point data type and functions</p>
 <h2>Members</h2>
-<table border="1" width="100%" id="table2">
- <tr>
+<table id="table2" border="1" width="100%">
+ <tbody><tr>
                 <td width="586"><b><font face="Courier New">geometry_type</font></b></td>
                 <td><font face="Times New Roman">point_concept</font></td>
         </tr>
@@ -306,42 +319,42 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T2&gt;<b>&nbsp;
- <br> </b>point_data&amp; <b>operator=</b>(const T2&amp; that) const</font></td>
+ <br /> </b>point_data&amp; <b>operator=</b>(const T2&amp; that) const</font></td>
                 <td>Assign from an object that is a model of point.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T2&gt;<b>
- <br> </b>bool<b>
+ <br /> </b>bool<b>
                 operator==</b>(const T2&amp; that) const</font></td>
                 <td>Compare equality to an object that is a model of point.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T2&gt;<b>
- <br> </b>bool<b>
+ <br /> </b>bool<b>
                 operator!=</b>(const T2&amp; that) const</font></td>
                 <td>Compare inequality to an object that is a model of point.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T2&gt;<b>
- <br> </b>bool<b>
+ <br /> </b>bool<b>
                 operator&lt;</b>(const T2&amp; that) const</font></td>
                 <td>Compares y coordinates then x coordinates to break ties.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T2&gt;<b>
- <br> </b>bool<b>
+ <br /> </b>bool<b>
                 operator&lt;=</b>(const T2&amp; that) const</font></td>
                 <td>Compares y coordinates then x coordinates to break ties.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T2&gt;<b>
- <br> </b>bool<b>
+ <br /> </b>bool<b>
                 operator&gt;</b>(const T2&amp; that) const</font></td>
                 <td>Compares low coordinates then high coordinates to break ties.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T2&gt;<b>
- <br> </b>bool<b>
+ <br /> </b>bool<b>
                 operator&gt;=</b>(const T2&amp; that) const</font></td>
                 <td>Compares low coordinates then high coordinates to break ties.</td>
         </tr>
@@ -371,18 +384,18 @@
                 <td width="586"><font face="Courier New">void <b>y</b>(T value)</font></td>
                 <td>Sets the coordinate in the vertical orientation to the value.</td>
         </tr>
- </table>
- <tr>
+ </tbody></table>
+ </td></tr><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     &nbsp;</td>
 <td style="padding-left: 10px; padding-right: 10px; padding-bottom: 10px;" valign="top" width="100%">
 
 
-<table class="docinfo" rules="none" frame="void" id="table3">
+<table class="docinfo" id="table3" frame="void" rules="none">
         <colgroup>
- <col class="docinfo-name"><col class="docinfo-content">
+ <col class="docinfo-name" /><col class="docinfo-content" />
         </colgroup>
- <tbody vAlign="top">
+ <tbody valign="top">
                 <tr>
                         <th class="docinfo-name">Copyright:</th>
                         <td>Copyright © Intel Corporation 2008-2010.</td>
@@ -395,6 +408,6 @@
                         <a class="reference" target="_top" href="http://www.boost.org/LICENSE_1_0.txt">
                         http://www.boost.org/LICENSE_1_0.txt>)</td>
                 </tr>
-</table>
+</tbody></table>
 
-</html>
\ No newline at end of file
+</td></tr></tbody></table></body></html>
\ No newline at end of file

Modified: sandbox/gtl/doc/gtl_polygon_45_concept.htm
==============================================================================
--- sandbox/gtl/doc/gtl_polygon_45_concept.htm (original)
+++ sandbox/gtl/doc/gtl_polygon_45_concept.htm 2012-04-09 15:10:32 EDT (Mon, 09 Apr 2012)
@@ -1,15 +1,14 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40"><head><!--
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40" lang="en"><head>
+<!--
     Copyright 2009-2010 Intel Corporation
     license banner
--->
-<title>Boost Polygon Library: Polygon 45 Concept</title>
- <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
- <!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> -->
-<table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
+--><title>Boost Polygon Library: Polygon 45 Concept</title>
+
+ <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /><!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> --></head><body><table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/boost.png" width="277" height="86"><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
+ <img src="images/boost.png" border="0" height="86" width="277" /><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
     <div style="margin: 5px;">
@@ -37,20 +36,34 @@
                         <li>Property Merge 90</li>
                         <li>Property Merge 45</li>
                         <li>Property Merge</li>
+ <li><a href="voronoi_main.htm">Voronoi Main Page<br />
+</a></li>
+ <li>Voronoi Benchmark<br />
+ </li>
+ <li>Voronoi Builder</li>
+ <li><a href="voronoi_diagram.htm">Voronoi Diagram<br />
+</a></li>
+ <li>Voronoi Predicates</li>
+ <li>Voronoi Robust FPT<br />
+ </li>
+ <li>Voronoi Utils</li>
+
         </ul>
         <h3 class="navbar">Other Resources</h3>
         <ul>
- <li>GTL Boostcon 2009 Paper</li>
- <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
+ <li>GTL Boostcon 2009 Paper</li>
+ <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
                                 Presentation</a></li>
- <li>Performance Analysis</li>
- <li>Layout Versus Schematic Tutorial</li>
- <li>Minkowski Sum Tutorial</li>
- </ul>
+ <li>Performance Analysis</li>
+ <li>Layout Versus Schematic Tutorial</li>
+ <li>Minkowski Sum Tutorial</li>
+ <li>Voronoi Basic Tutorial</li>
+ <li>Voronoi Advanced Tutorial</li>
+</ul>
     </div>
         <h3 class="navbar">Polygon Sponsor</h3>
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/intlogo.gif" width="127" height="51"><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
+ <img src="images/intlogo.gif" border="0" height="51" width="127" /><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
 </td>
@@ -58,20 +71,20 @@
 
 <!-- End Header -->
 
-<br>
+<br />
 <p>
 </p><h1>Polygon 45 Concept</h1>
 
 <p>
-<p>The polygon_45 concept tag is <font face="Courier New">
+</p><p>The polygon_45 concept tag is <font face="Courier New">
 polygon_45_concept</font></p>
 <p>
 To register a user defined type as a model of
 <font face="Times New Roman">polygon_45 </font>concept, specialize the
 geometry concept meta-function for that type.&nbsp; In the example below CPolygon45 is registered as a model of
-polygon_45&nbsp; concept.<p>
-<font face="Courier New">template &lt;&gt;<br>
-struct geometry_concept&lt;CPolygon45&gt; { typedef polygon_45_concept type; };</font><p>
+polygon_45&nbsp; concept.</p><p>
+<font face="Courier New">template &lt;&gt;<br />
+struct geometry_concept&lt;CPolygon45&gt; { typedef polygon_45_concept type; };</font></p><p>
 <font face="Times New Roman">The semantic of a polygon_45 is that it can provide
 iterators over the points that represent its vertices, angles formed as these
 vertices must be multiple of 45-degree relative to the coordinate axis.&nbsp; It
@@ -82,75 +95,75 @@
 or std::list&lt;point_data&lt;int&gt; &gt;
 could be made models of polygon_45_concept by simply providing access to their
 iterators through traits.&nbsp; Library functions that create polygon objects
-require that those objects provide a default constructor.</font><p>
+require that those objects provide a default constructor.</font></p><p>
 <font face="Times New Roman">Below is shown the default polygon traits.&nbsp;
 Specialization of these traits is required for types that don't conform to the
 default behavior.&nbsp; Note that these traits are also used by several other
 polygon concepts through SFINAE enable template parameter.&nbsp; The SFINAE enable
 parameter also allows the library to provide default specialization that work
-for any object that models the 90 degree polygon concepts.</font><p>
-<font face="Courier New">template &lt;typename T, typename enable = gtl_yes&gt;<br>
-struct polygon_traits {};<br>
-<br>
-template &lt;typename T&gt;<br>
-struct polygon_traits&lt;T, <br>
-&nbsp; typename gtl_or_4&lt;<br>
+for any object that models the 90 degree polygon concepts.</font></p><p>
+<font face="Courier New">template &lt;typename T, typename enable = gtl_yes&gt;<br />
+struct polygon_traits {};<br />
+<br />
+template &lt;typename T&gt;<br />
+struct polygon_traits&lt;T, <br />
+&nbsp; typename gtl_or_4&lt;<br />
 &nbsp;&nbsp;&nbsp; typename gtl_same_type&lt;typename geometry_concept&lt;T&gt;::type,
-polygon_concept&gt;::type,<br>
+polygon_concept&gt;::type,<br />
 &nbsp;&nbsp;&nbsp; typename gtl_same_type&lt;typename geometry_concept&lt;T&gt;::type,
-polygon_45_concept&gt;::type,<br>
+polygon_45_concept&gt;::type,<br />
 &nbsp;&nbsp;&nbsp; typename gtl_same_type&lt;typename geometry_concept&lt;T&gt;::type,
-polygon_with_holes_concept&gt;::type,<br>
+polygon_with_holes_concept&gt;::type,<br />
 &nbsp;&nbsp;&nbsp; typename gtl_same_type&lt;typename geometry_concept&lt;T&gt;::type,
-polygon_45_with_holes_concept&gt;::type<br>
-&nbsp; &gt;::type&gt; {<br>
-&nbsp;&nbsp;&nbsp;&nbsp; typedef typename T::coordinate_type coordinate_type;<br>
-&nbsp;&nbsp;&nbsp;&nbsp; typedef typename T::iterator_type iterator_type;<br>
-&nbsp;&nbsp;&nbsp;&nbsp; typedef typename T::point_type point_type;<br>
-&nbsp;&nbsp;&nbsp;&nbsp; static inline iterator_type begin_points(const T&amp; t) {<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.begin();<br>
-&nbsp;&nbsp;&nbsp;&nbsp; }<br>
-&nbsp;&nbsp;&nbsp;&nbsp; static inline iterator_type end_points(const T&amp; t) {<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.end();<br>
-&nbsp;&nbsp;&nbsp;&nbsp; }<br>
-&nbsp;&nbsp;&nbsp;&nbsp; static inline unsigned int size(const T&amp; t) {<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.size();<br>
-&nbsp;&nbsp;&nbsp;&nbsp; }<br>
-&nbsp;&nbsp;&nbsp;&nbsp; static inline winding_direction winding(const T&amp; t) {<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return unknown_winding;<br>
-&nbsp;&nbsp;&nbsp;&nbsp; }<br>
+polygon_45_with_holes_concept&gt;::type<br />
+&nbsp; &gt;::type&gt; {<br />
+&nbsp;&nbsp;&nbsp;&nbsp; typedef typename T::coordinate_type coordinate_type;<br />
+&nbsp;&nbsp;&nbsp;&nbsp; typedef typename T::iterator_type iterator_type;<br />
+&nbsp;&nbsp;&nbsp;&nbsp; typedef typename T::point_type point_type;<br />
+&nbsp;&nbsp;&nbsp;&nbsp; static inline iterator_type begin_points(const T&amp; t) {<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.begin();<br />
+&nbsp;&nbsp;&nbsp;&nbsp; }<br />
+&nbsp;&nbsp;&nbsp;&nbsp; static inline iterator_type end_points(const T&amp; t) {<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.end();<br />
+&nbsp;&nbsp;&nbsp;&nbsp; }<br />
+&nbsp;&nbsp;&nbsp;&nbsp; static inline unsigned int size(const T&amp; t) {<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.size();<br />
+&nbsp;&nbsp;&nbsp;&nbsp; }<br />
+&nbsp;&nbsp;&nbsp;&nbsp; static inline winding_direction winding(const T&amp; t) {<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return unknown_winding;<br />
+&nbsp;&nbsp;&nbsp;&nbsp; }<br />
 };</font></p>
-<p><font face="Courier New">template &lt;typename T, typename enable = void&gt;<br>
-struct polygon_mutable_traits {<br>
-&nbsp;&nbsp;&nbsp;&nbsp; template &lt;typename iT&gt;<br>
+<p><font face="Courier New">template &lt;typename T, typename enable = void&gt;<br />
+struct polygon_mutable_traits {<br />
+&nbsp;&nbsp;&nbsp;&nbsp; template &lt;typename iT&gt;<br />
 &nbsp;&nbsp;&nbsp;&nbsp; static inline T&amp; set_points(T&amp; t, iT input_begin, iT
-input_end) {<br>
+input_end) {<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t.set(input_begin,
-input_end);<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t;<br>
-&nbsp;&nbsp;&nbsp;&nbsp; }<br>
+input_end);<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t;<br />
+&nbsp;&nbsp;&nbsp;&nbsp; }<br />
 };</font></p>
 <p>An object that is a model of <font face="Courier New">
 polygon_45_concept</font> can be viewed as a model of any of its
 refinements if it is determined at runtime to conform to the restriction of
 those concepts.&nbsp; This concept casting is accomplished through the
 <font face="Courier New">view_as&lt;&gt;()</font> function.</p>
-<p><font face="Courier New">view_as&lt;rectangle_concept&gt;(polygon_45_object)</font><br>
+<p><font face="Courier New">view_as&lt;rectangle_concept&gt;(polygon_45_object)</font><br />
 <font face="Courier New">view_as&lt;polygon_90_concept&gt;(polygon_45_object)</font></p>
 <p>The return value of <font face="Courier New">view_as&lt;&gt;()</font> can be
 passed into any interface that expects an object of the conceptual type
 specified in its template parameter.</p>
 <h2>Functions</h2>
-<table border="1" width="100%" id="table1">
- <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+<table id="table1" border="1" width="100%">
+ <tbody><tr>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 point_iterator_type <b>begin_points</b>(const T&amp; polygon)</font></td>
                 <td><font face="Times New Roman">Expects a model of polygon_45.&nbsp;
                 Returns the begin iterator over the range of points that correspond to
                 vertices of the polygon.</font></td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 point_iterator_type <b>end_points</b>(const T&amp; polygon)</font></td>
                 <td><font face="Times New Roman">Expects a model of polygon_45.&nbsp;
                 Returns the end iterator over the range of points that correspond to
@@ -158,7 +171,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T, typename
- iterator&gt;<br>
+ iterator&gt;<br />
                 void <b>set_points</b>(T&amp; polygon, iterator b, iterator e)</font></td>
                 <td><font face="Times New Roman">Expects a model of polygon_45.&nbsp;&nbsp;
                 Sets the polygon to the point data range [b,e) that corresponds to
@@ -166,22 +179,22 @@
                 points is disallowed.</font></td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 unsigned int <b>size</b>(const T&amp; polygon)</font></td>
                 <td><font face="Times New Roman">Returns the number of edges in the
                 polygon.</font></td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>assign</b>(T1&amp; left, const T2&amp; right)</font></td>
                 <td>Copies data from right object that models polygon_45 into left object
                 that models polygon_45.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T,
- typename point_type&gt;<br>
- bool <b>contains</b>(const T&amp;, const point_type&amp; point, <br>
+ typename point_type&gt;<br />
+ bool <b>contains</b>(const T&amp;, const point_type&amp; point, <br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                 bool consider_touch=true)</font></td>
                 <td>Given an object that models polygon_45 and an object that models
@@ -191,85 +204,84 @@
                 the polygon.&nbsp; Linear wrt. vertices.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">// get the center coordinate<br>
- template &lt;typename T, typename point_type&gt;<br>
+ <td width="586"><font face="Courier New">// get the center coordinate<br />
+ template &lt;typename T, typename point_type&gt;<br />
                 void <b>center</b>(point_type&amp; p, const T&amp; polygon)</font></td>
                 <td>Sets object that models point to the center point of the bounding
                 box of an object that models polygon_45.&nbsp; Linear wrt. vertices.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T,
- typename rectangle_type&gt;<br>
+ typename rectangle_type&gt;<br />
                 bool <b>extents</b>(rectangle_type&amp; bbox, const T&amp; polygon)</font></td>
                 <td>Sets object that models rectangle to the bounding box of an object
                 that models polygon_45 and returns true.&nbsp; Returns false and leaves
                 bbox unchanged if polygon is empty.&nbsp; Linear wrt. vertices.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 area_type <b>area</b>(const T&amp; polygon)</font></td>
                 <td>Returns the area of an object
                 that models polygon_45.&nbsp; Linear wrt. vertices.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 direction_1d <b>winding</b>(const T&amp; polygon)</font></td>
                 <td>Returns the winding direction of an object
                 that models polygon_45, LOW == CLOCKWISE, HIGH = COUNTERCLOCKWISE.&nbsp;
                 Complexity depends upon winding trait.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 coordinate_distance <b>perimeter</b>(const T&amp; polygon)</font></td>
                 <td>Returns the perimeter length of an object
                 that models polygon_45.&nbsp; Linear wrt. vertices.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T,
- typename transform_type&gt;<br>
+ typename transform_type&gt;<br />
                 T&amp; <b>transform</b>(T&amp; polygon, const transform_type&amp;)</font></td>
                 <td>Applies transform() on the vertices of polygon and sets the polygon to that described by the result of
                 transforming its vertices.&nbsp; Linear wrt. vertices.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>scale_up</b>(T&amp; polygon, unsigned_area_type factor)</font></td>
                 <td>Scales up coordinate of an object that models
                 polygon_45 by unsigned factor.&nbsp; Linear wrt. vertices.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>scale_down</b>(T&amp; polygon, unsigned_area_type factor)</font></td>
                 <td>Scales down coordinates of an object that models
                 polygon_45 by unsigned factor.&nbsp; Linear wrt. vertices.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T, scaling_type&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T, scaling_type&gt;<br />
                 T&amp; <b>scale</b>(T&amp; rectangle, double scaling) </font></td>
                 <td>Scales coordinates of an object that models polygon_45 by floating
                 point factor.&nbsp; Linear wrt. vertices.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
- T&amp; <b>move</b>(T&amp; polygon, orientation_2d,<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
+ T&amp; <b>move</b>(T&amp; polygon, orientation_2d,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; coordinate_difference displacement)</font></td>
                 <td>Adds displacement value to coordinate indicated by orientation_2d of
                 vertices of an object that models polygon_45.&nbsp; Linear wrt.
                 vertices.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename polygon_type, typename point_type&gt;<br>
- polygon_type&amp; <b>convolve</b>(polygon_type&amp; polygon,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- const point_type&amp; point)</font></td>
+ <td width="586"><font face="Courier New">template &lt;typename polygon_type, typename point_type&gt;<br />
+ polygon_type&amp; <b>convolve</b>(polygon_type&amp; polygon,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+const point_type&amp; point)</font></td>
                 <td>Convolves coordinate values of point with vertices of an
                 object that models polygon_45.&nbsp; Linear wrt. vertices.</td>
         </tr>
- </table>
+ </tbody></table>
         <h1>Polygon 45 Data</h1>
 
 <p>
-<p>The library provides a model of polygon 45 concept declared
+</p><p>The library provides a model of polygon 45 concept declared
 <font face="Courier New">
 template&lt;typename T&gt; polygon_45_data </font>where T is the coordinate type.</p>
 <p>This data type is used internally when a 45-degree polygon is needed and is
@@ -277,8 +289,8 @@
 data type instead of providing their own.&nbsp; The data type is implemented to
 be convenient to use with the library traits.</p>
 <h2>Members</h2>
-<table border="1" width="100%" id="table2">
- <tr>
+<table id="table2" border="1" width="100%">
+ <tbody><tr>
                 <td width="586"><b><font face="Courier New">geometry_type</font></b></td>
                 <td><font face="Times New Roman">polygon_45_concept</font></td>
         </tr>
@@ -306,7 +318,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T2&gt;<b>&nbsp;
- <br> </b>polygon_45_data&amp; <b>operator=</b>(const T2&amp; that) const</font></td>
+ <br /> </b>polygon_45_data&amp; <b>operator=</b>(const T2&amp; that) const</font></td>
                 <td>Assign from an object that is a model of polygon 45.</td>
         </tr>
         <tr>
@@ -326,23 +338,23 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename iT&gt;<b>&nbsp;
- <br> </b>void <b>set</b>(iT begin_points, iT end_points)</font></td>
+ <br /> </b>void <b>set</b>(iT begin_points, iT end_points)</font></td>
                 <td>Sets the polygon to the iterator range of points.&nbsp; No check is
                 performed to ensure the points describe corners that are multiples of 45
                 degrees relative to the coordinate axis.</td>
         </tr>
-</table>
- <tr>
+</tbody></table>
+ </td></tr><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     &nbsp;</td>
 <td style="padding-left: 10px; padding-right: 10px; padding-bottom: 10px;" valign="top" width="100%">
 
 
-<table class="docinfo" rules="none" frame="void" id="table3">
+<table class="docinfo" id="table3" frame="void" rules="none">
         <colgroup>
- <col class="docinfo-name"><col class="docinfo-content">
+ <col class="docinfo-name" /><col class="docinfo-content" />
         </colgroup>
- <tbody vAlign="top">
+ <tbody valign="top">
                 <tr>
                         <th class="docinfo-name">Copyright:</th>
                         <td>Copyright © Intel Corporation 2008-2010.</td>
@@ -355,6 +367,6 @@
                         <a class="reference" target="_top" href="http://www.boost.org/LICENSE_1_0.txt">
                         http://www.boost.org/LICENSE_1_0.txt>)</td>
                 </tr>
-</table>
+</tbody></table>
 
-</html>
\ No newline at end of file
+</td></tr></tbody></table></body></html>
\ No newline at end of file

Modified: sandbox/gtl/doc/gtl_polygon_45_set_concept.htm
==============================================================================
--- sandbox/gtl/doc/gtl_polygon_45_set_concept.htm (original)
+++ sandbox/gtl/doc/gtl_polygon_45_set_concept.htm 2012-04-09 15:10:32 EDT (Mon, 09 Apr 2012)
@@ -1,15 +1,14 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40"><head><!--
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40" lang="en"><head>
+<!--
     Copyright 2009-2010 Intel Corporation
     license banner
--->
-<title>Boost Polygon Library: Polygon 45 Set Concept</title>
- <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
- <!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> -->
-<table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
+--><title>Boost Polygon Library: Polygon 45 Set Concept</title>
+
+ <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /><!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> --></head><body><table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/boost.png" width="277" height="86"><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
+ <img src="images/boost.png" border="0" height="86" width="277" /><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
     <div style="margin: 5px;">
@@ -37,20 +36,34 @@
                         <li>Property Merge 90</li>
                         <li>Property Merge 45</li>
                         <li>Property Merge</li>
+ <li><a href="voronoi_main.htm">Voronoi Main Page<br />
+</a></li>
+ <li>Voronoi Benchmark<br />
+ </li>
+ <li>Voronoi Builder</li>
+ <li><a href="voronoi_diagram.htm">Voronoi Diagram<br />
+</a></li>
+ <li>Voronoi Predicates</li>
+ <li>Voronoi Robust FPT<br />
+ </li>
+ <li>Voronoi Utils</li>
+
         </ul>
         <h3 class="navbar">Other Resources</h3>
         <ul>
- <li>GTL Boostcon 2009 Paper</li>
- <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
+ <li>GTL Boostcon 2009 Paper</li>
+ <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
                                 Presentation</a></li>
- <li>Performance Analysis</li>
- <li>Layout Versus Schematic Tutorial</li>
- <li>Minkowski Sum Tutorial</li>
- </ul>
+ <li>Performance Analysis</li>
+ <li>Layout Versus Schematic Tutorial</li>
+ <li>Minkowski Sum Tutorial</li>
+ <li>Voronoi Basic Tutorial</li>
+ <li>Voronoi Advanced Tutorial</li>
+</ul>
     </div>
         <h3 class="navbar">Polygon Sponsor</h3>
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/intlogo.gif" width="127" height="51"><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
+ <img src="images/intlogo.gif" border="0" height="51" width="127" /><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
 </td>
@@ -58,12 +71,12 @@
 
 <!-- End Header -->
 
-<br>
+<br />
 <p>
 </p><h1>Polygon 45 Set Concept</h1>
 
 <p>
-<p>The polygon_45_set concept tag is <font face="Courier New">
+</p><p>The polygon_45_set concept tag is <font face="Courier New">
 polygon_45_set_concept</font></p>
 <p>
 <font face="Times New Roman">The semantic of a polygon_45_set is zero or more
@@ -77,7 +90,7 @@
 intersection point.&nbsp; In the case that data represented contains no
 45-degree angles and is Manhattan a runtime check will default to the Manhattan
 algorithm.&nbsp; The results of which are identical to what the 45-degree
-algorithm would do, but obtained more efficiently.</font><p>
+algorithm would do, but obtained more efficiently.</font></p><p>
 <font face="Times New Roman">The motivation for providing the polygon_45_set is
 to extend the special case of Manhattan geometry capability of the library to
 encompass the slightly less common, but still important special case of geometry
@@ -86,7 +99,7 @@
 and affords many opportunities for optimization.&nbsp; 45-degree algorithms can
 be 50X faster than arbitrary angle algorithms and are required to provide a
 complete feature set that meets the performance requirements of application
-domains in which Manhattan and 45-degree geometry are a common special case.</font><p>Users are recommended to use std::vector and std::list of user defined polygons
+domains in which Manhattan and 45-degree geometry are a common special case.</font></p><p>Users are recommended to use std::vector and std::list of user defined polygons
 or library provided polygon_45_set_data&lt;coordinate_type&gt; objects.&nbsp; Lists
 and vectors of models of polygon_45_concept or polygon_45_with_holes_concept are automatically models of polygon_45_set_concept.</p>
 <p>An object that is a model of <font face="Courier New">
@@ -108,10 +121,10 @@
 eliminate temp copies of intermediate results when Boolean operators are chained
 together.</p>
 <p>Operators are declared inside the namespace <font face="Courier New">boost::polygon::operators</font>.</p>
-<table border="1" width="100%" id="table5">
- <tr>
+<table id="table5" border="1" width="100%">
+ <tbody><tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 polygon_45_set_view <b>operator</b>|(const T1&amp; l, const T2&amp; r)</font></td>
                 <td>Boolean OR operation (polygon set union).&nbsp; Accepts two objects
                 that model polygon_45_set or one of its refinements.&nbsp; Returns an
@@ -121,7 +134,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 polygon_45_set_view <b>operator</b>+(const T1&amp; l, const T2&amp; r)</font></td>
                 <td>Same as operator|.&nbsp; The plus sign is also used for OR
                 operations in Boolean logic expressions.&nbsp; O( n log n) runtime
@@ -129,7 +142,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 polygon_45_set_view <b>operator</b>&amp;(const T1&amp; l, const T2&amp; r)</font></td>
                 <td>Boolean AND operation (polygon set intersection).&nbsp; Accepts two
                 objects that model polygon_45_set or one of its refinements.&nbsp; O( n
@@ -137,7 +150,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 polygon_45_set_view <b>operator</b>*(const T1&amp; l, const T2&amp; r)</font></td>
                 <td>Same as operator&amp;.&nbsp; The multiplication symbol is also used for
                 AND operations in Boolean logic expressions.&nbsp; O( n log n) runtime
@@ -145,7 +158,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 polygon_45_set_view <b>operator</b>^(const T1&amp; l, const T2&amp; r)</font></td>
                 <td>Boolean XOR operation (polygon set disjoint-union).&nbsp; Accepts
                 two objects that model polygon_45_set or one of its refinements.&nbsp;
@@ -154,7 +167,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 polygon_45_set_view <b>operator</b>-(const T1&amp; l, const T2&amp; r)</font></td>
                 <td>Boolean SUBTRACT operation (polygon set difference).&nbsp; Accepts
                 two objects that model polygon_45_set or one of its refinements.&nbsp;
@@ -163,7 +176,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>operator</b>|=(const T1&amp; l, const T2&amp; r)</font></td>
                 <td>Same as operator|, but with self assignment, left operand must model
                 polygon_45_set and not one of it's refinements.&nbsp; O( n log n)
@@ -171,7 +184,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>operator</b>+=(T1&amp; l, const T2&amp; r)</font></td>
                 <td>Same as operator+, but with self assignment, left operand must model
                 polygon_45_set and not one of it's refinements.&nbsp; O( n log n)
@@ -179,7 +192,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>operator</b>&amp;=(const T1&amp; l, const T2&amp; r)</font></td>
                 <td>Same as operator&amp;, but with self assignment, left operand must model
                 polygon_45_set and not one of it's refinements.&nbsp; O( n log n)
@@ -187,7 +200,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>operator</b>*=(T1&amp; l, const T2&amp; r)</font></td>
                 <td>Same as operator*, but with self assignment, left operand must model
                 polygon_45_set and not one of it's refinements.&nbsp; O( n log n)
@@ -195,7 +208,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>operator</b>^=(const T1&amp; l, const T2&amp; r)</font></td>
                 <td>Same as operator^, but with self assignment, left operand must model
                 polygon_45_set and not one of it's refinements.&nbsp; O( n log n)
@@ -203,14 +216,14 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>operator</b>-=(T1&amp; l, const T2&amp; r)</font></td>
                 <td>Same as operator-, but with self assignment, left operand must model
                 polygon_45_set and not one of it's refinements.&nbsp; O( n log n)
                 runtime complexity and O(n) memory wrt vertices + intersections.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T1&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T1&gt;<br />
                 T1 <b>operator</b>+(const T1&amp;, coordinate_type bloating)</font></td>
                 <td>Performs resize operation, inflating by bloating ammount.&nbsp; If
                 negative the result is a shrink instead of bloat.&nbsp; Note: returns
@@ -219,7 +232,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1 <b>operator</b>-(const T1&amp;, coordinate_type shrinking)</font></td>
                 <td>Performs resize operation, deflating by bloating ammount.&nbsp; If
                 negative the result is a bloat instead of shrink.&nbsp; Note: returns
@@ -228,7 +241,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>operator</b>+=(const T1&amp;, coordinate_type bloating)</font></td>
                 <td>Performs resize operation, inflating by bloating ammount.&nbsp; If
                 negative the result is a shrink instead of bloat.&nbsp; Returns
@@ -237,19 +250,19 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>operator</b>-=(const T1&amp;, coordinate_type shrinking)</font></td>
                 <td>Performs resize operation, deflating by bloating ammount.&nbsp; If
                 negative the result is a bloat instead of shrink.&nbsp; Returns
                 reference to modified argument.&nbsp; O( n log n) runtime complexity and
                 O(n) memory wrt vertices + intersections.</td>
         </tr>
- </table>
+ </tbody></table>
 <h2>Functions</h2>
-<table border="1" width="100%" id="table3">
- <tr>
+<table id="table3" border="1" width="100%">
+ <tbody><tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>assign</b>(T1&amp; lvalue, const T2&amp; rvalue)</font></td>
                 <td>Eliminates overlaps in geometry and copies from an object that
                 models polygon_45_set or any of its refinements into an object that
@@ -258,7 +271,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 bool <b>equivalence</b>(const T1&amp; lvalue, const T2&amp; rvalue) </font></td>
                 <td>Returns true if an object that models polygon_45_set or one of its
                 refinements covers the exact same geometric regions as another object
@@ -268,8 +281,8 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- output_container_type, typename T&gt;<br>
- void <b>get_trapezoids</b>(output_container_type&amp; output, <br>
+ output_container_type, typename T&gt;<br />
+ void <b>get_trapezoids</b>(output_container_type&amp; output, <br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                 const T&amp; polygon_set)</font></td>
                 <td>Output container is expected to be a standard container.&nbsp;
@@ -282,10 +295,12 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- output_container_type, typename T&gt;<br>
- void <b>get_trapezoids</b>(output_container_type&amp; output, <br>
+ output_container_type, typename T&gt;<br />
+ void <b>get_trapezoids</b>(output_container_type&amp; output, <br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- const T&amp; polygon_set,<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; orientation_2d orient)</font></td>
+ const T&amp; polygon_set,<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+orientation_2d orient)</font></td>
                 <td>Output container is expected to be a standard container.&nbsp;
                 Slices geometry of an object that models polygon_45_set or one of its
                 refinements into non overlapping trapezoids along a the specified slicing
@@ -296,13 +311,13 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- polygon_set_type&gt;<br>
+ polygon_set_type&gt;<br />
                 void <b>clear</b>(polygon_set_type&amp; polygon_set)</font></td>
                 <td>Makes the object empty of geometry.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- polygon_set_type&gt;<br>
+ polygon_set_type&gt;<br />
                 bool <b>empty</b>(const polygon_set_type&amp; polygon_set)</font></td>
                 <td>Checks whether the object is empty of geometry.&nbsp; Polygons that
                 are completely covered by holes will result in empty returning true.&nbsp;&nbsp;
@@ -310,8 +325,8 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T, typename
- rectangle_type&gt;<br>
- bool <b>extents</b>(rectangle_type&amp; extents_rectangle, <br>
+ rectangle_type&gt;<br />
+ bool <b>extents</b>(rectangle_type&amp; extents_rectangle, <br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const
                 T&amp; polygon_set)</font></td>
                 <td>Computes bounding box of an object that models polygon_45_set and
@@ -321,7 +336,7 @@
                 log n) runtime complexity and O(n) memory wrt vertices.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 area_type <b>area</b>(const T&amp; polygon_set)</font></td>
                 <td>Computes the area covered by geometry in an object that models
                 polygon_45_set.&nbsp;&nbsp; O( n log n) runtime complexity and O(n)
@@ -329,7 +344,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>interact</b>(T1&amp; a, const T2&amp; b)</font></td>
                 <td>Given an object that models polygon_45_set and an object that models
                 polygon_45_set or one of its refinements, modifies a to retain only
@@ -337,7 +352,7 @@
                 runtime complexity and O(n) memory wrt vertices plus intersections.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>self_intersect</b>(T&amp; polygon_set)</font></td>
                 <td>Given an object that models polygon_45_set that has self overlapping
                 regions, modifies the argument to contain only the regions of overlap.&nbsp;
@@ -345,7 +360,7 @@
                 intersections.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>self_xor</b>(T&amp; polygon_set)</font></td>
                 <td>Given an object that models polygon_45_set that has self overlapping
                 regions, modifies the argument to contain only the regions that do not
@@ -353,14 +368,14 @@
                 vertices + intersections.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>bloat</b>(T&amp; polygon_set, unsigned_area_type bloating)</font></td>
                 <td>Same as getting all the polygons, bloating them and putting them
                 back.&nbsp; O( n log n) runtime complexity and O(n) memory wrt vertices
                 + intersections.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>shrink</b>(T&amp; polygon_set, unsigned_area_type shrinking)</font></td>
                 <td>Same as getting all the polygons, shrinking them and overwriting
                 the polygon set with the resulting regions.&nbsp; O( n log n) runtime
@@ -368,10 +383,10 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T, typename
- coord_type&gt;<br>
- T&amp; <b>resize</b>(T&amp; polygon_set, coord_type resizing,<br>
+ coord_type&gt;<br />
+ T&amp; <b>resize</b>(T&amp; polygon_set, coord_type resizing,<br />
                 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- RoundingOption rounding = CLOSEST, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CornerOption corner = INTERSECTION)</font></td>
+ RoundingOption rounding = CLOSEST, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CornerOption corner = INTERSECTION)</font></td>
                 <td>Same as bloat if resizing is positive, same as shrink if resizing is
                 negative.&nbsp; RoundingOption is an enum that controls snapping of
                 non-integer results of resizing 45 degree edges.&nbsp; CornerOption is
@@ -380,7 +395,7 @@
                 complexity and O(n) memory wrt vertices + intersections.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
 T&amp; <b>grow_and</b>(T&amp; polygon_set, unsigned_area_type bloating)</font></td>
                 <td>Same as bloating non-overlapping regions and then applying self
                 intersect to retain only the overlaps introduced by the bloat.&nbsp; O(
@@ -388,13 +403,13 @@
                 intersections.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
 T&amp; <b>scale_up</b>(T&amp; polygon_set, unsigned_area_type factor)</font></td>
                 <td>Scales geometry up by unsigned factor.&nbsp; O( n log n) runtime
                 complexity and O(n) memory wrt vertices.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
 T&amp; <b>scale_down</b>(T&amp; polygon_set, unsigned_area_type factor)</font></td>
                 <td>Scales geometry down by unsigned factor.&nbsp; Snaps 45 degree edges
                 back to 45 degrees after division truncation leads to small changes in
@@ -402,7 +417,7 @@
                 vertices.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T, typename scaling_type&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T, typename scaling_type&gt;<br />
 T&amp; <b>scale</b>(polygon_set_type&amp; polygon_set, double scaling)</font></td>
                 <td>Scales geometry by multiplying by floating point factor.&nbsp;&nbsp;
                 Snaps 45 degree edges back to 45 degrees after truncation of fractional
@@ -410,32 +425,32 @@
                 runtime complexity and O(n) memory wrt vertices.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T, typename transformation_type&gt;<br>
-T&amp; <b>transform</b>(T&amp; polygon_set,<br>
+ <td width="586"><font face="Courier New">template &lt;typename T, typename transformation_type&gt;<br />
+T&amp; <b>transform</b>(T&amp; polygon_set,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const
 transformation_type&amp; transformation)</font></td>
                 <td>Applies transformation.transform() on all vertices.&nbsp; O( n log
                 n) runtime complexity and O(n) memory wrt vertices.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
-T&amp; <b>keep</b>(T&amp; polygon_set, <br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type min_area,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type max_area,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type min_width,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type max_width,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type min_height,<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
+T&amp; <b>keep</b>(T&amp; polygon_set, <br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type min_area,<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type max_area,<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type min_width,<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type max_width,<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type min_height,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type max_height)</font></td>
                 <td>Retains only regions that satisfy the min/max criteria in the
                 argument list.&nbsp; Note: useful for visualization to cull too small
                 polygons.&nbsp; O( n log n) runtime complexity and O(n) memory wrt
                 vertices.</td>
         </tr>
- </table>
+ </tbody></table>
         <h1>Polygon 45 Set Data Object</h1>
 
 <p>
-<p>The polygon 45 set data type encapsulates the internal data format that
+</p><p>The polygon 45 set data type encapsulates the internal data format that
 serves as the input to the sweep-line algorithm that implements polygon-clipping
 Boolean operations.&nbsp; It also internally keeps track of whether that data
 has been sorted or scanned and maintains the invariant that when its flags
@@ -446,20 +461,20 @@
 maintain the data is sorted form rather than going all the way out to polygons
 then resorting those vertices for a subsequent operation.</p>
 <p>The declaration of Polygon 45 Set Data is the following:</p>
-<p><font face="Courier New">template &lt;typename T&gt;<br>
+<p><font face="Courier New">template &lt;typename T&gt;<br />
 class polygon_45_set_data;</font></p>
 <p>The class is parameterized on the coordinate data type.&nbsp; Algorithms that
 benefit from knowledge of the invariants enforced by the class are implemented
 as member functions to provide them access to information about those
 invariants.&nbsp; </p>
 <h2>Member Functions</h2>
-<table border="1" width="100%" id="table4">
- <tr>
+<table id="table4" border="1" width="100%">
+ <tbody><tr>
                 <td width="586"><font face="Courier New"><b>polygon_45_set_data</b>()</font></td>
                 <td>Default constructor. </td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename iT&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename iT&gt;<br />
         <b>polygon_45_set_data</b>(iT input_begin, iT
         input_end)</font></td>
                 <td>Construct from an iterator range of
@@ -472,34 +487,34 @@
         </tr>
         <tr>
                 <td width="586">
-<font face="Courier New">template &lt;typename l, typename r, typename op&gt;<br>
+<font face="Courier New">template &lt;typename l, typename r, typename op&gt;<br />
 <b>polygon_45_set_data</b>(const polygon_45_set_view&lt;l,r,op&gt;&amp;
 t)</font></td>
                 <td>Copy construct from a Boolean operator template.</td>
         </tr>
         <tr>
                 <td width="586">
-<font face="Courier New">polygon_45_set_data&amp; <br><b>operator=</b>(const polygon_45_set_data&amp; that)</font></td>
+<font face="Courier New">polygon_45_set_data&amp; <br /><b>operator=</b>(const polygon_45_set_data&amp; that)</font></td>
                 <td>Assignment from another polygon set, may change scanning
                 orientation.</td>
         </tr>
         <tr>
                 <td width="586">
-<font face="Courier New">template &lt;typename l, typename r, typename op&gt;<br>
-polygon_45_set_data&amp; <br><b>operator=</b>(const polygon_45_set_view&lt;l, r,
+<font face="Courier New">template &lt;typename l, typename r, typename op&gt;<br />
+polygon_45_set_data&amp; <br /><b>operator=</b>(const polygon_45_set_view&lt;l, r,
 op&gt;&amp; that)</font></td>
                 <td>Assignment from a Boolean operator template.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename geometry_object&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename geometry_object&gt;<br />
 polygon_45_set_data&amp; <b>operator=</b>(const geometry_object&amp; geo)</font></td>
                 <td>Assignment from an insertable object.</td>
         </tr>
         <tr>
                 <td width="586">
 <font face="Courier New">
-template &lt;typename iT&gt;<br>
-void <b>insert</b>(iT input_begin, iT input_end, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bool is_hole = false)</font></td>
+template &lt;typename iT&gt;<br />
+void <b>insert</b>(iT input_begin, iT input_end, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bool is_hole = false)</font></td>
                 <td>Insert objects of an iterator range.&nbsp; If is_hole is true
                 inserts subtractive regions.&nbsp; Linear wrt the number of vertices
                 added.</td>
@@ -507,15 +522,15 @@
         <tr>
                 <td width="586">
 <font face="Courier New">
-void <b>insert</b>(const polygon_45_set_data&amp; polygon_set, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bool is_hole
+void <b>insert</b>(const polygon_45_set_data&amp; polygon_set, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bool is_hole
 = false)</font></td>
                 <td>Insert a polygon set.&nbsp; Linear wrt the number of vertices added.</td>
         </tr>
         <tr>
                 <td width="586">
 <font face="Courier New">
-template &lt;typename geometry_type&gt;<br>
-void <b>insert</b>(const geometry_type&amp; geometry_object, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bool is_hole
+template &lt;typename geometry_type&gt;<br />
+void <b>insert</b>(const geometry_type&amp; geometry_object, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bool is_hole
 = false)</font></td>
                 <td>Insert a geometry object, if is_hole is true then the inserted
                 region is subtractive rather than additive.&nbsp; Linear wrt the number
@@ -523,7 +538,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">
-template &lt;typename output_container&gt;<br>
+template &lt;typename output_container&gt;<br />
 void <b>get</b>(output_container&amp; output) const</font></td>
                 <td>Expects a standard container of geometry objects.&nbsp; Will scan
                 and eliminate overlaps.&nbsp; Converts polygon set geometry to objects
@@ -536,7 +551,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">
-template &lt;typename output_container&gt;<br>
+template &lt;typename output_container&gt;<br />
 void <b>get_polygons</b>(output_container&amp; output) const</font></td>
                 <td>Expects a standard container of polygon objects.&nbsp; Will scan and
                 eliminate overlaps.&nbsp; Converts polygon set geometry to polygons and
@@ -546,7 +561,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">
-template &lt;typename output_container&gt;<br>
+template &lt;typename output_container&gt;<br />
 void <b>get_polygons_with_holes</b>(output_container&amp; o) const</font></td>
                 <td>Expects a standard container of polygon with holes objects.&nbsp; Will scan and
                 eliminate overlaps.&nbsp; Converts polygon set geometry to polygons and
@@ -555,7 +570,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">
-template &lt;typename output_container&gt;<br>
+template &lt;typename output_container&gt;<br />
 void <b>get_trapezoids</b>(output_container&amp; output) const</font></td>
                 <td>Expects a standard container of polygon objects.&nbsp; Will scan
                 and eliminate overlaps.&nbsp; Slices polygon set geometry to trapezoids
@@ -565,8 +580,8 @@
         <tr>
                 <td width="586">
 <font face="Courier New">
-template &lt;typename output_container&gt;<br>
-void <b>get_trapezoids</b>(output_container&amp; output, <br>&nbsp; orientation_2d
+template &lt;typename output_container&gt;<br />
+void <b>get_trapezoids</b>(output_container&amp; output, <br />&nbsp; orientation_2d
 slicing_orientation) const </font>
                 </td>
                 <td>Expects a standard container of polygon objects.&nbsp; Will scan
@@ -620,15 +635,15 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">
-template &lt;typename input_iterator_type&gt;<br>
-void <b>set</b>(input_iterator_type input_begin, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; input_iterator_type input_end) </font>
+template &lt;typename input_iterator_type&gt;<br />
+void <b>set</b>(input_iterator_type input_begin, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; input_iterator_type input_end) </font>
                 </td>
                 <td>Overwrite geometry in polygon set with insertable objects in the
                 iterator range.&nbsp; </td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">
-template &lt;typename rectangle_type&gt;<br>
+template &lt;typename rectangle_type&gt;<br />
 bool <b>extents</b>(rectangle_type&amp; extents_rectangle) const</font></td>
                 <td>Given an object that models rectangle, scans and eliminates overlaps
                 in the polygon set because subtractive regions may alter its extents
@@ -638,9 +653,9 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">
-polygon_45_set_data&amp;<br>
-<b>resize</b>(coord_type resizing,<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RoundingOption rounding = CLOSEST, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CornerOption
+polygon_45_set_data&amp;<br />
+<b>resize</b>(coord_type resizing,<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RoundingOption rounding = CLOSEST, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CornerOption
                 corner = INTERSECTION)</font></td>
                 <td>Same as bloat if resizing is positive, same as shrink if resizing is
                 negative.&nbsp; RoundingOption is an enum that controls snapping of
@@ -651,8 +666,8 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">
-template &lt;typename transformation_type&gt;<br>
-polygon_45_set_data&amp; <br><b>transform</b>(const transformation_type&amp; transformation) </font>
+template &lt;typename transformation_type&gt;<br />
+polygon_45_set_data&amp; <br /><b>transform</b>(const transformation_type&amp; transformation) </font>
                 </td>
                 <td>Applies transformation.transform() on vertices stored within the
                 polygon set.&nbsp; O(n log n) runtime and O(n) memory wrt. vertices +
@@ -710,18 +725,18 @@
                 <td>Retain only overlapping regions of geometry within a polygon set.&nbsp;
                 O(n log n) runtime and O(n) memory wrt. vertices + intersections.</td>
         </tr>
- </table>
- <tr>
+ </tbody></table>
+ </td></tr><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     &nbsp;</td>
 <td style="padding-left: 10px; padding-right: 10px; padding-bottom: 10px;" valign="top" width="100%">
 
 
-<table class="docinfo" rules="none" frame="void" id="table6">
+<table class="docinfo" id="table6" frame="void" rules="none">
         <colgroup>
- <col class="docinfo-name"><col class="docinfo-content">
+ <col class="docinfo-name" /><col class="docinfo-content" />
         </colgroup>
- <tbody vAlign="top">
+ <tbody valign="top">
                 <tr>
                         <th class="docinfo-name">Copyright:</th>
                         <td>Copyright © Intel Corporation 2008-2010.</td>
@@ -734,6 +749,6 @@
                         <a class="reference" target="_top" href="http://www.boost.org/LICENSE_1_0.txt">
                         http://www.boost.org/LICENSE_1_0.txt>)</td>
                 </tr>
-</table>
+</tbody></table>
 
-</html>
\ No newline at end of file
+</td></tr></tbody></table></body></html>
\ No newline at end of file

Modified: sandbox/gtl/doc/gtl_polygon_45_with_holes_concept.htm
==============================================================================
--- sandbox/gtl/doc/gtl_polygon_45_with_holes_concept.htm (original)
+++ sandbox/gtl/doc/gtl_polygon_45_with_holes_concept.htm 2012-04-09 15:10:32 EDT (Mon, 09 Apr 2012)
@@ -1,15 +1,14 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40"><head><!--
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40" lang="en"><head>
+<!--
     Copyright 2009-2010 Intel Corporation
     license banner
--->
-<title>Boost Polygon Library: Polygon 45 With Holes Concept</title>
- <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
- <!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> -->
-<table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
+--><title>Boost Polygon Library: Polygon 45 With Holes Concept</title>
+
+ <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /><!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> --></head><body><table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/boost.png" width="277" height="86"><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
+ <img src="images/boost.png" border="0" height="86" width="277" /><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
     <div style="margin: 5px;">
@@ -37,20 +36,34 @@
                         <li>Property Merge 90</li>
                         <li>Property Merge 45</li>
                         <li>Property Merge</li>
+ <li><a href="voronoi_main.htm">Voronoi Main Page<br />
+</a></li>
+ <li>Voronoi Benchmark<br />
+ </li>
+ <li>Voronoi Builder</li>
+ <li><a href="voronoi_diagram.htm">Voronoi Diagram<br />
+</a></li>
+ <li>Voronoi Predicates</li>
+ <li>Voronoi Robust FPT<br />
+ </li>
+ <li>Voronoi Utils</li>
+
         </ul>
         <h3 class="navbar">Other Resources</h3>
         <ul>
- <li>GTL Boostcon 2009 Paper</li>
- <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
+ <li>GTL Boostcon 2009 Paper</li>
+ <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
                                 Presentation</a></li>
- <li>Performance Analysis</li>
- <li>Layout Versus Schematic Tutorial</li>
- <li>Minkowski Sum Tutorial</li>
- </ul>
+ <li>Performance Analysis</li>
+ <li>Layout Versus Schematic Tutorial</li>
+ <li>Minkowski Sum Tutorial</li>
+ <li>Voronoi Basic Tutorial</li>
+ <li>Voronoi Advanced Tutorial</li>
+</ul>
     </div>
         <h3 class="navbar">Polygon Sponsor</h3>
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/intlogo.gif" width="127" height="51"><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
+ <img src="images/intlogo.gif" border="0" height="51" width="127" /><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
 </td>
@@ -58,71 +71,71 @@
 
 <!-- End Header -->
 
-<br>
+<br />
 <p>
 </p><h1>Polygon 45 With Holes Concept</h1>
 
 <p>
-<p>The polygon_45_with_holes concept tag is <font face="Courier New">
+</p><p>The polygon_45_with_holes concept tag is <font face="Courier New">
 polygon_45_with_holes_concept</font></p>
 <p>
 To register a user defined type as a model of
 <font face="Times New Roman">polygon_45_with_holes </font>concept, specialize
 the geometry concept meta-function for that type.&nbsp; In the example below
-CPolygon45WithHoles is registered as a model of polygon<font face="Times New Roman">_45_with_holes&nbsp;</font> concept.<p>
-<font face="Courier New">template &lt;&gt;<br>
-struct geometry_concept&lt;CPolygon45WithHoles&gt; { typedef polygon_45_with_holes_concept type; };</font><p>
+CPolygon45WithHoles is registered as a model of polygon<font face="Times New Roman">_45_with_holes&nbsp;</font> concept.</p><p>
+<font face="Courier New">template &lt;&gt;<br />
+struct geometry_concept&lt;CPolygon45WithHoles&gt; { typedef polygon_45_with_holes_concept type; };</font></p><p>
 <font face="Times New Roman">The semantic of a polygon_45_with_holes is a
 polygon_45 that it can provide iterators over holes that are also polygon_45.&nbsp;
 A mutable polygon_45_with_holes must also be able to set its geometry based on
 an interator range over polygon_45 holes.&nbsp; There is no convention of
-winding of holes enforced within the library. </font><p>
+winding of holes enforced within the library. </font></p><p>
 <font face="Times New Roman">Below is shown the default polygon with holes
 traits.&nbsp; Specialization of these traits is required for types that don't
-conform to the default behavior.</font><p><font face="Courier New">template &lt;typename
-T, typename enable = void&gt;<br>
-struct polygon_with_holes_traits {<br>
+conform to the default behavior.</font></p><p><font face="Courier New">template &lt;typename
+T, typename enable = void&gt;<br />
+struct polygon_with_holes_traits {<br />
 &nbsp;&nbsp;&nbsp;&nbsp; typedef typename T::iterator_holes_type
-iterator_holes_type;<br>
-&nbsp;&nbsp;&nbsp;&nbsp; typedef typename T::hole_type hole_type;<br>
+iterator_holes_type;<br />
+&nbsp;&nbsp;&nbsp;&nbsp; typedef typename T::hole_type hole_type;<br />
 &nbsp;&nbsp;&nbsp;&nbsp; static inline iterator_holes_type begin_holes(const T&amp;
-t) {<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.begin_holes();<br>
-&nbsp;&nbsp;&nbsp;&nbsp; }<br>
+t) {<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.begin_holes();<br />
+&nbsp;&nbsp;&nbsp;&nbsp; }<br />
 &nbsp;&nbsp;&nbsp;&nbsp; static inline iterator_holes_type end_holes(const T&amp; t)
-{<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.end_holes();<br>
-&nbsp;&nbsp;&nbsp;&nbsp; }<br>
-&nbsp;&nbsp;&nbsp;&nbsp; static inline unsigned int size_holes(const T&amp; t) {<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.size_holes();<br>
-&nbsp;&nbsp;&nbsp;&nbsp; }<br>
+{<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.end_holes();<br />
+&nbsp;&nbsp;&nbsp;&nbsp; }<br />
+&nbsp;&nbsp;&nbsp;&nbsp; static inline unsigned int size_holes(const T&amp; t) {<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.size_holes();<br />
+&nbsp;&nbsp;&nbsp;&nbsp; }<br />
 };</font></p>
-<p><font face="Courier New">template &lt;typename T, typename enable = void&gt;<br>
-struct polygon_with_holes_mutable_traits {<br>
-&nbsp;&nbsp;&nbsp;&nbsp; template &lt;typename iT&gt;<br>
+<p><font face="Courier New">template &lt;typename T, typename enable = void&gt;<br />
+struct polygon_with_holes_mutable_traits {<br />
+&nbsp;&nbsp;&nbsp;&nbsp; template &lt;typename iT&gt;<br />
 &nbsp;&nbsp;&nbsp;&nbsp; static inline T&amp; set_holes(T&amp; t, iT inputBegin, iT
-inputEnd) {<br>
+inputEnd) {<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t.set_holes(inputBegin,
-inputEnd);<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t;<br>
-&nbsp;&nbsp;&nbsp;&nbsp; }<br>
+inputEnd);<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t;<br />
+&nbsp;&nbsp;&nbsp;&nbsp; }<br />
 };</font></p>
 <p>An object that is a model of <font face="Courier New">
 polygon_45_with_holes_concept</font> can be viewed as a model of any of its
 refinements if it is determined at runtime to conform to the restriction of
 those concepts.&nbsp; This concept casting is accomplished through the
 <font face="Courier New">view_as&lt;&gt;()</font> function.</p>
-<p><font face="Courier New">view_as&lt;rectangle_concept&gt;(polygon_45_with_holes_object)</font><br>
-<font face="Courier New">view_as&lt;polygon_90_concept&gt;(polygon_45_with_holes_object)</font><br>
-<font face="Courier New">view_as&lt;polygon_90_with_holes_concept&gt;(polygon_45_with_holes_object)</font><br>
+<p><font face="Courier New">view_as&lt;rectangle_concept&gt;(polygon_45_with_holes_object)</font><br />
+<font face="Courier New">view_as&lt;polygon_90_concept&gt;(polygon_45_with_holes_object)</font><br />
+<font face="Courier New">view_as&lt;polygon_90_with_holes_concept&gt;(polygon_45_with_holes_object)</font><br />
 <font face="Courier New">view_as&lt;polygon_45_concept&gt;(polygon_45_with_holes_object)</font></p>
 <p>The return value of <font face="Courier New">view_as&lt;&gt;()</font> can be
 passed into any interface that expects an object of the conceptual type
 specified in its template parameter. </p>
 <h2>Functions</h2>
-<table border="1" width="100%" id="table1">
- <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+<table id="table1" border="1" width="100%">
+ <tbody><tr>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 point_iterator_type <b>begin_points</b>(const T&amp; polygon)</font></td>
                 <td><font face="Times New Roman">Expects a model of
                 polygon_45_with_holes.&nbsp;
@@ -130,7 +143,7 @@
                 vertices of the polygon.</font></td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 point_iterator_type <b>end_points</b>(const T&amp; polygon)</font></td>
                 <td><font face="Times New Roman">Expects a model of
                 polygon_45_with_holes.&nbsp;
@@ -138,7 +151,7 @@
                 vertices of the polygon.</font></td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 hole_iterator_type <b>begin_holes</b>(const T&amp; polygon)</font></td>
                 <td><font face="Times New Roman">Expects a model of
                 polygon_45_with_holes.&nbsp;
@@ -146,7 +159,7 @@
                 to horizontal and vertical edges.</font></td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 hole_iterator_type <b>end_holes</b>(const T&amp; polygon)</font></td>
                 <td><font face="Times New Roman">Expects a model of
                 polygon_45_with_holes.&nbsp;
@@ -155,7 +168,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T, typename
- iterator&gt;<br>
+ iterator&gt;<br />
                 void <b>set_points</b>(T&amp; polygon, iterator b, iterator e)</font></td>
                 <td><font face="Times New Roman">Expects a model of
                 polygon_45_with_holes.&nbsp;&nbsp;
@@ -164,14 +177,14 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T, typename
- iterator&gt;<br>
+ iterator&gt;<br />
                 void <b>set_holes</b>(T&amp; polygon, iterator b, iterator e)</font></td>
                 <td><font face="Times New Roman">Expects a model of
                 polygon_45_with_holes.&nbsp;&nbsp;
                 Sets the polygon holes to the hole data range [b,e)</font></td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 unsigned int <b>size</b>(const T&amp; polygon)</font></td>
                 <td><font face="Times New Roman">Returns the number of edges in the
                 outer shell of the polygon_45_with_holes.&nbsp; Does not include sizes
@@ -179,7 +192,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>assign</b>(T1&amp; left, const T2&amp; right)</font></td>
                 <td>Copies data from right object that models polygon_45_with_holes or
                 one of its refinements into left object
@@ -187,8 +200,8 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T,
- typename point_type&gt;<br>
- bool <b>contains</b>(const T&amp;, const point_type&amp; point, <br>
+ typename point_type&gt;<br />
+ bool <b>contains</b>(const T&amp;, const point_type&amp; point, <br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                 bool consider_touch=true)</font></td>
                 <td>Given an object that models polygon_45_with_holes and an object that models
@@ -199,86 +212,85 @@
                 the polygon or one of its holes.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">// get the center coordinate<br>
- template &lt;typename T, typename point_type&gt;<br>
+ <td width="586"><font face="Courier New">// get the center coordinate<br />
+ template &lt;typename T, typename point_type&gt;<br />
                 void <b>center</b>(point_type&amp; p, const T&amp; polygon)</font></td>
                 <td>Sets object that models point to the center point of the bounding
                 box of an object that models polygon_45_with_holes.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T,
- typename rectangle_type&gt;<br>
+ typename rectangle_type&gt;<br />
                 bool <b>extents</b>(rectangle_type&amp; bbox, const T&amp; polygon)</font></td>
                 <td>Sets object that models rectangle to the bounding box of an object
                 that models polygon_45_with_holes and returns true.&nbsp; Returns false
                 and leaves bbox unchanged if polygon is empty.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 manhattan_area_type <b>area</b>(const T&amp; polygon)</font></td>
                 <td>Returns the area of an object
                 that models polygon_45_with_holes including subtracting the area of its
                 holes from the area of the outer shell polygon.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 direction_1d <b>winding</b>(const T&amp; polygon)</font></td>
                 <td>Returns the winding direction of an object
                 that models polygon_45_with_holes, LOW == CLOCKWISE, HIGH =
                 COUNTERCLOCKWISE.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 coordinate_difference <b>perimeter</b>(const T&amp; polygon)</font></td>
                 <td>Returns the perimeter length of an object
                 that models polygon_45, including the perimeters of the holes.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T,
- typename transform_type&gt;<br>
+ typename transform_type&gt;<br />
                 T&amp; <b>transform</b>(T&amp; polygon, const transform_type&amp;)</font></td>
                 <td>Applies transform() on the vertices of polygon and sets the polygon to that described by the result of
                 transforming its vertices.&nbsp; Also applies transform() on the holes
                 of the polygon.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>scale_up</b>(T&amp; polygon, unsigned_area_type factor)</font></td>
                 <td>Scales up outer shell and holes of an object that models
                 polygon_45 by unsigned factor.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>scale_down</b>(T&amp; polygon, unsigned_area_type factor)</font></td>
                 <td>Scales down outer shell and holes of an object that models
                 polygon_45 by unsigned factor.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T, scaling_type&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T, scaling_type&gt;<br />
                 T&amp; <b>scale</b>(T&amp; rectangle, double scaling) </font></td>
                 <td>Scales outer shell and holes of an object that models polygon_45 by
                 floating point factor.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
- T&amp; <b>move</b>(T&amp; polygon, orientation_2d,<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
+ T&amp; <b>move</b>(T&amp; polygon, orientation_2d,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; coordinate_difference displacement)</font></td>
                 <td>Adds displacement value to coordinate indicated by orientation_2d of
                 vertices of an object that models polygon_45 .</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename polygon_type, typename point_type&gt;<br>
- polygon_type&amp; <b>convolve</b>(polygon_type&amp; polygon,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- const point_type&amp; point)</font></td>
+ <td width="586"><font face="Courier New">template &lt;typename polygon_type, typename point_type&gt;<br />
+ polygon_type&amp; <b>convolve</b>(polygon_type&amp; polygon,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+const point_type&amp; point)</font></td>
                 <td>Convolves coordinate values of point with the outer shell and holes of an
                 object that models polygon_45_with_holes.</td>
         </tr>
- </table>
+ </tbody></table>
         <h1>Polygon 45 With Holes Data</h1>
 
 <p>
-<p>The library provides a model of polygon 45 with holes concept declared
+</p><p>The library provides a model of polygon 45 with holes concept declared
 <font face="Courier New">
 template&lt;typename T&gt; polygon_45_with_holes_data </font>where T is the
 coordinate type.</p>
@@ -287,8 +299,8 @@
 library polygon data type instead of providing their own.&nbsp; The data type is
 implemented to be convenient to use with the library traits.</p>
 <h2>Members</h2>
-<table border="1" width="100%" id="table2">
- <tr>
+<table id="table2" border="1" width="100%">
+ <tbody><tr>
                 <td width="586"><b><font face="Courier New">geometry_type</font></b></td>
                 <td><font face="Times New Roman">polygon_45_with_holes_concept</font></td>
         </tr>
@@ -316,13 +328,13 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">polygon_45_with_holes_data&amp; <b>
- <br>operator=</b>(const polygon_45_with_holes_data&amp; that)</font></td>
+ <br />operator=</b>(const polygon_45_with_holes_data&amp; that)</font></td>
                 <td>Assignment operator.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T2&gt;<b> </b>
                 polygon_45_with_holes_data&amp;<b>&nbsp;
- <br> operator=</b>(const T2&amp; that) const</font></td>
+ <br /> operator=</b>(const T2&amp; that) const</font></td>
                 <td>Assign from an object that is a model of polygon 45 with holes.</td>
         </tr>
         <tr>
@@ -358,30 +370,30 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename iT&gt;<b>&nbsp;
- <br> </b>void <b>set</b>(iT begin_points, iT end_points)</font></td>
+ <br /> </b>void <b>set</b>(iT begin_points, iT end_points)</font></td>
                 <td>Sets the polygon to the iterator range of points.&nbsp; No check is
                 performed to ensure the points describe a 45 degree figure.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename iT&gt;<b>&nbsp;
- <br> </b>void <b>set_holes</b>(iT begin_holes, iT end_choless)</font></td>
+ <br /> </b>void <b>set_holes</b>(iT begin_holes, iT end_choless)</font></td>
                 <td>Sets the polygon holes the iterator range of hole polygons.&nbsp; These
                 polygons in the input range may be either polygon_45_data or
                 polygon_45_with_holes_data or any type that provides begin and end
                 member functions to iterate over point_data&lt;T&gt;.</td>
         </tr>
-</table>
- <tr>
+</tbody></table>
+ </td></tr><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     &nbsp;</td>
 <td style="padding-left: 10px; padding-right: 10px; padding-bottom: 10px;" valign="top" width="100%">
 
 
-<table class="docinfo" rules="none" frame="void" id="table3">
+<table class="docinfo" id="table3" frame="void" rules="none">
         <colgroup>
- <col class="docinfo-name"><col class="docinfo-content">
+ <col class="docinfo-name" /><col class="docinfo-content" />
         </colgroup>
- <tbody vAlign="top">
+ <tbody valign="top">
                 <tr>
                         <th class="docinfo-name">Copyright:</th>
                         <td>Copyright © Intel Corporation 2008-2010.</td>
@@ -394,6 +406,6 @@
                         <a class="reference" target="_top" href="http://www.boost.org/LICENSE_1_0.txt">
                         http://www.boost.org/LICENSE_1_0.txt>)</td>
                 </tr>
-</table>
+</tbody></table>
 
-</html>
\ No newline at end of file
+</td></tr></tbody></table></body></html>
\ No newline at end of file

Modified: sandbox/gtl/doc/gtl_polygon_90_concept.htm
==============================================================================
--- sandbox/gtl/doc/gtl_polygon_90_concept.htm (original)
+++ sandbox/gtl/doc/gtl_polygon_90_concept.htm 2012-04-09 15:10:32 EDT (Mon, 09 Apr 2012)
@@ -1,15 +1,14 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40"><head><!--
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40" lang="en"><head>
+<!--
     Copyright 2009-2010 Intel Corporation
     license banner
--->
-<title>Boost Polygon Library: Polygon 90 Concept</title>
- <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
- <!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> -->
-<table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
+--><title>Boost Polygon Library: Polygon 90 Concept</title>
+
+ <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /><!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> --></head><body><table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/boost.png" width="277" height="86"><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
+ <img src="images/boost.png" border="0" height="86" width="277" /><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
     <div style="margin: 5px;">
@@ -37,20 +36,34 @@
                         <li>Property Merge 90</li>
                         <li>Property Merge 45</li>
                         <li>Property Merge</li>
+ <li><a href="voronoi_main.htm">Voronoi Main Page<br />
+</a></li>
+ <li>Voronoi Benchmark<br />
+ </li>
+ <li>Voronoi Builder</li>
+ <li><a href="voronoi_diagram.htm">Voronoi Diagram<br />
+</a></li>
+ <li>Voronoi Predicates</li>
+ <li>Voronoi Robust FPT<br />
+ </li>
+ <li>Voronoi Utils</li>
+
         </ul>
         <h3 class="navbar">Other Resources</h3>
         <ul>
- <li>GTL Boostcon 2009 Paper</li>
- <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
+ <li>GTL Boostcon 2009 Paper</li>
+ <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
                                 Presentation</a></li>
- <li>Performance Analysis</li>
- <li>Layout Versus Schematic Tutorial</li>
- <li>Minkowski Sum Tutorial</li>
- </ul>
+ <li>Performance Analysis</li>
+ <li>Layout Versus Schematic Tutorial</li>
+ <li>Minkowski Sum Tutorial</li>
+ <li>Voronoi Basic Tutorial</li>
+ <li>Voronoi Advanced Tutorial</li>
+</ul>
     </div>
         <h3 class="navbar">Polygon Sponsor</h3>
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/intlogo.gif" width="127" height="51"><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
+ <img src="images/intlogo.gif" border="0" height="51" width="127" /><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
 </td>
@@ -58,20 +71,20 @@
 
 <!-- End Header -->
 
-<br>
+<br />
 <p>
 </p><h1>Polygon 90 Concept</h1>
 
 <p>
-<p>The polygon_90 concept tag is <font face="Courier New">
+</p><p>The polygon_90 concept tag is <font face="Courier New">
 polygon_90_concept</font></p>
 <p>
 To register a user defined type as a model of
 <font face="Times New Roman">polygon_90 </font>concept, specialize the
 geometry concept meta-function for that type.&nbsp; In the example below CPolygon90 is registered as a model of
-polygon_90&nbsp; concept.<p>
-<font face="Courier New">template &lt;&gt;<br>
-struct geometry_concept&lt;CPolygon90&gt; { typedef polygon_90_concept type; };</font><p>
+polygon_90&nbsp; concept.</p><p>
+<font face="Courier New">template &lt;&gt;<br />
+struct geometry_concept&lt;CPolygon90&gt; { typedef polygon_90_concept type; };</font></p><p>
 <font face="Times New Roman">The semantic of a polygon_90 is that it can provide
 iterators over the x and y coordinates that correspond to its horizontal and
 vertical sides, starting with an x coordinate.&nbsp; A mutable polygon_90 must
@@ -82,40 +95,40 @@
 specialization of polygon_90_traits.&nbsp; A std::vector&lt;int&gt; or std::list&lt;int&gt;
 could be made models of polygon_90_concept by simply providing access to their
 iterators through traits.&nbsp; Library functions that create polygon objects
-require that those objects provide a default constructor.</font><p>
+require that those objects provide a default constructor.</font></p><p>
 <font face="Times New Roman">Below is shown the default polygon traits.&nbsp;
 Specialization of these traits is required for types that don't conform to the
 default behavior.&nbsp; Note that these traits are also used by the
-polygon_90_with_holes concept.</font><p><font face="Courier New">template &lt;typename
-T&gt;<br>
-struct polygon_90_traits {<br>
-&nbsp;&nbsp;&nbsp;&nbsp; typedef typename T::coordinate_type coordinate_type;<br>
+polygon_90_with_holes concept.</font></p><p><font face="Courier New">template &lt;typename
+T&gt;<br />
+struct polygon_90_traits {<br />
+&nbsp;&nbsp;&nbsp;&nbsp; typedef typename T::coordinate_type coordinate_type;<br />
 &nbsp;&nbsp;&nbsp;&nbsp; typedef typename T::compact_iterator_type
-compact_iterator_type;<br>
+compact_iterator_type;<br />
 &nbsp;&nbsp;&nbsp;&nbsp; static inline compact_iterator_type begin_compact(const
-T&amp; t) {<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.begin_compact();<br>
-&nbsp;&nbsp;&nbsp;&nbsp; }<br>
+T&amp; t) {<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.begin_compact();<br />
+&nbsp;&nbsp;&nbsp;&nbsp; }<br />
 &nbsp;&nbsp;&nbsp;&nbsp; static inline compact_iterator_type end_compact(const
-T&amp; t) {<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.end_compact();<br>
-&nbsp;&nbsp;&nbsp;&nbsp; }<br>
-&nbsp;&nbsp;&nbsp;&nbsp; static inline unsigned int size(const T&amp; t) {<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.size();<br>
-&nbsp;&nbsp;&nbsp;&nbsp; }<br>
-&nbsp;&nbsp;&nbsp;&nbsp; static inline winding_direction winding(const T&amp; t) {<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return unknown_winding;<br>
-&nbsp;&nbsp;&nbsp;&nbsp; }<br>
+T&amp; t) {<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.end_compact();<br />
+&nbsp;&nbsp;&nbsp;&nbsp; }<br />
+&nbsp;&nbsp;&nbsp;&nbsp; static inline unsigned int size(const T&amp; t) {<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.size();<br />
+&nbsp;&nbsp;&nbsp;&nbsp; }<br />
+&nbsp;&nbsp;&nbsp;&nbsp; static inline winding_direction winding(const T&amp; t) {<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return unknown_winding;<br />
+&nbsp;&nbsp;&nbsp;&nbsp; }<br />
 };</font></p>
-<p><font face="Courier New">template &lt;typename T&gt;<br>
-struct polygon_90_mutable_traits { <br>
-&nbsp;&nbsp;&nbsp;&nbsp; template &lt;typename iT&gt;<br>
+<p><font face="Courier New">template &lt;typename T&gt;<br />
+struct polygon_90_mutable_traits { <br />
+&nbsp;&nbsp;&nbsp;&nbsp; template &lt;typename iT&gt;<br />
 &nbsp;&nbsp;&nbsp;&nbsp; static inline T&amp; set_compact(T&amp; t, iT input_begin, iT
-input_end) {<br>
+input_end) {<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t.set_compact(input_begin,
-input_end);<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t;<br>
-&nbsp;&nbsp;&nbsp;&nbsp; }</font><br>
+input_end);<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t;<br />
+&nbsp;&nbsp;&nbsp;&nbsp; }</font><br />
 <font face="Courier New">};</font></p>
 <p>An object that is a model of <font face="Courier New">
 polygon_90_concept</font> can be viewed as a model of any of its
@@ -127,30 +140,30 @@
 passed into any interface that expects an object of the conceptual type
 specified in its template parameter.</p>
 <h2>Functions</h2>
-<table border="1" width="100%" id="table1">
- <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+<table id="table1" border="1" width="100%">
+ <tbody><tr>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 compact_iterator_type <b>begin_compact</b>(const T&amp; polygon)</font></td>
                 <td><font face="Times New Roman">Expects a model of polygon_90.&nbsp;
                 Returns the begin iterator over the range of coordinates that correspond
                 to horizontal and vertical edges.</font></td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 compact_iterator_type <b>end_compact</b>(const T&amp; polygon)</font></td>
                 <td><font face="Times New Roman">Expects a model of polygon_90.&nbsp;
                 Returns the end iterator over the range of coordinates that correspond
                 to horizontal and vertical edges.</font></td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 point_iterator_type <b>begin_points</b>(const T&amp; polygon)</font></td>
                 <td><font face="Times New Roman">Expects a model of polygon_90.&nbsp;
                 Returns the begin iterator over the range of points that correspond to
                 vertices of the polygon.</font></td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 point_iterator_type <b>end_points</b>(const T&amp; polygon)</font></td>
                 <td><font face="Times New Roman">Expects a model of polygon_90.&nbsp;
                 Returns the end iterator over the range of points that correspond to
@@ -158,7 +171,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T, typename
- iterator&gt;<br>
+ iterator&gt;<br />
                 void <b>set_compact</b>(T&amp; polygon, iterator b, iterator e)</font></td>
                 <td><font face="Times New Roman">Expects a model of polygon_90.&nbsp;&nbsp;
                 Sets the polygon to the coordinate data range [b,e) that corresponds to
@@ -166,7 +179,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T, typename
- iterator&gt;<br>
+ iterator&gt;<br />
                 void <b>set_points</b>(T&amp; polygon, iterator b, iterator e)</font></td>
                 <td><font face="Times New Roman">Expects a model of polygon_90.&nbsp;&nbsp;
                 Sets the polygon to the point data range [b,e) that corresponds to
@@ -174,22 +187,22 @@
                 successive input points results in undefined behavior.</font></td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 unsigned int <b>size</b>(const T&amp; polygon)</font></td>
                 <td><font face="Times New Roman">Returns the number of edges in the
                 polygon.</font></td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>assign</b>(T1&amp; left, const T2&amp; right)</font></td>
                 <td>Copies data from right object that models polygon_90 into left object
                 that models polygon_90.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T,
- typename point_type&gt;<br>
- bool <b>contains</b>(const T&amp;, const point_type&amp; point, <br>
+ typename point_type&gt;<br />
+ bool <b>contains</b>(const T&amp;, const point_type&amp; point, <br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                 bool consider_touch=true)</font></td>
                 <td>Given an object that models polygon_90 and an object that models
@@ -199,85 +212,84 @@
                 the polygon.&nbsp; Linear wrt. vertices.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">// get the center coordinate<br>
- template &lt;typename T, typename point_type&gt;<br>
+ <td width="586"><font face="Courier New">// get the center coordinate<br />
+ template &lt;typename T, typename point_type&gt;<br />
                 void <b>center</b>(point_type&amp; p, const T&amp; polygon)</font></td>
                 <td>Sets object that models point to the center point of the bounding
                 box of an object that models polygon_90.&nbsp; Linear wrt. vertices.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T,
- typename rectangle_type&gt;<br>
+ typename rectangle_type&gt;<br />
                 bool <b>extents</b>(rectangle_type&amp; bbox, const T&amp; polygon)</font></td>
                 <td>Sets object that models rectangle to the bounding box of an object
                 that models polygon_90 and returns true.&nbsp; Returns false and leaves
                 bbox unchanged if polygon is empty.&nbsp; Linear wrt. vertices.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 manhattan_area_type <b>area</b>(const T&amp; polygon)</font></td>
                 <td>Returns the area of an object
                 that models polygon_90.&nbsp; Linear wrt. vertices.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 direction_1d <b>winding</b>(const T&amp; polygon)</font></td>
                 <td>Returns the winding direction of an object
                 that models polygon_90, LOW == CLOCKWISE, HIGH = COUNTERCLOCKWISE.&nbsp;
                 Complexity depends upon winding trait.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 coordinate_difference <b>perimeter</b>(const T&amp; polygon)</font></td>
                 <td>Returns the perimeter length of an object
                 that models polygon_90.&nbsp; Linear wrt. vertices.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T,
- typename transform_type&gt;<br>
+ typename transform_type&gt;<br />
                 T&amp; <b>transform</b>(T&amp; polygon, const transform_type&amp;)</font></td>
                 <td>Applies transform() on the vertices of polygon and sets the polygon to that described by the result of
                 transforming its vertices.&nbsp; Linear wrt. vertices.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>scale_up</b>(T&amp; polygon, unsigned_area_type factor)</font></td>
                 <td>Scales up coordinate of an object that models
                 polygon_90 by unsigned factor.&nbsp; Linear wrt. vertices.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>scale_down</b>(T&amp; polygon, unsigned_area_type factor)</font></td>
                 <td>Scales down coordinates of an object that models
                 polygon_90 by unsigned factor.&nbsp; Linear wrt. vertices.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T, scaling_type&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T, scaling_type&gt;<br />
                 T&amp; <b>scale</b>(T&amp; rectangle, double scaling) </font></td>
                 <td>Scales coordinates of an object that models polygon_90 by floating
                 point factor.&nbsp; Linear wrt. vertices.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
- T&amp; <b>move</b>(T&amp; polygon, orientation_2d,<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
+ T&amp; <b>move</b>(T&amp; polygon, orientation_2d,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; coordinate_difference displacement)</font></td>
                 <td>Adds displacement value to coordinate indicated by orientation_2d of
                 vertices of an object that models polygon_90 .&nbsp; Linear wrt.
                 vertices.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename polygon_type, typename point_type&gt;<br>
- polygon_type&amp; <b>convolve</b>(polygon_type&amp; polygon,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- const point_type&amp; point)</font></td>
+ <td width="586"><font face="Courier New">template &lt;typename polygon_type, typename point_type&gt;<br />
+ polygon_type&amp; <b>convolve</b>(polygon_type&amp; polygon,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+const point_type&amp; point)</font></td>
                 <td>Convolves coordinate values of point with vertices of an
                 object that models polygon_90.&nbsp; Linear wrt. vertices.</td>
         </tr>
- </table>
+ </tbody></table>
         <h1>Polygon 90 Data</h1>
 
 <p>
-<p>The library provides a model of polygon 90 concept declared
+</p><p>The library provides a model of polygon 90 concept declared
 <font face="Courier New">
 template&lt;typename T&gt; polygon_90_data </font>where T is the coordinate type.</p>
 <p>This data type is used internally when a Manhattan polygon is needed and is
@@ -285,8 +297,8 @@
 data type instead of providing their own.&nbsp; The data type is implemented to
 be convenient to use with the library traits.</p>
 <h2>Members</h2>
-<table border="1" width="100%" id="table2">
- <tr>
+<table id="table2" border="1" width="100%">
+ <tbody><tr>
                 <td width="586"><b><font face="Courier New">geometry_type</font></b></td>
                 <td><font face="Times New Roman">polygon_90_concept</font></td>
         </tr>
@@ -321,7 +333,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T2&gt;<b>&nbsp;
- <br> </b>polygon_90_data&amp; <b>operator=</b>(const T2&amp; that) const</font></td>
+ <br /> </b>polygon_90_data&amp; <b>operator=</b>(const T2&amp; that) const</font></td>
                 <td>Assign from an object that is a model of polygon 90.</td>
         </tr>
         <tr>
@@ -353,31 +365,31 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename iT&gt;<b>&nbsp;
- <br> </b>void <b>set</b>(iT begin_points, iT end_points)</font></td>
+ <br /> </b>void <b>set</b>(iT begin_points, iT end_points)</font></td>
                 <td>Sets the polygon to the iterator range of points.&nbsp; No check is
                 performed to ensure the points describe a Manhattan figure, every other
                 x and y value of the points is used to initialize the polygon.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename iT&gt;<b>&nbsp;
- <br> </b>void <b>set_compact</b>(iT begin_coords, iT end_coords)</font></td>
+ <br /> </b>void <b>set_compact</b>(iT begin_coords, iT end_coords)</font></td>
                 <td>Sets the polygon to the iterator range of coordinates.&nbsp; These
                 coordinates correspond to the x values of vertical edges and y values of
                 horizontal edges.&nbsp; It is expected that the sequence start with an x
                 value and proceed x then y then x then y.</td>
         </tr>
-</table>
- <tr>
+</tbody></table>
+ </td></tr><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     &nbsp;</td>
 <td style="padding-left: 10px; padding-right: 10px; padding-bottom: 10px;" valign="top" width="100%">
 
 
-<table class="docinfo" rules="none" frame="void" id="table3">
+<table class="docinfo" id="table3" frame="void" rules="none">
         <colgroup>
- <col class="docinfo-name"><col class="docinfo-content">
+ <col class="docinfo-name" /><col class="docinfo-content" />
         </colgroup>
- <tbody vAlign="top">
+ <tbody valign="top">
                 <tr>
                         <th class="docinfo-name">Copyright:</th>
                         <td>Copyright © Intel Corporation 2008-2010.</td>
@@ -390,6 +402,6 @@
                         <a class="reference" target="_top" href="http://www.boost.org/LICENSE_1_0.txt">
                         http://www.boost.org/LICENSE_1_0.txt>)</td>
                 </tr>
-</table>
+</tbody></table>
 
-</html>
\ No newline at end of file
+</td></tr></tbody></table></body></html>
\ No newline at end of file

Modified: sandbox/gtl/doc/gtl_polygon_90_set_concept.htm
==============================================================================
--- sandbox/gtl/doc/gtl_polygon_90_set_concept.htm (original)
+++ sandbox/gtl/doc/gtl_polygon_90_set_concept.htm 2012-04-09 15:10:32 EDT (Mon, 09 Apr 2012)
@@ -1,15 +1,14 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40"><head><!--
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40" lang="en"><head>
+<!--
     Copyright 2009-2010 Intel Corporation
     license banner
--->
-<title>Boost Polygon Library: Polygon 90 Set Concept</title>
- <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
- <!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> -->
-<table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
+--><title>Boost Polygon Library: Polygon 90 Set Concept</title>
+
+ <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /><!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> --></head><body><table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/boost.png" width="277" height="86"><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
+ <img src="images/boost.png" border="0" height="86" width="277" /><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
     <div style="margin: 5px;">
@@ -37,20 +36,34 @@
                         <li>Property Merge 90</li>
                         <li>Property Merge 45</li>
                         <li>Property Merge</li>
+ <li><a href="voronoi_main.htm">Voronoi Main Page<br />
+</a></li>
+ <li>Voronoi Benchmark<br />
+ </li>
+ <li>Voronoi Builder</li>
+ <li><a href="voronoi_diagram.htm">Voronoi Diagram<br />
+</a></li>
+ <li>Voronoi Predicates</li>
+ <li>Voronoi Robust FPT<br />
+ </li>
+ <li>Voronoi Utils</li>
+
         </ul>
         <h3 class="navbar">Other Resources</h3>
         <ul>
- <li>GTL Boostcon 2009 Paper</li>
- <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
+ <li>GTL Boostcon 2009 Paper</li>
+ <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
                                 Presentation</a></li>
- <li>Performance Analysis</li>
- <li>Layout Versus Schematic Tutorial</li>
- <li>Minkowski Sum Tutorial</li>
- </ul>
+ <li>Performance Analysis</li>
+ <li>Layout Versus Schematic Tutorial</li>
+ <li>Minkowski Sum Tutorial</li>
+ <li>Voronoi Basic Tutorial</li>
+ <li>Voronoi Advanced Tutorial</li>
+</ul>
     </div>
         <h3 class="navbar">Polygon Sponsor</h3>
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/intlogo.gif" width="127" height="51"><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
+ <img src="images/intlogo.gif" border="0" height="51" width="127" /><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
 </td>
@@ -58,16 +71,16 @@
 
 <!-- End Header -->
 
-<br>
+<br />
 <p>
 </p><h1>Polygon 90 Set Concept</h1>
 
 <p>
-<p>The polygon_90_set concept tag is <font face="Courier New">
+</p><p>The polygon_90_set concept tag is <font face="Courier New">
 polygon_90_set_concept</font></p>
 <p>
 <font face="Times New Roman">The semantic of a polygon_90_set is zero or more
-Manhattan geometry regions.</font><p>
+Manhattan geometry regions.</font></p><p>
 <font face="Times New Roman">The motivation for providing the
 polygon_90_set_concept is that it is a very common special case of planar
 geometry which afford the implementation of a variety of optimizations on the
@@ -75,7 +88,7 @@
 polygon_90_set_concept can be 100X faster than arbitrary angle polygon
 manipulation.&nbsp; Because the performance benefits are so large and the
 special case is important enough, the library provides these performance
-benefits for those application domains that require them.</font><p>Users are recommended to use std::vector and std::list of user defined polygons
+benefits for those application domains that require them.</font></p><p>Users are recommended to use std::vector and std::list of user defined polygons
 or library provided polygon_90_set_data&lt;coordinate_type&gt; objects.&nbsp; Lists
 and vectors of models of polygon_90_concept or polygon_90_with_holes_concept or
 rectangle_concept are automatically models of polygon_90_set_concept.</p>
@@ -87,10 +100,10 @@
 eliminate temp copies of intermediate results when Boolean operators are chained
 together.</p>
 <p>Operators are declared inside the namespace <font face="Courier New">boost::polygon::operators</font>.</p>
-<table border="1" width="100%" id="table3">
- <tr>
+<table id="table3" border="1" width="100%">
+ <tbody><tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 polygon_90_set_view <b>operator</b>|(const T1&amp; l, const T2&amp; r)</font></td>
                 <td>Boolean OR operation (polygon set union).&nbsp; Accepts two objects
                 that model polygon_90_set or one of its refinements.&nbsp; Returns an
@@ -100,7 +113,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 polygon_90_set_view <b>operator</b>+(const T1&amp; l, const T2&amp; r)</font></td>
                 <td>Same as operator|.&nbsp; The plus sign is also used for OR
                 operations in Boolean logic expressions.&nbsp; O( n log n) runtime
@@ -108,7 +121,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 polygon_90_set_view <b>operator</b>&amp;(const T1&amp; l, const T2&amp; r)</font></td>
                 <td>Boolean AND operation (polygon set intersection).&nbsp; Accepts two
                 objects that model polygon_90_set or one of its refinements.&nbsp; O( n
@@ -116,7 +129,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 polygon_90_set_view <b>operator</b>*(const T1&amp; l, const T2&amp; r)</font></td>
                 <td>Same as operator&amp;.&nbsp; The multiplication symbol is also used for
                 AND operations in Boolean logic expressions.&nbsp; O( n log n) runtime
@@ -124,7 +137,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 polygon_90_set_view <b>operator</b>^(const T1&amp; l, const T2&amp; r)</font></td>
                 <td>Boolean XOR operation (polygon set disjoint-union).&nbsp; Accepts
                 two objects that model polygon_90_set or one of its refinements.&nbsp;
@@ -134,7 +147,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 polygon_90_set_view <b>operator</b>-(const T1&amp; l, const T2&amp; r)</font></td>
                 <td>Boolean SUBTRACT operation (polygon set difference).&nbsp; Accepts
                 two objects that model polygon_90_set or one of its refinements.&nbsp;
@@ -143,7 +156,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>operator</b>|=(const T1&amp; l, const T2&amp; r)</font></td>
                 <td>Same as operator|, but with self assignment, left operand must model
                 polygon_90_set and not one of it's refinements.&nbsp; O( n log n)
@@ -151,7 +164,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>operator</b>+=(T1&amp; l, const T2&amp; r)</font></td>
                 <td>Same as operator+, but with self assignment, left operand must model
                 polygon_90_set and not one of it's refinements.&nbsp; O( n log n)
@@ -159,7 +172,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>operator</b>&amp;=(const T1&amp; l, const T2&amp; r)</font></td>
                 <td>Same as operator&amp;, but with self assignment, left operand must model
                 polygon_90_set and not one of it's refinements.&nbsp; O( n log n)
@@ -167,7 +180,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>operator</b>*=(T1&amp; l, const T2&amp; r)</font></td>
                 <td>Same as operator*, but with self assignment, left operand must model
                 polygon_90_set and not one of it's refinements.&nbsp; O( n log n)
@@ -175,7 +188,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>operator</b>^=(const T1&amp; l, const T2&amp; r)</font></td>
                 <td>Same as operator^, but with self assignment, left operand must model
                 polygon_90_set and not one of it's refinements.&nbsp; O( n log n)
@@ -183,14 +196,14 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>operator</b>-=(T1&amp; l, const T2&amp; r)</font></td>
                 <td>Same as operator-, but with self assignment, left operand must model
                 polygon_90_set and not one of it's refinements.&nbsp; O( n log n)
                 runtime complexity and O(n) memory wrt vertices + intersections.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T1&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T1&gt;<br />
                 T1 <b>operator</b>+(const T1&amp;, coordinate_type bloating)</font></td>
                 <td>Performs resize operation, inflating by bloating ammount.&nbsp; If
                 negative the result is a shrink instead of bloat.&nbsp; Note: returns
@@ -199,7 +212,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1 <b>operator</b>-(const T1&amp;, coordinate_type shrinking)</font></td>
                 <td>Performs resize operation, deflating by bloating ammount.&nbsp; If
                 negative the result is a bloat instead of shrink.&nbsp; Note: returns
@@ -208,7 +221,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>operator</b>+=(const T1&amp;, coordinate_type bloating)</font></td>
                 <td>Performs resize operation, inflating by bloating ammount.&nbsp; If
                 negative the result is a shrink instead of bloat.&nbsp; Returns
@@ -217,19 +230,19 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>operator</b>-=(const T1&amp;, coordinate_type shrinking)</font></td>
                 <td>Performs resize operation, deflating by bloating ammount.&nbsp; If
                 negative the result is a bloat instead of shrink.&nbsp; Returns
                 reference to modified argument.&nbsp; O( n log n) runtime complexity and
                 O(n) memory wrt vertices + intersections.</td>
         </tr>
- </table>
+ </tbody></table>
 <h2>Functions</h2>
-<table border="1" width="100%" id="table1">
- <tr>
+<table id="table1" border="1" width="100%">
+ <tbody><tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>assign</b>(T1&amp; lvalue, const T2&amp; rvalue)</font></td>
                 <td>Eliminates overlaps in geometry and copies from an object that
                 models polygon_90_set or any of its refinements into an object that
@@ -238,7 +251,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 bool <b>equivalence</b>(const T1&amp; lvalue, const T2&amp; rvalue) </font></td>
                 <td>Returns true if an object that models polygon_90_set or one of its
                 refinements covers the exact same geometric regions as another object
@@ -248,8 +261,8 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- output_container_type, typename T&gt;<br>
- void <b>get_rectangles</b>(output_container_type&amp; output, <br>
+ output_container_type, typename T&gt;<br />
+ void <b>get_rectangles</b>(output_container_type&amp; output, <br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                 const T&amp; polygon_set)</font></td>
                 <td>Output container is expected to be a standard container.&nbsp;
@@ -260,10 +273,9 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- output_container_type, typename T&gt;<br>
- void <b>get_max_rectangles</b>(output_container_type&amp; output, <br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- const T&amp; polygon_set)</font></td>
+ output_container_type, typename T&gt;<br />
+ void <b>get_max_rectangles</b>(output_container_type&amp; output, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+const T&amp; polygon_set)</font></td>
                 <td>Output container is expected to be a standard container.&nbsp; Given
                 an object that models polygon_90_set or one of its refinements finds all
                 overlapping rectangles that are maximal in area and appends them to the
@@ -271,13 +283,13 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- polygon_set_type&gt;<br>
+ polygon_set_type&gt;<br />
                 void <b>clear</b>(polygon_set_type&amp; polygon_set)</font></td>
                 <td>Makes the object empty of geometry.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- polygon_set_type&gt;<br>
+ polygon_set_type&gt;<br />
                 bool <b>empty</b>(const polygon_set_type&amp; polygon_set)</font></td>
                 <td>Checks whether the object is empty of geometry.&nbsp; Polygons that
                 are completely covered by holes will result in empty returning true.&nbsp;
@@ -286,8 +298,8 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T, typename
- rectangle_type&gt;<br>
- bool <b>extents</b>(rectangle_type&amp; extents_rectangle, <br>
+ rectangle_type&gt;<br />
+ bool <b>extents</b>(rectangle_type&amp; extents_rectangle, <br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const
                 T&amp; polygon_set)</font></td>
                 <td>Computes bounding box of an object that models polygon_90_set and
@@ -297,7 +309,7 @@
                 runtime complexity and O(n) memory wrt vertices + intersections. </td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 manhattan_area_type <b>area</b>(const T&amp; polygon_set)</font></td>
                 <td>Computes the area covered by geometry in an object that models
                 polygon_90_set.&nbsp; O( n log n) runtime complexity and O(n) memory wrt
@@ -305,7 +317,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>interact</b>(T1&amp; a, const T2&amp; b)</font></td>
                 <td>Given an object that models polygon_90_set and an object that models
                 polygon_90_set or one of its refinements, modifies a to retain only
@@ -313,7 +325,7 @@
                 complexity and O(n) memory wrt vertices + intersections. </td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>self_intersect</b>(T&amp; polygon_set)</font></td>
                 <td>Given an object that models polygon_90_set that has self overlapping
                 regions, modifies the argument to contain only the regions of overlap.&nbsp;
@@ -321,7 +333,7 @@
                 intersections. </td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>self_xor</b>(T&amp; polygon_set)</font></td>
                 <td>Given an object that models polygon_90_set that has self overlapping
                 regions, modifies the argument to contain only the regions that do not
@@ -329,24 +341,24 @@
                 vertices + intersections. </td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>bloat</b>(T&amp; polygon_set, unsigned_area_type bloating)</font></td>
                 <td>Same as getting all the rectangles, bloating them and putting them
                 back.&nbsp; O( n log n) runtime complexity and O(n) memory wrt vertices
                 + intersections. </td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
- T&amp; <b>bloat</b>(T&amp; polygon_set, orientation_2d orient,<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
+ T&amp; <b>bloat</b>(T&amp; polygon_set, orientation_2d orient,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type bloating)</font></td>
                 <td>Same as getting all the rectangles, bloating them and putting them
                 back.&nbsp; O( n log n) runtime complexity and O(n) memory wrt vertices
                 + intersections. </td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
- T&amp; <b>bloat</b>(T&amp; polygon_set, orientation_2d orient,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type low_bloating,<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
+ T&amp; <b>bloat</b>(T&amp; polygon_set, orientation_2d orient,<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type low_bloating,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type
                 high_bloating)</font></td>
                 <td>Same as getting all the rectangles, bloating them and putting them
@@ -354,22 +366,22 @@
                 + intersections. </td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
- T&amp; <b>bloat</b>(T&amp; polygon_set, direction_2d dir,<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
+ T&amp; <b>bloat</b>(T&amp; polygon_set, direction_2d dir,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type bloating)</font></td>
                 <td>Same as getting all the rectangles, bloating them and putting them
                 back.&nbsp; O( n log n) runtime complexity and O(n) memory wrt vertices
                 + intersections. </td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
- T&amp; <b>bloat</b>(T&amp; polygon_set, <br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
+ T&amp; <b>bloat</b>(T&amp; polygon_set, <br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type
- west_bloating,<br>
+ west_bloating,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type
- east_bloating,<br>
+ east_bloating,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type
- south_bloating,<br>
+ south_bloating,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type
                 north_bloating)</font></td>
                 <td>Same as getting all the rectangles, bloating them and putting them
@@ -377,15 +389,15 @@
                 + intersections. </td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>shrink</b>(T&amp; polygon_set, unsigned_area_type shrinking)</font></td>
                 <td>Same as getting all the rectangles of the inverse, bloating them and overwriting
                 the polygon set with the resulting regions then negating.&nbsp; O( n log
                 n) runtime complexity and O(n) memory wrt vertices + intersections. </td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
- T&amp; <b>shrink</b>(T&amp; polygon_set, orientation_2d orient,<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
+ T&amp; <b>shrink</b>(T&amp; polygon_set, orientation_2d orient,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type
                 shrinking)</font></td>
                 <td>Same as getting all the rectangles of the inverse, bloating them and overwriting
@@ -393,10 +405,10 @@
                 n) runtime complexity and O(n) memory wrt vertices + intersections. </td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
- T&amp; <b>shrink</b>(T&amp; polygon_set, orientation_2d orient,<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
+ T&amp; <b>shrink</b>(T&amp; polygon_set, orientation_2d orient,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type
- low_shrinking,<br>
+ low_shrinking,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type
                 high_shrinking)</font></td>
                 <td>Same as getting all the rectangles of the inverse, bloating them and overwriting
@@ -404,8 +416,8 @@
                 n) runtime complexity and O(n) memory wrt vertices + intersections. </td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
- T&amp; <b>shrink</b>(T&amp; polygon_set, direction_2d dir,<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
+ T&amp; <b>shrink</b>(T&amp; polygon_set, direction_2d dir,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type
                 shrinking)</font></td>
                 <td>Same as getting all the rectangles of the inverse, bloating them and overwriting
@@ -413,14 +425,14 @@
                 n) runtime complexity and O(n) memory wrt vertices + intersections. </td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
- T&amp; <b>shrink</b>(T&amp; polygon_set, <br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
+ T&amp; <b>shrink</b>(T&amp; polygon_set, <br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type
- west_shrinking,<br>
+ west_shrinking,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type
- east_shrinking,<br>
+ east_shrinking,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type
- south_shrinking,<br>
+ south_shrinking,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type
                 north_shrinking)</font></td>
                 <td>Same as getting all the rectangles of the inverse, bloating them and overwriting
@@ -429,23 +441,23 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T, typename
- coord_type&gt;<br>
+ coord_type&gt;<br />
                 T&amp; <b>resize</b>(T&amp; polygon_set, coord_type resizing)</font></td>
                 <td>Same as bloat if resizing is positive, same as shrink if resizing is
                 negative.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T, typename
- coord_type&gt;<br>
- T&amp; <b>resize</b>(polygon_set_type&amp; polygon_set, <br>
+ coord_type&gt;<br />
+ T&amp; <b>resize</b>(polygon_set_type&amp; polygon_set, <br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; coord_type west, coord_type east,
- <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; coord_type south, coord_type north)</font></td>
+ <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; coord_type south, coord_type north)</font></td>
                 <td>Same as bloat if resizing is positive, same as shrink if resizing is
                 negative.&nbsp; O( n log n) runtime complexity and O(n) memory wrt
                 vertices + intersections. </td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
 T&amp; <b>grow_and</b>(T&amp; polygon_set, unsigned_area_type bloating)</font></td>
                 <td>Same as bloating non-overlapping regions and then applying self
                 intersect to retain only the overlaps introduced by the bloat.&nbsp; O(
@@ -453,8 +465,8 @@
                 intersections. </td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
-T&amp; <b>grow_and</b>(T&amp; polygon_set, orientation_2d orient,<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
+T&amp; <b>grow_and</b>(T&amp; polygon_set, orientation_2d orient,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 unsigned_area_type bloating)</font></td>
                 <td>Same as bloating non-overlapping regions and then applying self
@@ -463,10 +475,10 @@
                 intersections. </td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
-T&amp; <b>grow_and</b>(T&amp; polygon_set, orientation_2d orient,<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
+T&amp; <b>grow_and</b>(T&amp; polygon_set, orientation_2d orient,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-unsigned_area_type low_bloating,<br>
+unsigned_area_type low_bloating,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 unsigned_area_type high_bloating)</font></td>
                 <td>Same as bloating non-overlapping regions and then applying self
@@ -475,8 +487,8 @@
                 intersections. </td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
-T&amp; <b>grow_and</b>(T&amp; polygon_set, direction_2d dir,<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
+T&amp; <b>grow_and</b>(T&amp; polygon_set, direction_2d dir,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 unsigned_area_type bloating)</font></td>
                 <td>Same as bloating non-overlapping regions and then applying self
@@ -485,14 +497,14 @@
                 intersections. </td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
-T&amp; <b>grow_and</b>(T&amp; polygon_set, <br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
+T&amp; <b>grow_and</b>(T&amp; polygon_set, <br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-unsigned_area_type west_bloating,<br>
+unsigned_area_type west_bloating,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-unsigned_area_type east_bloating,<br>
+unsigned_area_type east_bloating,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-unsigned_area_type south_bloating,<br>
+unsigned_area_type south_bloating,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 unsigned_area_type north_bloating)</font></td>
                 <td>Same as bloating non-overlapping regions and then applying self
@@ -501,28 +513,28 @@
                 intersections. </td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
 T&amp; <b>scale_up</b>(T&amp; polygon_set, unsigned_area_type factor)</font></td>
                 <td>Scales geometry up by unsigned factor.&nbsp; O( n log n) runtime
                 complexity and O(n) memory wrt vertices + intersections. </td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
 T&amp; <b>scale_down</b>(T&amp; polygon_set, unsigned_area_type factor)</font></td>
                 <td>Scales geometry down by unsigned factor.&nbsp; O( n log n) runtime
                 complexity and O(n) memory wrt vertices + intersections. </td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T, typename scaling_type&gt;<br>
-T&amp; <b>scale</b>(polygon_set_type&amp; polygon_set, <br>
+ <td width="586"><font face="Courier New">template &lt;typename T, typename scaling_type&gt;<br />
+T&amp; <b>scale</b>(polygon_set_type&amp; polygon_set, <br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const scaling_type&amp; scaling)</font></td>
                 <td>Scales geometry by applying scaling.scale() on all vertices.&nbsp;
                 O( n log n) runtime complexity and O(n) memory wrt vertices +
                 intersections. </td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T, typename coord_type&gt;<br>
-T&amp; <b>move</b>(T&amp; polygon_set,<br>
+ <td width="586"><font face="Courier New">template &lt;typename T, typename coord_type&gt;<br />
+T&amp; <b>move</b>(T&amp; polygon_set,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; orientation_2d orient, coord_type
 displacement)</font></td>
                 <td>Moves geometry by displacement amount in the orientation.&nbsp;&nbsp;&nbsp;
@@ -530,40 +542,40 @@
                 intersections. </td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T, typename coord_type&gt;<br>
-T&amp; <b>move</b>(T&amp; polygon_set, coord_type x_displacement, <br>
+ <td width="586"><font face="Courier New">template &lt;typename T, typename coord_type&gt;<br />
+T&amp; <b>move</b>(T&amp; polygon_set, coord_type x_displacement, <br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; coord_type y_displacement)</font></td>
                 <td>Moves the geometry by x_dispacement in x and y_displacement in y.&nbsp;
                 Note: for consistency should be convolve(polygon_set, point).&nbsp; O( n
                 log n) runtime complexity and O(n) memory wrt vertices + intersections. </td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T, typename transformation_type&gt;<br>
-T&amp; <b>transform</b>(T&amp; polygon_set,<br>
+ <td width="586"><font face="Courier New">template &lt;typename T, typename transformation_type&gt;<br />
+T&amp; <b>transform</b>(T&amp; polygon_set,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const
 transformation_type&amp; transformation)</font></td>
                 <td>Applies transformation.transform() on all vertices.&nbsp; O( n log
                 n) runtime complexity and O(n) memory wrt vertices + intersections. </td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
-T&amp; <b>keep</b>(T&amp; polygon_set, <br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type min_area,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type max_area,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type min_width,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type max_width,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type min_height,<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
+T&amp; <b>keep</b>(T&amp; polygon_set, <br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type min_area,<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type max_area,<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type min_width,<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type max_width,<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type min_height,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type max_height)</font></td>
                 <td>Retains only regions that satisfy the min/max criteria in the
                 argument list.&nbsp; Note: useful for visualization to cull too small
                 polygons.&nbsp; O( n log n) runtime complexity and O(n) memory wrt
                 vertices + intersections. </td>
         </tr>
- </table>
+ </tbody></table>
         <h1>Polygon 90 Set Data Object</h1>
 
 <p>
-<p>The polygon 90 set data type encapsulates the internal data format that
+</p><p>The polygon 90 set data type encapsulates the internal data format that
 serves as the input to the sweep-line algorithm that implements polygon-clipping
 boolean operations.&nbsp; It also internally keeps track of whether that data
 has been sorted or scanned and maintains the invariant that when its flags
@@ -574,15 +586,15 @@
 maintain the data is sorted form rather than going all the way out to polygons
 then resorting those vertices for a subsequent operation.</p>
 <p>The declaration of Polygon 90 Set Data is the following:</p>
-<p><font face="Courier New">template &lt;typename T&gt;<br>
+<p><font face="Courier New">template &lt;typename T&gt;<br />
 class polygon_90_set_data;</font></p>
 <p>The class is parameterized on the coordinate data type.&nbsp; Algorithms that
 benefit from knowledge of the invariants enforced by the class are implemented
 as member functions to provide them access to information about those
 invariants.&nbsp; </p>
 <h2>Member Functions</h2>
-<table border="1" width="100%" id="table2">
- <tr>
+<table id="table2" border="1" width="100%">
+ <tbody><tr>
                 <td width="586"><font face="Courier New"><b>polygon_90_set_data</b>()</font></td>
                 <td>Default constructor.&nbsp; Scanning orientation defaults to
                 HORIZONTAL</td>
@@ -593,9 +605,9 @@
                 <td>Construct with scanning orientation.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename iT&gt;<br>
- <b>polygon_90_set_data</b>(orientation_2d orient, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; iT input_begin, iT
- input_end)</font></td>
+ <td width="586"><font face="Courier New">template &lt;typename iT&gt;<br />
+ <b>polygon_90_set_data</b>(orientation_2d orient, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+iT input_begin, iT input_end)</font></td>
                 <td>Construct with scanning orientation from an iterator range of
                 insertable objects.</td>
         </tr>
@@ -606,7 +618,7 @@
         </tr>
         <tr>
                 <td width="586">
-<font face="Courier New">template &lt;typename l, typename r, typename op&gt;<br>
+<font face="Courier New">template &lt;typename l, typename r, typename op&gt;<br />
 <b>polygon_90_set_data</b>(const polygon_90_set_view&lt;l,r,op&gt;&amp;
 t)</font></td>
                 <td>Copy construct from a Boolean operator template.</td>
@@ -614,33 +626,33 @@
         <tr>
                 <td width="586">
 <font face="Courier New">
-<b>polygon_90_set_data</b>(orientation_2d orient, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const polygon_90_set_data&amp;
-that)</font></td>
+<b>polygon_90_set_data</b>(orientation_2d orient, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+const polygon_90_set_data&amp; that)</font></td>
                 <td>Construct with scanning orientation and copy from another polygon
                 set.</td>
         </tr>
         <tr>
                 <td width="586">
-<font face="Courier New">polygon_90_set_data&amp; <br><b>operator=</b>(const polygon_90_set_data&amp; that)</font></td>
+<font face="Courier New">polygon_90_set_data&amp; <br /><b>operator=</b>(const polygon_90_set_data&amp; that)</font></td>
                 <td>Assignment from another polygon set, may change scanning
                 orientation.</td>
         </tr>
         <tr>
                 <td width="586">
-<font face="Courier New">template &lt;typename l, typename r, typename op&gt;<br>
-polygon_90_set_data&amp; <br><b>operator=</b>(const polygon_90_set_view&lt;l, r,
+<font face="Courier New">template &lt;typename l, typename r, typename op&gt;<br />
+polygon_90_set_data&amp; <br /><b>operator=</b>(const polygon_90_set_view&lt;l, r,
 op&gt;&amp; that)</font></td>
                 <td>Assignment from a Boolean operator template.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename geometry_object&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename geometry_object&gt;<br />
 polygon_90_set_data&amp; <b>operator=</b>(const geometry_object&amp; geo)</font></td>
                 <td>Assignment from an insertable object.</td>
         </tr>
         <tr>
                 <td width="586">
 <font face="Courier New">
-template &lt;typename iT&gt;<br>
+template &lt;typename iT&gt;<br />
 void <b>insert</b>(iT input_begin, iT input_end)</font></td>
                 <td>Insert objects of an iterator range.&nbsp; Linear wrt. inserted
                 vertices.</td>
@@ -654,8 +666,8 @@
         <tr>
                 <td width="586">
 <font face="Courier New">
-template &lt;typename geometry_type&gt;<br>
-void <b>insert</b>(const geometry_type&amp; geometry_object, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bool is_hole
+template &lt;typename geometry_type&gt;<br />
+void <b>insert</b>(const geometry_type&amp; geometry_object, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bool is_hole
 = false)</font></td>
                 <td>Insert a geometry object, if is_hole is true then the inserted
                 region is subtractive rather than additive.&nbsp; Linear wrt. inserted
@@ -663,7 +675,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">
-template &lt;typename output_container&gt;<br>
+template &lt;typename output_container&gt;<br />
 void <b>get</b>(output_container&amp; output) const</font></td>
                 <td>Expects a standard container of geometry objects.&nbsp; Will scan
                 and eliminate overlaps.&nbsp; Converts polygon set geometry to objects
@@ -676,7 +688,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">
-template &lt;typename output_container&gt;<br>
+template &lt;typename output_container&gt;<br />
 void <b>get_polygons</b>(output_container&amp; output) const</font></td>
                 <td>Expects a standard container of polygon objects.&nbsp; Will scan and
                 eliminate overlaps.&nbsp; Converts polygon set geometry to polygons and
@@ -687,7 +699,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">
-template &lt;typename output_container&gt;<br>
+template &lt;typename output_container&gt;<br />
 void <b>get_rectangles</b>(output_container&amp; output) const</font></td>
                 <td>Expects a standard container of rectangle objects.&nbsp; Will scan
                 and eliminate overlaps.&nbsp; Slices polygon set geometry to rectangles
@@ -698,8 +710,8 @@
         <tr>
                 <td width="586">
 <font face="Courier New">
-template &lt;typename output_container&gt;<br>
-void <b>get_rectangles</b>(output_container&amp; output, <br>&nbsp; orientation_2d
+template &lt;typename output_container&gt;<br />
+void <b>get_rectangles</b>(output_container&amp; output, <br />&nbsp; orientation_2d
 slicing_orientation) const </font>
                 </td>
                 <td>Expects a standard container of rectangle objects.&nbsp; Will scan
@@ -752,9 +764,9 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">
-template &lt;typename input_iterator_type&gt;<br>
-void <b>set</b>(input_iterator_type input_begin, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; input_iterator_type input_end,
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; orientation_2d orient) </font>
+template &lt;typename input_iterator_type&gt;<br />
+void <b>set</b>(input_iterator_type input_begin, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; input_iterator_type input_end,
+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; orientation_2d orient) </font>
                 </td>
                 <td>Overwrite geometry in polygon set with insertable objects in the
                 iterator range.&nbsp; Also sets the scanning orientation to that
@@ -762,7 +774,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">
-template &lt;typename rectangle_type&gt;<br>
+template &lt;typename rectangle_type&gt;<br />
 bool <b>extents</b>(rectangle_type&amp; extents_rectangle) const</font></td>
                 <td>Given an object that models rectangle, scans and eliminates overlaps
                 in the polygon set because subtractive regions may alter its extents
@@ -772,12 +784,12 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">
-polygon_90_set_data&amp;<br>
-<b>bloat</b>(unsigned_area_type west_bloating,<br>
+polygon_90_set_data&amp;<br />
+<b>bloat</b>(unsigned_area_type west_bloating,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-unsigned_area_type east_bloating,<br>
+unsigned_area_type east_bloating,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-unsigned_area_type south_bloating,<br>
+unsigned_area_type south_bloating,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 unsigned_area_type north_bloating) </font></td>
                 <td>Scans to eliminate overlaps and subtractive regions.&nbsp; Inserts
@@ -788,12 +800,12 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">
-polygon_90_set_data&amp;<br>
-<b>shrink</b>(unsigned_area_type west_shrinking,<br>
+polygon_90_set_data&amp;<br />
+<b>shrink</b>(unsigned_area_type west_shrinking,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-unsigned_area_type east_shrinking,<br>
+unsigned_area_type east_shrinking,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-unsigned_area_type south_shrinking,<br>
+unsigned_area_type south_shrinking,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 unsigned_area_type north_shrinking)</font></td>
                 <td>Scans to eliminate overlaps and subtractive regions.&nbsp; Inserts
@@ -806,24 +818,24 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">
-polygon_90_set_data&amp;<br>
-<b>resize</b>(coordinate_type west, coordinate_type east, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; coordinate_type south, coordinate_type north)</font></td>
+polygon_90_set_data&amp;<br />
+<b>resize</b>(coordinate_type west, coordinate_type east, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; coordinate_type south, coordinate_type north)</font></td>
                 <td>Call bloat or shrink or shrink then bloat depending on whether the
                 resizing values are positive or negative.&nbsp; O( n log n) runtime
                 complexity and O(n) memory wrt vertices + intersections.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">
-polygon_90_set_data&amp; <b>move</b>(coordinate_type x_delta, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; coordinate_type
-y_delta) </font>
+polygon_90_set_data&amp; <b>move</b>(coordinate_type x_delta, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+coordinate_type y_delta) </font>
                 </td>
                 <td>Add x_delta to x values and y_delta to y values of vertices stored
                 within the polygon set.&nbsp; Linear wrt. vertices.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">
-template &lt;typename transformation_type&gt;<br>
-polygon_90_set_data&amp; <br><b>transform</b>(const transformation_type&amp; transformation) </font>
+template &lt;typename transformation_type&gt;<br />
+polygon_90_set_data&amp; <br /><b>transform</b>(const transformation_type&amp; transformation) </font>
                 </td>
                 <td>Applies transformation.transform() on vertices stored within the
                 polygon set.&nbsp; Linear wrt. vertices.</td>
@@ -837,14 +849,14 @@
         <tr>
                 <td width="586">
 <p><font face="Courier New">polygon_90_set_data&amp; <b>scale_down</b>(unsigned_area_type
-factor)</font>&nbsp;</td>
+factor)</font>&nbsp;</p></td>
                 <td>Scales vertices stored within the polygon set down by factor.&nbsp;
                 Linear wrt. vertices.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">
-template &lt;typename scaling_type&gt;<br>
-polygon_90_set_data&amp;<br> <b>scale</b>(const anisotropic_scale_factor&lt;scaling_type&gt;&amp;
+template &lt;typename scaling_type&gt;<br />
+polygon_90_set_data&amp;<br /> <b>scale</b>(const anisotropic_scale_factor&lt;scaling_type&gt;&amp;
                 f)</font></td>
                 <td>Scales vertices stored within the polygon set by applying f.scale().&nbsp;
                 Linear wrt. vertices.</td>
@@ -867,23 +879,23 @@
                 intersections.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">polygon_90_set_data&amp;<br> <b>interact</b>(const polygon_90_set_data&amp; that)</font></td>
+ <td width="586"><font face="Courier New">polygon_90_set_data&amp;<br /> <b>interact</b>(const polygon_90_set_data&amp; that)</font></td>
                 <td>Retain only regions that touch or overlap regions in argument.&nbsp;
                 O( n log n) runtime complexity and O(n) memory wrt vertices +
                 intersections.</td>
         </tr>
- </table>
- <tr>
+ </tbody></table>
+ </td></tr><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     &nbsp;</td>
 <td style="padding-left: 10px; padding-right: 10px; padding-bottom: 10px;" valign="top" width="100%">
 
 
-<table class="docinfo" rules="none" frame="void" id="table4">
+<table class="docinfo" id="table4" frame="void" rules="none">
         <colgroup>
- <col class="docinfo-name"><col class="docinfo-content">
+ <col class="docinfo-name" /><col class="docinfo-content" />
         </colgroup>
- <tbody vAlign="top">
+ <tbody valign="top">
                 <tr>
                         <th class="docinfo-name">Copyright:</th>
                         <td>Copyright © Intel Corporation 2008-2010.</td>
@@ -896,6 +908,6 @@
                         <a class="reference" target="_top" href="http://www.boost.org/LICENSE_1_0.txt">
                         http://www.boost.org/LICENSE_1_0.txt>)</td>
                 </tr>
-</table>
+</tbody></table>
 
-</html>
\ No newline at end of file
+</td></tr></tbody></table></body></html>
\ No newline at end of file

Modified: sandbox/gtl/doc/gtl_polygon_90_with_holes_concept.htm
==============================================================================
--- sandbox/gtl/doc/gtl_polygon_90_with_holes_concept.htm (original)
+++ sandbox/gtl/doc/gtl_polygon_90_with_holes_concept.htm 2012-04-09 15:10:32 EDT (Mon, 09 Apr 2012)
@@ -1,15 +1,14 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40"><head><!--
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40" lang="en"><head>
+<!--
     Copyright 2009-2010 Intel Corporation
     license banner
--->
-<title>Boost Polygon Library: Polygon 90 With Holes Concept</title>
- <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
- <!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> -->
-<table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
+--><title>Boost Polygon Library: Polygon 90 With Holes Concept</title>
+
+ <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /><!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> --></head><body><table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/boost.png" width="277" height="86"><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
+ <img src="images/boost.png" border="0" height="86" width="277" /><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
     <div style="margin: 5px;">
@@ -37,20 +36,34 @@
                         <li>Property Merge 90</li>
                         <li>Property Merge 45</li>
                         <li>Property Merge</li>
+ <li><a href="voronoi_main.htm">Voronoi Main Page<br />
+</a></li>
+ <li>Voronoi Benchmark<br />
+ </li>
+ <li>Voronoi Builder</li>
+ <li><a href="voronoi_diagram.htm">Voronoi Diagram<br />
+</a></li>
+ <li>Voronoi Predicates</li>
+ <li>Voronoi Robust FPT<br />
+ </li>
+ <li>Voronoi Utils</li>
+
         </ul>
         <h3 class="navbar">Other Resources</h3>
         <ul>
- <li>GTL Boostcon 2009 Paper</li>
- <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
+ <li>GTL Boostcon 2009 Paper</li>
+ <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
                                 Presentation</a></li>
- <li>Performance Analysis</li>
- <li>Layout Versus Schematic Tutorial</li>
- <li>Minkowski Sum Tutorial</li>
- </ul>
+ <li>Performance Analysis</li>
+ <li>Layout Versus Schematic Tutorial</li>
+ <li>Minkowski Sum Tutorial</li>
+ <li>Voronoi Basic Tutorial</li>
+ <li>Voronoi Advanced Tutorial</li>
+</ul>
     </div>
         <h3 class="navbar">Polygon Sponsor</h3>
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/intlogo.gif" width="127" height="51"><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
+ <img src="images/intlogo.gif" border="0" height="51" width="127" /><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
 </td>
@@ -58,83 +71,83 @@
 
 <!-- End Header -->
 
-<br>
+<br />
 <p>
 </p><h1>Polygon 90 With Holes Concept</h1>
 
 <p>
-<p>The polygon_90_with_holes concept tag is <font face="Courier New">
+</p><p>The polygon_90_with_holes concept tag is <font face="Courier New">
 polygon_90_with_holes_concept</font></p>
 <p>
 To register a user defined type as a model of
 <font face="Times New Roman">polygon_90_with_holes </font>concept, specialize the
 geometry concept meta-function for that type.&nbsp; In the example below CPolygon90WithHoles is registered as a model of
-polygon<font face="Times New Roman">_90_with_holes&nbsp;</font> concept.<p>
-<font face="Courier New">template &lt;&gt;<br>
-struct geometry_concept&lt;CPolygon90WithHoles&gt; { typedef polygon_90_with_holes_concept type; };</font><p>
+polygon<font face="Times New Roman">_90_with_holes&nbsp;</font> concept.</p><p>
+<font face="Courier New">template &lt;&gt;<br />
+struct geometry_concept&lt;CPolygon90WithHoles&gt; { typedef polygon_90_with_holes_concept type; };</font></p><p>
 <font face="Times New Roman">The semantic of a polygon_90_with_holes is a
 polygon_90 that it can provide iterators over holes that are also polygon_90.&nbsp;
 A mutable polygon_90_with_holes must also be able to set its geometry based on
 an interator range over polygon_90 holes.&nbsp; There is no convention of
-winding of holes enforced within the library. </font><p>
+winding of holes enforced within the library. </font></p><p>
 <font face="Times New Roman">Below is shown the default polygon with holes
 traits.&nbsp; Specialization of these traits is required for types that don't
-conform to the default behavior.</font><p><font face="Courier New">template &lt;typename
-T, typename enable = void&gt;<br>
-struct polygon_with_holes_traits {<br>
+conform to the default behavior.</font></p><p><font face="Courier New">template &lt;typename
+T, typename enable = void&gt;<br />
+struct polygon_with_holes_traits {<br />
 &nbsp;&nbsp;&nbsp;&nbsp; typedef typename T::iterator_holes_type
-iterator_holes_type;<br>
-&nbsp;&nbsp;&nbsp;&nbsp; typedef typename T::hole_type hole_type;<br>
+iterator_holes_type;<br />
+&nbsp;&nbsp;&nbsp;&nbsp; typedef typename T::hole_type hole_type;<br />
 &nbsp;&nbsp;&nbsp;&nbsp; static inline iterator_holes_type begin_holes(const T&amp;
-t) {<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.begin_holes();<br>
-&nbsp;&nbsp;&nbsp;&nbsp; }<br>
+t) {<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.begin_holes();<br />
+&nbsp;&nbsp;&nbsp;&nbsp; }<br />
 &nbsp;&nbsp;&nbsp;&nbsp; static inline iterator_holes_type end_holes(const T&amp; t)
-{<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.end_holes();<br>
-&nbsp;&nbsp;&nbsp;&nbsp; }<br>
-&nbsp;&nbsp;&nbsp;&nbsp; static inline unsigned int size_holes(const T&amp; t) {<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.size_holes();<br>
-&nbsp;&nbsp;&nbsp;&nbsp; }<br>
+{<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.end_holes();<br />
+&nbsp;&nbsp;&nbsp;&nbsp; }<br />
+&nbsp;&nbsp;&nbsp;&nbsp; static inline unsigned int size_holes(const T&amp; t) {<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.size_holes();<br />
+&nbsp;&nbsp;&nbsp;&nbsp; }<br />
 };</font></p>
-<p><font face="Courier New">template &lt;typename T, typename enable = void&gt;<br>
-struct polygon_with_holes_mutable_traits {<br>
-&nbsp;&nbsp;&nbsp;&nbsp; template &lt;typename iT&gt;<br>
+<p><font face="Courier New">template &lt;typename T, typename enable = void&gt;<br />
+struct polygon_with_holes_mutable_traits {<br />
+&nbsp;&nbsp;&nbsp;&nbsp; template &lt;typename iT&gt;<br />
 &nbsp;&nbsp;&nbsp;&nbsp; static inline T&amp; set_holes(T&amp; t, iT inputBegin, iT
-inputEnd) {<br>
+inputEnd) {<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t.set_holes(inputBegin,
-inputEnd);<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t;<br>
-&nbsp;&nbsp;&nbsp;&nbsp; }<br>
+inputEnd);<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t;<br />
+&nbsp;&nbsp;&nbsp;&nbsp; }<br />
 };</font></p>
 <p>An object that is a model of <font face="Courier New">
 polygon_90_with_holes_concept</font> can be viewed as a model of any of its
 refinements if it is determined at runtime to conform to the restriction of
 those concepts.&nbsp; This concept casting is accomplished through the
 <font face="Courier New">view_as&lt;&gt;()</font> function.</p>
-<p><font face="Courier New">view_as&lt;rectangle_concept&gt;(polygon_90_with_holes_object)</font><br>
+<p><font face="Courier New">view_as&lt;rectangle_concept&gt;(polygon_90_with_holes_object)</font><br />
 <font face="Courier New">view_as&lt;polygon_90_concept&gt;(polygon_90_with_holes_object)</font></p>
 <p>The return value of <font face="Courier New">view_as&lt;&gt;()</font> can be
 passed into any interface that expects an object of the conceptual type
 specified in its template parameter.</p>
 <h2>Functions</h2>
-<table border="1" width="100%" id="table1">
- <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+<table id="table1" border="1" width="100%">
+ <tbody><tr>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 compact_iterator_type <b>begin_compact</b>(const T&amp; polygon)</font></td>
                 <td><font face="Times New Roman">Expects a model of polygon_90.&nbsp;
                 Returns the begin iterator over the range of coordinates that correspond
                 to horizontal and vertical edges.</font></td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 compact_iterator_type <b>end_compact</b>(const T&amp; polygon)</font></td>
                 <td><font face="Times New Roman">Expects a model of polygon_90.&nbsp;
                 Returns the end iterator over the range of coordinates that correspond
                 to horizontal and vertical edges.</font></td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 point_iterator_type <b>begin_points</b>(const T&amp; polygon)</font></td>
                 <td><font face="Times New Roman">Expects a model of
                 polygon_90_with_holes.&nbsp;
@@ -142,7 +155,7 @@
                 vertices of the polygon.</font></td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 point_iterator_type <b>end_points</b>(const T&amp; polygon)</font></td>
                 <td><font face="Times New Roman">Expects a model of
                 polygon_90_with_holes.&nbsp;
@@ -150,7 +163,7 @@
                 vertices of the polygon.</font></td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 hole_iterator_type <b>begin_holes</b>(const T&amp; polygon)</font></td>
                 <td><font face="Times New Roman">Expects a model of
                 polygon_90_with_holes.&nbsp;
@@ -158,7 +171,7 @@
                 to horizontal and vertical edges.</font></td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 hole_iterator_type <b>end_</b><b>holes</b>(const T&amp; polygon)</font></td>
                 <td><font face="Times New Roman">Expects a model of
                 polygon_90_with_holes.&nbsp;
@@ -167,7 +180,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T, typename
- iterator&gt;<br>
+ iterator&gt;<br />
                 void <b>set_compact</b>(T&amp; polygon, iterator b, iterator e)</font></td>
                 <td><font face="Times New Roman">Expects a model of
                 polygon_90_with_holes.&nbsp;&nbsp;
@@ -176,7 +189,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T, typename
- iterator&gt;<br>
+ iterator&gt;<br />
                 void <b>set_points</b>(T&amp; polygon, iterator b, iterator e)</font></td>
                 <td><font face="Times New Roman">Expects a model of
                 polygon_90_with_holes.&nbsp;&nbsp;
@@ -186,14 +199,14 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T, typename
- iterator&gt;<br>
+ iterator&gt;<br />
                 void <b>set_holes</b>(T&amp; polygon, iterator b, iterator e)</font></td>
                 <td><font face="Times New Roman">Expects a model of
                 polygon_90_with_holes.&nbsp;&nbsp;
                 Sets the polygon holes to the hole data range [b,e)</font></td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 unsigned int <b>size</b>(const T&amp; polygon)</font></td>
                 <td><font face="Times New Roman">Returns the number of edges in the
                 outer shell of the polygon_90_with_holes.&nbsp; Does not include sizes
@@ -201,7 +214,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>assign</b>(T1&amp; left, const T2&amp; right)</font></td>
                 <td>Copies data from right object that models polygon_90_with_holes or
                 one of its refinements into left object
@@ -209,8 +222,8 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T,
- typename point_type&gt;<br>
- bool <b>contains</b>(const T&amp;, const point_type&amp; point, <br>
+ typename point_type&gt;<br />
+ bool <b>contains</b>(const T&amp;, const point_type&amp; point, <br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                 bool consider_touch=true)</font></td>
                 <td>Given an object that models polygon_90_with_holes and an object that models
@@ -221,86 +234,85 @@
                 the polygon or one of its holes.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">// get the center coordinate<br>
- template &lt;typename T, typename point_type&gt;<br>
+ <td width="586"><font face="Courier New">// get the center coordinate<br />
+ template &lt;typename T, typename point_type&gt;<br />
                 void <b>center</b>(point_type&amp; p, const T&amp; polygon)</font></td>
                 <td>Sets object that models point to the center point of the bounding
                 box of an object that models polygon_90_with_holes.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T,
- typename rectangle_type&gt;<br>
+ typename rectangle_type&gt;<br />
                 bool <b>extents</b>(rectangle_type&amp; bbox, const T&amp; polygon)</font></td>
                 <td>Sets object that models rectangle to the bounding box of an object
                 that models polygon_90_with_holes and returns true.&nbsp; Returns false
                 and leaves bbox unchanged if polygon is empty.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 manhattan_area_type <b>area</b>(const T&amp; polygon)</font></td>
                 <td>Returns the area of an object
                 that models polygon_90_with_holes including subtracting the area of its
                 holes from the area of the outer shell polygon.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 direction_1d <b>winding</b>(const T&amp; polygon)</font></td>
                 <td>Returns the winding direction of an object
                 that models polygon_90_with_holes, LOW == CLOCKWISE, HIGH =
                 COUNTERCLOCKWISE.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 coordinate_difference <b>perimeter</b>(const T&amp; polygon)</font></td>
                 <td>Returns the perimeter length of an object
                 that models polygon_90, including the perimeters of the holes.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T,
- typename transform_type&gt;<br>
+ typename transform_type&gt;<br />
                 T&amp; <b>transform</b>(T&amp; polygon, const transform_type&amp;)</font></td>
                 <td>Applies transform() on the vertices of polygon and sets the polygon to that described by the result of
                 transforming its vertices.&nbsp; Also applies transform() on the holes
                 of the polygon.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>scale_up</b>(T&amp; polygon, unsigned_area_type factor)</font></td>
                 <td>Scales up outer shell and holes of an object that models
                 polygon_90 by unsigned factor.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>scale_down</b>(T&amp; polygon, unsigned_area_type factor)</font></td>
                 <td>Scales down outer shell and holes of an object that models
                 polygon_90 by unsigned factor.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T, scaling_type&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T, scaling_type&gt;<br />
                 T&amp; <b>scale</b>(T&amp; rectangle, double scaling) </font></td>
                 <td>Scales outer shell and holes of an object that models polygon_90 by
                 floating point factor.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
- T&amp; <b>move</b>(T&amp; polygon, orientation_2d,<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
+ T&amp; <b>move</b>(T&amp; polygon, orientation_2d,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; coordinate_difference displacement)</font></td>
                 <td>Adds displacement value to coordinate indicated by orientation_2d of
                 vertices of an object that models polygon_90 .</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename polygon_type, typename point_type&gt;<br>
- polygon_type&amp; <b>convolve</b>(polygon_type&amp; polygon,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- const point_type&amp; point)</font></td>
+ <td width="586"><font face="Courier New">template &lt;typename polygon_type, typename point_type&gt;<br />
+ polygon_type&amp; <b>convolve</b>(polygon_type&amp; polygon,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+const point_type&amp; point)</font></td>
                 <td>Convolves coordinate values of point with the outer shell and holes of an
                 object that models polygon_90_with_holes.</td>
         </tr>
- </table>
+ </tbody></table>
         <h1>Polygon 90 With Holes Data</h1>
 
 <p>
-<p>The library provides a model of polygon 90 with holes concept declared
+</p><p>The library provides a model of polygon 90 with holes concept declared
 <font face="Courier New">
 template&lt;typename T&gt; polygon_90_with_holes_data </font>where T is the
 coordinate type.</p>
@@ -309,8 +321,8 @@
 library polygon data type instead of providing their own.&nbsp; The data type is
 implemented to be convenient to use with the library traits.</p>
 <h2>Members</h2>
-<table border="1" width="100%" id="table2">
- <tr>
+<table id="table2" border="1" width="100%">
+ <tbody><tr>
                 <td width="586"><b><font face="Courier New">geometry_type</font></b></td>
                 <td><font face="Times New Roman">polygon_90_with_holes_concept</font></td>
         </tr>
@@ -345,12 +357,12 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">polygon_90_with_holes_data&amp; <b>
- <br>operator=</b>(const polygon_90_with_holes_data&amp; that)</font></td>
+ <br />operator=</b>(const polygon_90_with_holes_data&amp; that)</font></td>
                 <td>Assignment operator.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T2&gt;<b> </b>polygon_90_with_holes_data&amp;<b>&nbsp;
- <br> operator=</b>(const T2&amp; that) const</font></td>
+ <br /> operator=</b>(const T2&amp; that) const</font></td>
                 <td>Assign from an object that is a model of polygon 90 with holes.</td>
         </tr>
         <tr>
@@ -398,14 +410,14 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename iT&gt;<b>&nbsp;
- <br> </b>void <b>set</b>(iT begin_points, iT end_points)</font></td>
+ <br /> </b>void <b>set</b>(iT begin_points, iT end_points)</font></td>
                 <td>Sets the polygon to the iterator range of points.&nbsp; No check is
                 performed to ensure the points describe a Manhattan figure, every other
                 x and y value of the points is used to initialize the polygon.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename iT&gt;<b>&nbsp;
- <br> </b>void <b>set_compact</b>(iT begin_coords, iT end_coords)</font></td>
+ <br /> </b>void <b>set_compact</b>(iT begin_coords, iT end_coords)</font></td>
                 <td>Sets the polygon to the iterator range of coordinates.&nbsp; These
                 coordinates correspond to the x values of vertical edges and y values of
                 horizontal edges.&nbsp; It is expected that the sequence start with an x
@@ -413,24 +425,24 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename iT&gt;<b>&nbsp;
- <br> </b>void <b>set_holes</b>(iT begin_holes, iT end_choless)</font></td>
+ <br /> </b>void <b>set_holes</b>(iT begin_holes, iT end_choless)</font></td>
                 <td>Sets the polygon holes the iterator range of hole polygons.&nbsp; These
                 polygons in the input range may be either polygon_90_data or
                 polygon_90_with_holes_data or any type that provides begin_compact and
                 end_compact member functions.</td>
         </tr>
-</table>
- <tr>
+</tbody></table>
+ </td></tr><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     &nbsp;</td>
 <td style="padding-left: 10px; padding-right: 10px; padding-bottom: 10px;" valign="top" width="100%">
 
 
-<table class="docinfo" rules="none" frame="void" id="table3">
+<table class="docinfo" id="table3" frame="void" rules="none">
         <colgroup>
- <col class="docinfo-name"><col class="docinfo-content">
+ <col class="docinfo-name" /><col class="docinfo-content" />
         </colgroup>
- <tbody vAlign="top">
+ <tbody valign="top">
                 <tr>
                         <th class="docinfo-name">Copyright:</th>
                         <td>Copyright © Intel Corporation 2008-2010.</td>
@@ -443,6 +455,6 @@
                         <a class="reference" target="_top" href="http://www.boost.org/LICENSE_1_0.txt">
                         http://www.boost.org/LICENSE_1_0.txt>)</td>
                 </tr>
-</table>
+</tbody></table>
 
-</html>
\ No newline at end of file
+</td></tr></tbody></table></body></html>
\ No newline at end of file

Modified: sandbox/gtl/doc/gtl_polygon_concept.htm
==============================================================================
--- sandbox/gtl/doc/gtl_polygon_concept.htm (original)
+++ sandbox/gtl/doc/gtl_polygon_concept.htm 2012-04-09 15:10:32 EDT (Mon, 09 Apr 2012)
@@ -1,15 +1,14 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40"><head><!--
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40" lang="en"><head>
+<!--
     Copyright 2009-2010 Intel Corporation
     license banner
--->
-<title>Boost Polygon Library: Polygon Concept</title>
- <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
- <!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> -->
-<table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
+--><title>Boost Polygon Library: Polygon Concept</title>
+
+ <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /><!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> --></head><body><table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/boost.png" width="277" height="86"><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
+ <img src="images/boost.png" border="0" height="86" width="277" /><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
     <div style="margin: 5px;">
@@ -37,20 +36,34 @@
                         <li>Property Merge 90</li>
                         <li>Property Merge 45</li>
                         <li>Property Merge</li>
+ <li><a href="voronoi_main.htm">Voronoi Main Page<br />
+</a></li>
+ <li>Voronoi Benchmark<br />
+ </li>
+ <li>Voronoi Builder</li>
+ <li><a href="voronoi_diagram.htm">Voronoi Diagram<br />
+</a></li>
+ <li>Voronoi Predicates</li>
+ <li>Voronoi Robust FPT<br />
+ </li>
+ <li>Voronoi Utils</li>
+
         </ul>
         <h3 class="navbar">Other Resources</h3>
         <ul>
- <li>GTL Boostcon 2009 Paper</li>
- <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
+ <li>GTL Boostcon 2009 Paper</li>
+ <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
                                 Presentation</a></li>
- <li>Performance Analysis</li>
- <li>Layout Versus Schematic Tutorial</li>
- <li>Minkowski Sum Tutorial</li>
- </ul>
+ <li>Performance Analysis</li>
+ <li>Layout Versus Schematic Tutorial</li>
+ <li>Minkowski Sum Tutorial</li>
+ <li>Voronoi Basic Tutorial</li>
+ <li>Voronoi Advanced Tutorial</li>
+</ul>
     </div>
         <h3 class="navbar">Polygon Sponsor</h3>
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/intlogo.gif" width="127" height="51"><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
+ <img src="images/intlogo.gif" border="0" height="51" width="127" /><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
 </td>
@@ -58,20 +71,20 @@
 
 <!-- End Header -->
 
-<br>
+<br />
 <p>
 </p><h1>Polygon Concept</h1>
 
 <p>
-<p>The polygon concept tag is <font face="Courier New">
+</p><p>The polygon concept tag is <font face="Courier New">
 polygon_concept</font></p>
 <p>
 To register a user defined type as a model of
 <font face="Times New Roman">polygon </font>concept, specialize the
 geometry concept meta-function for that type.&nbsp; In the example below CPolygon is registered as a model of
-polygon&nbsp; concept.<p>
-<font face="Courier New">template &lt;&gt;<br>
-struct geometry_concept&lt;CPolygon&gt; { typedef polygon_concept type; };</font><p>
+polygon&nbsp; concept.</p><p>
+<font face="Courier New">template &lt;&gt;<br />
+struct geometry_concept&lt;CPolygon&gt; { typedef polygon_concept type; };</font></p><p>
 <font face="Times New Roman">The semantic of a polygon is that it can provide
 iterators over the points that represent its vertices.&nbsp; It is acceptable to
 have the last edge explict with the first and last point equal to each other or
@@ -81,53 +94,53 @@
 &gt;
 could be made models of polygon_concept by simply providing access to their
 iterators through traits.&nbsp; Library functions that create polygon objects
-require that those objects provide a default constructor.</font><p>
+require that those objects provide a default constructor.</font></p><p>
 <font face="Times New Roman">Below is shown the default polygon traits.&nbsp;
 Specialization of these traits is required for types that don't conform to the
 default behavior.&nbsp; Note that these same traits are also used by several
 other polygon concepts through SFINE enable template parameter.&nbsp; The SFINE
 enable parameter also allows the library to provide default specialization that
-work for any object that models the 90 degree polygon concepts.</font><p>
-<font face="Courier New">template &lt;typename T, typename enable = gtl_yes&gt;<br>
-struct polygon_traits {};<br>
-<br>
-template &lt;typename T&gt;<br>
-struct polygon_traits&lt;T, <br>
-&nbsp; typename gtl_or_4&lt;<br>
+work for any object that models the 90 degree polygon concepts.</font></p><p>
+<font face="Courier New">template &lt;typename T, typename enable = gtl_yes&gt;<br />
+struct polygon_traits {};<br />
+<br />
+template &lt;typename T&gt;<br />
+struct polygon_traits&lt;T, <br />
+&nbsp; typename gtl_or_4&lt;<br />
 &nbsp;&nbsp;&nbsp; typename gtl_same_type&lt;typename geometry_concept&lt;T&gt;::type,
-polygon_concept&gt;::type,<br>
+polygon_concept&gt;::type,<br />
 &nbsp;&nbsp;&nbsp; typename gtl_same_type&lt;typename geometry_concept&lt;T&gt;::type,
-polygon_concept&gt;::type,<br>
+polygon_concept&gt;::type,<br />
 &nbsp;&nbsp;&nbsp; typename gtl_same_type&lt;typename geometry_concept&lt;T&gt;::type,
-polygon_with_holes_concept&gt;::type,<br>
+polygon_with_holes_concept&gt;::type,<br />
 &nbsp;&nbsp;&nbsp; typename gtl_same_type&lt;typename geometry_concept&lt;T&gt;::type,
-polygon_with_holes_concept&gt;::type<br>
-&nbsp; &gt;::type&gt; {<br>
-&nbsp;&nbsp;&nbsp;&nbsp; typedef typename T::coordinate_type coordinate_type;<br>
-&nbsp;&nbsp;&nbsp;&nbsp; typedef typename T::iterator_type iterator_type;<br>
-&nbsp;&nbsp;&nbsp;&nbsp; typedef typename T::point_type point_type;<br>
-&nbsp;&nbsp;&nbsp;&nbsp; static inline iterator_type begin_points(const T&amp; t) {<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.begin();<br>
-&nbsp;&nbsp;&nbsp;&nbsp; }<br>
-&nbsp;&nbsp;&nbsp;&nbsp; static inline iterator_type end_points(const T&amp; t) {<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.end();<br>
-&nbsp;&nbsp;&nbsp;&nbsp; }<br>
-&nbsp;&nbsp;&nbsp;&nbsp; static inline unsigned int size(const T&amp; t) {<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.size();<br>
-&nbsp;&nbsp;&nbsp;&nbsp; }<br>
-&nbsp;&nbsp;&nbsp;&nbsp; static inline winding_direction winding(const T&amp; t) {<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return unknown_winding;<br>
-&nbsp;&nbsp;&nbsp;&nbsp; }<br>
+polygon_with_holes_concept&gt;::type<br />
+&nbsp; &gt;::type&gt; {<br />
+&nbsp;&nbsp;&nbsp;&nbsp; typedef typename T::coordinate_type coordinate_type;<br />
+&nbsp;&nbsp;&nbsp;&nbsp; typedef typename T::iterator_type iterator_type;<br />
+&nbsp;&nbsp;&nbsp;&nbsp; typedef typename T::point_type point_type;<br />
+&nbsp;&nbsp;&nbsp;&nbsp; static inline iterator_type begin_points(const T&amp; t) {<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.begin();<br />
+&nbsp;&nbsp;&nbsp;&nbsp; }<br />
+&nbsp;&nbsp;&nbsp;&nbsp; static inline iterator_type end_points(const T&amp; t) {<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.end();<br />
+&nbsp;&nbsp;&nbsp;&nbsp; }<br />
+&nbsp;&nbsp;&nbsp;&nbsp; static inline unsigned int size(const T&amp; t) {<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.size();<br />
+&nbsp;&nbsp;&nbsp;&nbsp; }<br />
+&nbsp;&nbsp;&nbsp;&nbsp; static inline winding_direction winding(const T&amp; t) {<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return unknown_winding;<br />
+&nbsp;&nbsp;&nbsp;&nbsp; }<br />
 };</font></p>
-<p><font face="Courier New">template &lt;typename T, typename enable = void&gt;<br>
-struct polygon_mutable_traits {<br>
-&nbsp;&nbsp;&nbsp;&nbsp; template &lt;typename iT&gt;<br>
+<p><font face="Courier New">template &lt;typename T, typename enable = void&gt;<br />
+struct polygon_mutable_traits {<br />
+&nbsp;&nbsp;&nbsp;&nbsp; template &lt;typename iT&gt;<br />
 &nbsp;&nbsp;&nbsp;&nbsp; static inline T&amp; set_points(T&amp; t, iT input_begin, iT
-input_end) {<br>
+input_end) {<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t.set(input_begin,
-input_end);<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t;<br>
-&nbsp;&nbsp;&nbsp;&nbsp; }<br>
+input_end);<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t;<br />
+&nbsp;&nbsp;&nbsp;&nbsp; }<br />
 };</font></p>
 <p>Example code custom_polygon.cpp
 demonstrates mapping a
@@ -137,23 +150,23 @@
 refinements if it is determined at runtime to conform to the restriction of
 those concepts.&nbsp; This concept casting is accomplished through the
 <font face="Courier New">view_as&lt;&gt;()</font> function.</p>
-<p><font face="Courier New">view_as&lt;rectangle_concept&gt;(polygon_object)</font><br>
-<font face="Courier New">view_as&lt;polygon_90_concept&gt;(polygon_object)</font><br>
+<p><font face="Courier New">view_as&lt;rectangle_concept&gt;(polygon_object)</font><br />
+<font face="Courier New">view_as&lt;polygon_90_concept&gt;(polygon_object)</font><br />
 <font face="Courier New">view_as&lt;polygon_45_concept&gt;(polygon_object)</font></p>
 <p>The return value of <font face="Courier New">view_as&lt;&gt;()</font> can be
 passed into any interface that expects an object of the conceptual type
 specified in its template parameter. </p>
 <h2>Functions</h2>
-<table border="1" width="100%" id="table1">
- <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+<table id="table1" border="1" width="100%">
+ <tbody><tr>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 point_iterator_type <b>begin_points</b>(const T&amp; polygon)</font></td>
                 <td><font face="Times New Roman">Expects a model of polygon.&nbsp;
                 Returns the begin iterator over the range of points that correspond to
                 vertices of the polygon.</font></td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 point_iterator_type <b>end_points</b>(const T&amp; polygon)</font></td>
                 <td><font face="Times New Roman">Expects a model of polygon.&nbsp;
                 Returns the end iterator over the range of points that correspond to
@@ -161,29 +174,29 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T, typename
- iterator&gt;<br>
+ iterator&gt;<br />
                 void <b>set_points</b>(T&amp; polygon, iterator b, iterator e)</font></td>
                 <td><font face="Times New Roman">Expects a model of polygon.&nbsp;&nbsp;
                 Sets the polygon to the point data range [b,e) that corresponds to
                 vertices of a manhattan polygon.</font></td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 unsigned int <b>size</b>(const T&amp; polygon)</font></td>
                 <td><font face="Times New Roman">Returns the number of edges in the
                 polygon.</font></td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>assign</b>(T1&amp; left, const T2&amp; right)</font></td>
                 <td>Copies data from right object that models polygon into left object
                 that models polygon.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T,
- typename point_type&gt;<br>
- bool <b>contains</b>(const T&amp;, const point_type&amp; point, <br>
+ typename point_type&gt;<br />
+ bool <b>contains</b>(const T&amp;, const point_type&amp; point, <br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                 bool consider_touch=true)</font></td>
                 <td>Given an object that models polygon and an object that models
@@ -193,84 +206,83 @@
                 the polygon.&nbsp; Linear wrt. vertices.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">// get the center coordinate<br>
- template &lt;typename T, typename point_type&gt;<br>
+ <td width="586"><font face="Courier New">// get the center coordinate<br />
+ template &lt;typename T, typename point_type&gt;<br />
                 void <b>center</b>(point_type&amp; p, const T&amp; polygon)</font></td>
                 <td>Sets object that models point to the center point of the bounding
                 box of an object that models polygon.&nbsp; Linear wrt. vertices.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T,
- typename rectangle_type&gt;<br>
+ typename rectangle_type&gt;<br />
                 bool <b>extents</b>(rectangle_type&amp; bbox, const T&amp; polygon)</font></td>
                 <td>Sets object that models rectangle to the bounding box of an object
                 that models polygon and returns true.&nbsp; Returns false and leaves
                 bbox unchanged if polygon is empty.&nbsp; Linear wrt. vertices.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 area_type <b>area</b>(const T&amp; polygon)</font></td>
                 <td>Returns the area of an object
                 that models polygon.&nbsp; Linear wrt. vertices.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 direction_1d <b>winding</b>(const T&amp; polygon)</font></td>
                 <td>Returns the winding direction of an object
                 that models polygon, LOW == CLOCKWISE, HIGH = COUNTERCLOCKWISE.&nbsp;
                 Complexity depends upon winding trait.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 coordinate_distance <b>perimeter</b>(const T&amp; polygon)</font></td>
                 <td>Returns the perimeter length of an object
                 that models polygon.&nbsp; Linear wrt. vertices.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T,
- typename transform_type&gt;<br>
+ typename transform_type&gt;<br />
                 T&amp; <b>transform</b>(T&amp; polygon, const transform_type&amp;)</font></td>
                 <td>Applies transform() on the vertices of polygon and sets the polygon to that described by the result of
                 transforming its vertices.&nbsp; Linear wrt. vertices.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>scale_up</b>(T&amp; polygon, unsigned_area_type factor)</font></td>
                 <td>Scales up coordinate of an object that models
                 polygon by unsigned factor.&nbsp; Linear wrt. vertices.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>scale_down</b>(T&amp; polygon, unsigned_area_type factor)</font></td>
                 <td>Scales down coordinates of an object that models
                 polygon by unsigned factor.&nbsp; Linear wrt. vertices.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T, scaling_type&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T, scaling_type&gt;<br />
                 T&amp; <b>scale</b>(T&amp; rectangle, double scaling) </font></td>
                 <td>Scales coordinates of an object that models polygon by floating
                 point factor.&nbsp; Linear wrt. vertices.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
- T&amp; <b>move</b>(T&amp; polygon, orientation_2d,<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
+ T&amp; <b>move</b>(T&amp; polygon, orientation_2d,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; coordinate_difference displacement)</font></td>
                 <td>Adds displacement value to coordinate indicated by orientation_2d of
                 vertices of an object that models polygon .&nbsp; Linear wrt. vertices.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename polygon_type, typename point_type&gt;<br>
- polygon_type&amp; <b>convolve</b>(polygon_type&amp; polygon,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- const point_type&amp; point)</font></td>
+ <td width="586"><font face="Courier New">template &lt;typename polygon_type, typename point_type&gt;<br />
+ polygon_type&amp; <b>convolve</b>(polygon_type&amp; polygon,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+const point_type&amp; point)</font></td>
                 <td>Convolves coordinate values of point with vertices of an
                 object that models polygon.&nbsp; Linear wrt. vertices.</td>
         </tr>
- </table>
+ </tbody></table>
         <h1>Polygon Data</h1>
 
 <p>
-<p>The library provides a model of polygon concept declared
+</p><p>The library provides a model of polygon concept declared
 <font face="Courier New">
 template&lt;typename T&gt; polygon_data </font>where T is the coordinate type.</p>
 <p>This data type is used internally when a polygon is needed and is available
@@ -281,8 +293,8 @@
 demonstrates using
                 the library provided polygon data types and functions</p>
 <h2>Members</h2>
-<table border="1" width="100%" id="table2">
- <tr>
+<table id="table2" border="1" width="100%">
+ <tbody><tr>
                 <td width="586"><b><font face="Courier New">geometry_type</font></b></td>
                 <td><font face="Times New Roman">polygon_concept</font></td>
         </tr>
@@ -310,7 +322,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T2&gt;<b>&nbsp;
- <br> </b>polygon_data&amp; <b>operator=</b>(const T2&amp; that) const</font></td>
+ <br /> </b>polygon_data&amp; <b>operator=</b>(const T2&amp; that) const</font></td>
                 <td>Assign from an object that is a model of polygon.</td>
         </tr>
         <tr>
@@ -330,21 +342,21 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename iT&gt;<b>&nbsp;
- <br> </b>void <b>set</b>(iT begin_points, iT end_points)</font></td>
+ <br /> </b>void <b>set</b>(iT begin_points, iT end_points)</font></td>
                 <td>Sets the polygon to the iterator range of points.&nbsp; </td>
         </tr>
-</table>
- <tr>
+</tbody></table>
+ </td></tr><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     &nbsp;</td>
 <td style="padding-left: 10px; padding-right: 10px; padding-bottom: 10px;" valign="top" width="100%">
 
 
-<table class="docinfo" rules="none" frame="void" id="table3">
+<table class="docinfo" id="table3" frame="void" rules="none">
         <colgroup>
- <col class="docinfo-name"><col class="docinfo-content">
+ <col class="docinfo-name" /><col class="docinfo-content" />
         </colgroup>
- <tbody vAlign="top">
+ <tbody valign="top">
                 <tr>
                         <th class="docinfo-name">Copyright:</th>
                         <td>Copyright © Intel Corporation 2008-2010.</td>
@@ -357,6 +369,6 @@
                         <a class="reference" target="_top" href="http://www.boost.org/LICENSE_1_0.txt">
                         http://www.boost.org/LICENSE_1_0.txt>)</td>
                 </tr>
-</table>
+</tbody></table>
 
-</html>
\ No newline at end of file
+</td></tr></tbody></table></body></html>
\ No newline at end of file

Modified: sandbox/gtl/doc/gtl_polygon_set_concept.htm
==============================================================================
--- sandbox/gtl/doc/gtl_polygon_set_concept.htm (original)
+++ sandbox/gtl/doc/gtl_polygon_set_concept.htm 2012-04-09 15:10:32 EDT (Mon, 09 Apr 2012)
@@ -1,15 +1,14 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40"><head><!--
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40" lang="en"><head>
+<!--
     Copyright 2009-2010 Intel Corporation
     license banner
--->
-<title>Boost Polygon Library: Polygon Set Concept</title>
- <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
- <!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> -->
-<table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
+--><title>Boost Polygon Library: Polygon Set Concept</title>
+
+ <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /><!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> --></head><body><table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/boost.png" width="277" height="86"><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
+ <img src="images/boost.png" border="0" height="86" width="277" /><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
     <div style="margin: 5px;">
@@ -37,20 +36,34 @@
                         <li>Property Merge 90</li>
                         <li>Property Merge 45</li>
                         <li>Property Merge</li>
+ <li><a href="voronoi_main.htm">Voronoi Main Page<br />
+</a></li>
+ <li>Voronoi Benchmark<br />
+ </li>
+ <li>Voronoi Builder</li>
+ <li><a href="voronoi_diagram.htm">Voronoi Diagram<br />
+</a></li>
+ <li>Voronoi Predicates</li>
+ <li>Voronoi Robust FPT<br />
+ </li>
+ <li>Voronoi Utils</li>
+
         </ul>
         <h3 class="navbar">Other Resources</h3>
         <ul>
- <li>GTL Boostcon 2009 Paper</li>
- <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
+ <li>GTL Boostcon 2009 Paper</li>
+ <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
                                 Presentation</a></li>
- <li>Performance Analysis</li>
- <li>Layout Versus Schematic Tutorial</li>
- <li>Minkowski Sum Tutorial</li>
- </ul>
+ <li>Performance Analysis</li>
+ <li>Layout Versus Schematic Tutorial</li>
+ <li>Minkowski Sum Tutorial</li>
+ <li>Voronoi Basic Tutorial</li>
+ <li>Voronoi Advanced Tutorial</li>
+</ul>
     </div>
         <h3 class="navbar">Polygon Sponsor</h3>
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/intlogo.gif" width="127" height="51"><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
+ <img src="images/intlogo.gif" border="0" height="51" width="127" /><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
 </td>
@@ -58,12 +71,12 @@
 
 <!-- End Header -->
 
-<br>
+<br />
 <p>
 </p><h1>Polygon Set Concept</h1>
 
 <p>
-<p>The polygon_set concept tag is <font face="Courier New">
+</p><p>The polygon_set concept tag is <font face="Courier New">
 polygon_set_concept</font></p>
 <p>
 <font face="Times New Roman">The semantic of a polygon_set is zero or more
@@ -78,7 +91,7 @@
 case that the data represented contains only Manhattan and 45-degree geometry a
 runtime check will default to the faster 45-degree algorithm.&nbsp; The results
 of which may differ slight from what the general algorithm would do because
-non-integer intersections will be handled differently.</font><p>Users are recommended to use std::vector and std::list of user defined polygons
+non-integer intersections will be handled differently.</font></p><p>Users are recommended to use std::vector and std::list of user defined polygons
 or library provided polygon_set_data&lt;coordinate_type&gt; objects.&nbsp; Lists
 and vectors of models of polygon_concept or polygon_with_holes_concept are automatically models of polygon_set_concept.</p>
 <p>Example code custom_polygon_set.cpp
@@ -89,7 +102,7 @@
 polygon_45_set_concept</font> if it is determined at runtime to conform to the
 restrictions of those concepts.&nbsp; This concept casting is accomplished
 through the <font face="Courier New">view_as&lt;&gt;()</font> function.</p>
-<p><font face="Courier New">view_as&lt;polygon_90_set_concept&gt;(polygon_set_object)<br>
+<p><font face="Courier New">view_as&lt;polygon_90_set_concept&gt;(polygon_set_object)<br />
 view_as&lt;polygon_45_set_concept&gt;(polygon_set_object)</font></p>
 <p>The return value of <font face="Courier New">view_as&lt;&gt;()</font> can be passed
 into any interface that expects an object of the conceptual type specified in
@@ -104,10 +117,10 @@
 eliminate temp copies of intermediate results when Boolean operators are chained
 together.</p>
 <p>Operators are declared inside the namespace <font face="Courier New">boost::polygon::operators</font>.</p>
-<table border="1" width="100%" id="table5">
- <tr>
+<table id="table5" border="1" width="100%">
+ <tbody><tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 polygon_set_view <b>operator</b>|(const T1&amp; l, const T2&amp; r)</font></td>
                 <td>Boolean OR operation (polygon set union).&nbsp; Accepts two objects
                 that model polygon_set or one of its refinements.&nbsp; Returns an
@@ -118,7 +131,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 polygon_set_view <b>operator</b>+(const T1&amp; l, const T2&amp; r)</font></td>
                 <td>Same as operator|.&nbsp; The plus sign is also used for OR
                 operations in Boolean logic expressions.&nbsp; Expected n log n runtime,
@@ -126,7 +139,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 polygon_set_view <b>operator</b>&amp;(const T1&amp; l, const T2&amp; r)</font></td>
                 <td>Boolean AND operation (polygon set intersection).&nbsp; Accepts two
                 objects that model polygon_set or one of its refinements.&nbsp; Expected
@@ -135,7 +148,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 polygon_set_view <b>operator</b>*(const T1&amp; l, const T2&amp; r)</font></td>
                 <td>Same as operator&amp;.&nbsp; The multiplication symbol is also used for
                 AND operations in Boolean logic expressions.&nbsp; Expected n log n
@@ -143,7 +156,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 polygon_set_view <b>operator</b>^(const T1&amp; l, const T2&amp; r)</font></td>
                 <td>Boolean XOR operation (polygon set disjoint-union).&nbsp; Accepts
                 two objects that model polygon_set or one of its refinements.&nbsp;
@@ -152,7 +165,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 polygon_set_view <b>operator</b>-(const T1&amp; l, const T2&amp; r)</font></td>
                 <td>Boolean SUBTRACT operation (polygon set difference).&nbsp; Accepts
                 two objects that model polygon_set or one of its refinements.&nbsp;
@@ -161,7 +174,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>operator</b>|=(const T1&amp; l, const T2&amp; r)</font></td>
                 <td>Same as operator|, but with self assignment, left operand must model
                 polygon_set and not one of it's refinements.&nbsp; Expected n log n
@@ -169,7 +182,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>operator</b>+=(T1&amp; l, const T2&amp; r)</font></td>
                 <td>Same as operator+, but with self assignment, left operand must model
                 polygon_set and not one of it's refinements.&nbsp; Expected n log n
@@ -177,7 +190,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>operator</b>&amp;=(const T1&amp; l, const T2&amp; r)</font></td>
                 <td>Same as operator&amp;, but with self assignment, left operand must model
                 polygon_set and not one of it's refinements.&nbsp; Expected n log n
@@ -185,7 +198,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>operator</b>*=(T1&amp; l, const T2&amp; r)</font></td>
                 <td>Same as operator*, but with self assignment, left operand must model
                 polygon_set and not one of it's refinements.&nbsp; Expected n log n
@@ -193,7 +206,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>operator</b>^=(const T1&amp; l, const T2&amp; r)</font></td>
                 <td>Same as operator^, but with self assignment, left operand must model
                 polygon_set and not one of it's refinements.&nbsp; Expected n log n
@@ -201,14 +214,14 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>operator</b>-=(T1&amp; l, const T2&amp; r)</font></td>
                 <td>Same as operator-, but with self assignment, left operand must model
                 polygon_set and not one of it's refinements.&nbsp; Expected n log n
                 runtime, worst case quadratic runtime wrt. vertices + intersections.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T1&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T1&gt;<br />
                 T1 <b>operator</b>+(const T1&amp;, coordinate_type bloating)</font></td>
                 <td>Performs resize operation, inflating by bloating ammount.&nbsp; If
                 negative the result is a shrink instead of bloat.&nbsp; Note: returns
@@ -217,7 +230,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1 <b>operator</b>-(const T1&amp;, coordinate_type shrinking)</font></td>
                 <td>Performs resize operation, deflating by bloating ammount.&nbsp; If
                 negative the result is a bloat instead of shrink.&nbsp; Note: returns
@@ -226,7 +239,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>operator</b>+=(const T1&amp;, coordinate_type bloating)</font></td>
                 <td>Performs resize operation, inflating by bloating ammount.&nbsp; If
                 negative the result is a shrink instead of bloat.&nbsp; Returns
@@ -235,19 +248,19 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>operator</b>-=(const T1&amp;, coordinate_type shrinking)</font></td>
                 <td>Performs resize operation, deflating by bloating ammount.&nbsp; If
                 negative the result is a bloat instead of shrink.&nbsp; Returns
                 reference to modified argument.&nbsp; Expected n log n runtime, worst
                 case quadratic runtime wrt. vertices + intersections.</td>
         </tr>
- </table>
+ </tbody></table>
 <h2>Functions</h2>
-<table border="1" width="100%" id="table6">
- <tr>
+<table id="table6" border="1" width="100%">
+ <tbody><tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>assign</b>(T1&amp; lvalue, const T2&amp; rvalue)</font></td>
                 <td>Eliminates overlaps in geometry and copies from an object that
                 models polygon_set or any of its refinements into an object that
@@ -256,7 +269,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 bool <b>equivalence</b>(const T1&amp; lvalue, const T2&amp; rvalue) </font></td>
                 <td>Returns true if an object that models polygon_set or one of its
                 refinements covers the exact same geometric regions as another object
@@ -266,8 +279,8 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- output_container_type, typename T&gt;<br>
- void <b>get_trapezoids</b>(output_container_type&amp; output, <br>
+ output_container_type, typename T&gt;<br />
+ void <b>get_trapezoids</b>(output_container_type&amp; output, <br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                 const T&amp; polygon_set)</font></td>
                 <td>Output container is expected to be a standard container.&nbsp;
@@ -280,10 +293,12 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- output_container_type, typename T&gt;<br>
- void <b>get_trapezoids</b>(output_container_type&amp; output, <br>
+ output_container_type, typename T&gt;<br />
+ void <b>get_trapezoids</b>(output_container_type&amp; output, <br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- const T&amp; polygon_set,<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; orientation_2d orient)</font></td>
+ const T&amp; polygon_set,<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+orientation_2d orient)</font></td>
                 <td>Output container is expected to be a standard container.&nbsp;
                 Slices geometry of an object that models polygon_set or one of its
                 refinements into non overlapping trapezoids along a the specified slicing
@@ -294,13 +309,13 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- polygon_set_type&gt;<br>
+ polygon_set_type&gt;<br />
                 void <b>clear</b>(polygon_set_type&amp; polygon_set)</font></td>
                 <td>Makes the object empty of geometry.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- polygon_set_type&gt;<br>
+ polygon_set_type&gt;<br />
                 bool <b>empty</b>(const polygon_set_type&amp; polygon_set)</font></td>
                 <td>Checks whether the object is empty of geometry.&nbsp; Polygons that
                 are completely covered by holes will result in empty returning true.&nbsp;
@@ -309,8 +324,8 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T, typename
- rectangle_type&gt;<br>
- bool <b>extents</b>(rectangle_type&amp; extents_rectangle, <br>
+ rectangle_type&gt;<br />
+ bool <b>extents</b>(rectangle_type&amp; extents_rectangle, <br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const
                 T&amp; polygon_set)</font></td>
                 <td>Computes bounding box of an object that models polygon_set and
@@ -321,21 +336,21 @@
                 intersections.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 area_type <b>area</b>(const T&amp; polygon_set)</font></td>
                 <td>Computes the area covered by geometry in an object that models
                 polygon_set.&nbsp; Expected n log n runtime, worst case quadratic
                 runtime wrt. vertices + intersections.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>bloat</b>(T&amp; polygon_set, unsigned_area_type bloating)</font></td>
                 <td>Same as getting all the polygons, bloating them and putting them
                 back.&nbsp; Expected n log n runtime, worst case quadratic runtime wrt.
                 vertices + intersections.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>shrink</b>(T&amp; polygon_set, unsigned_area_type shrinking)</font></td>
                 <td>Same as getting all the polygons, shrinking them and overwriting
                 the polygon set with the resulting regions.&nbsp; Expected n log n
@@ -343,10 +358,10 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T, typename
- coord_type&gt;<br>
- T&amp; <b>resize</b>(T&amp; polygon_set, coord_type resizing,<br>
+ coord_type&gt;<br />
+ T&amp; <b>resize</b>(T&amp; polygon_set, coord_type resizing,<br />
                 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- bool corner_fill_arc = false, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ bool corner_fill_arc = false, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                 unsigned int num_circle_segments = 0)</font></td>
                 <td>Same as bloat if resizing is positive, same as shrink if resizing is
                 negative.&nbsp; Original topology at acute angle vertices is preserved
@@ -357,20 +372,20 @@
                 runtime wrt. vertices + intersections.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
 T&amp; <b>scale_up</b>(T&amp; polygon_set, unsigned_area_type factor)</font></td>
                 <td>Scales geometry up by unsigned factor.&nbsp; Expected n log n
                 runtime, worst case quadratic runtime wrt. vertices + intersections.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
 T&amp; <b>scale_down</b>(T&amp; polygon_set, unsigned_area_type factor)</font></td>
                 <td>Scales geometry down by unsigned factor.&nbsp; Expected n log n
                 runtime, worst case quadratic runtime wrt. vertices + intersections.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T, typename transformation_type&gt;<br>
-T&amp; <b>transform</b>(T&amp; polygon_set,<br>
+ <td width="586"><font face="Courier New">template &lt;typename T, typename transformation_type&gt;<br />
+T&amp; <b>transform</b>(T&amp; polygon_set,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const
 transformation_type&amp; transformation)</font></td>
                 <td>Applies transformation.transform() on all vertices.&nbsp; Expected n
@@ -378,24 +393,24 @@
                 intersections.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
-T&amp; <b>keep</b>(T&amp; polygon_set, <br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type min_area,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type max_area,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type min_width,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type max_width,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type min_height,<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
+T&amp; <b>keep</b>(T&amp; polygon_set, <br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type min_area,<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type max_area,<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type min_width,<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type max_width,<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type min_height,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type max_height)</font></td>
                 <td>Retains only regions that satisfy the min/max criteria in the
                 argument list.&nbsp; Note: useful for visualization to cull too small
                 polygons.&nbsp; Expected n log n runtime, worst case quadratic runtime
                 wrt. vertices + intersections.</td>
         </tr>
- </table>
+ </tbody></table>
         <h1>Polygon Set Data Object</h1>
 
 <p>
-<p>The polygon set data type encapsulates the internal data format that
+</p><p>The polygon set data type encapsulates the internal data format that
 serves as the input to the sweep-line algorithm that implements polygon-clipping
 Boolean operations.&nbsp; It also internally keeps track of whether that data
 has been sorted or scanned and maintains the invariant that when its flags
@@ -406,7 +421,7 @@
 maintain the data is sorted form rather than going all the way out to polygons
 then resorting those vertices for a subsequent operation.</p>
 <p>The declaration of Polygon Set Data is the following:</p>
-<p><font face="Courier New">template &lt;typename T&gt;<br>
+<p><font face="Courier New">template &lt;typename T&gt;<br />
 class polygon_set_data;</font></p>
 <p>The class is parameterized on the coordinate data type.&nbsp; Algorithms that
 benefit from knowledge of the invariants enforced by the class are implemented
@@ -416,13 +431,13 @@
 demonstrates using
                 the library provided polygon set data types and functions</p>
 <h2>Member Functions</h2>
-<table border="1" width="100%" id="table7">
- <tr>
+<table id="table7" border="1" width="100%">
+ <tbody><tr>
                 <td width="586"><font face="Courier New"><b>polygon_set_data</b>()</font></td>
                 <td>Default constructor. </td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename iT&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename iT&gt;<br />
         <b>polygon_set_data</b>(iT input_begin, iT
         input_end)</font></td>
                 <td>Construct with scanning orientation from an iterator range of
@@ -435,33 +450,33 @@
         </tr>
         <tr>
                 <td width="586">
-<font face="Courier New">template &lt;typename l, typename r, typename op&gt;<br>
+<font face="Courier New">template &lt;typename l, typename r, typename op&gt;<br />
 <b>polygon_set_data</b>(const polygon_set_view&lt;l,r,op&gt;&amp;
 t)</font></td>
                 <td>Copy construct from a Boolean operator template.</td>
         </tr>
         <tr>
                 <td width="586">
-<font face="Courier New">polygon_set_data&amp; <br><b>operator=</b>(const polygon_set_data&amp; that)</font></td>
+<font face="Courier New">polygon_set_data&amp; <br /><b>operator=</b>(const polygon_set_data&amp; that)</font></td>
                 <td>Assignment from another polygon set, may change scanning
                 orientation.</td>
         </tr>
         <tr>
                 <td width="586">
-<font face="Courier New">template &lt;typename l, typename r, typename op&gt;<br>
-polygon_set_data&amp; <br><b>operator=</b>(const polygon_set_view&lt;l, r,
+<font face="Courier New">template &lt;typename l, typename r, typename op&gt;<br />
+polygon_set_data&amp; <br /><b>operator=</b>(const polygon_set_view&lt;l, r,
 op&gt;&amp; that)</font></td>
                 <td>Assignment from a Boolean operator template.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename geometry_object&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename geometry_object&gt;<br />
 polygon_set_data&amp; <b>operator=</b>(const geometry_object&amp; geo)</font></td>
                 <td>Assignment from an insertable object.</td>
         </tr>
         <tr>
                 <td width="586">
 <font face="Courier New">
-template &lt;typename iT&gt;<br>
+template &lt;typename iT&gt;<br />
 void <b>insert</b>(iT input_begin, iT input_end)</font></td>
                 <td>Insert objects of an iterator range.&nbsp; Linear wrt vertices
                 inserted.</td>
@@ -475,8 +490,8 @@
         <tr>
                 <td width="586">
 <font face="Courier New">
-template &lt;typename geometry_type&gt;<br>
-void <b>insert</b>(const geometry_type&amp; geometry_object, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bool is_hole
+template &lt;typename geometry_type&gt;<br />
+void <b>insert</b>(const geometry_type&amp; geometry_object, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bool is_hole
 = false)</font></td>
                 <td>Insert a geometry object, if is_hole is true then the inserted
                 region is subtractive rather than additive.&nbsp; Linear wrt vertices
@@ -484,7 +499,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">
-template &lt;typename output_container&gt;<br>
+template &lt;typename output_container&gt;<br />
 void <b>get</b>(output_container&amp; output) const</font></td>
                 <td>Expects a standard container of polygons objects.&nbsp; Will scan
                 and eliminate overlaps.&nbsp; Converts polygon set geometry to objects
@@ -501,7 +516,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">
-template &lt;typename output_container&gt;<br>
+template &lt;typename output_container&gt;<br />
 void <b>get_trapezoids</b>(output_container&amp; output) const</font></td>
                 <td>Expects a standard container of polygon objects.&nbsp; Will scan
                 and eliminate overlaps.&nbsp; Slices polygon set geometry to trapezoids
@@ -511,8 +526,8 @@
         <tr>
                 <td width="586">
 <font face="Courier New">
-template &lt;typename output_container&gt;<br>
-void <b>get_trapezoids</b>(output_container&amp; output, <br>&nbsp; orientation_2d
+template &lt;typename output_container&gt;<br />
+void <b>get_trapezoids</b>(output_container&amp; output, <br />&nbsp; orientation_2d
 slicing_orientation) const </font>
                 </td>
                 <td>Expects a standard container of polygon objects.&nbsp; Will scan
@@ -559,15 +574,15 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">
-template &lt;typename input_iterator_type&gt;<br>
-void <b>set</b>(input_iterator_type input_begin, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; input_iterator_type input_end) </font>
+template &lt;typename input_iterator_type&gt;<br />
+void <b>set</b>(input_iterator_type input_begin, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; input_iterator_type input_end) </font>
                 </td>
                 <td>Overwrite geometry in polygon set with insertable objects in the
                 iterator range. </td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">
-template &lt;typename rectangle_type&gt;<br>
+template &lt;typename rectangle_type&gt;<br />
 bool <b>extents</b>(rectangle_type&amp; extents_rectangle) const</font></td>
                 <td>Given an object that models rectangle, scans and eliminates overlaps
                 in the polygon set because subtractive regions may alter its extents
@@ -577,9 +592,9 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">
-polygon_set_data&amp;<br>
-<b>resize</b>(coord_type resizing,<br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bool corner_fill_arc = false, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+polygon_set_data&amp;<br />
+<b>resize</b>(coord_type resizing,<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bool corner_fill_arc = false, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                 unsigned int num_circle_segments = 0)</font></td>
                 <td>Inflates if resizing is positive, deflates if resizing is
                 negative.&nbsp; Original topology at acute angle vertices is preserved
@@ -593,8 +608,8 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">
-template &lt;typename transformation_type&gt;<br>
-polygon_set_data&amp; <br><b>transform</b>(const transformation_type&amp; transformation) </font>
+template &lt;typename transformation_type&gt;<br />
+polygon_set_data&amp; <br /><b>transform</b>(const transformation_type&amp; transformation) </font>
                 </td>
                 <td>Applies transformation.transform() on vertices stored within the
                 polygon set.&nbsp; Expected n log n runtime, worst case quadratic
@@ -617,25 +632,25 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">
-template &lt;typename scaling_type&gt;<br>
-polygon_set_data&amp;<br> <b>scale</b>(const scaling_type&amp;
+template &lt;typename scaling_type&gt;<br />
+polygon_set_data&amp;<br /> <b>scale</b>(const scaling_type&amp;
                 f)</font></td>
                 <td>Scales vertices stored within the polygon set by applying f.scale().&nbsp;
                 Expected n log n runtime, worst case quadratic runtime wrt. vertices +
                 intersections.</td>
         </tr>
- </table>
- <tr>
+ </tbody></table>
+ </td></tr><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     &nbsp;</td>
 <td style="padding-left: 10px; padding-right: 10px; padding-bottom: 10px;" valign="top" width="100%">
 
 
-<table class="docinfo" rules="none" frame="void" id="table8">
+<table class="docinfo" id="table8" frame="void" rules="none">
         <colgroup>
- <col class="docinfo-name"><col class="docinfo-content">
+ <col class="docinfo-name" /><col class="docinfo-content" />
         </colgroup>
- <tbody vAlign="top">
+ <tbody valign="top">
                 <tr>
                         <th class="docinfo-name">Copyright:</th>
                         <td>Copyright © Intel Corporation 2008-2010.</td>
@@ -648,6 +663,6 @@
                         <a class="reference" target="_top" href="http://www.boost.org/LICENSE_1_0.txt">
                         http://www.boost.org/LICENSE_1_0.txt>)</td>
                 </tr>
-</table>
+</tbody></table>
 
-</html>
\ No newline at end of file
+</td></tr></tbody></table></body></html>
\ No newline at end of file

Modified: sandbox/gtl/doc/gtl_polygon_with_holes_concept.htm
==============================================================================
--- sandbox/gtl/doc/gtl_polygon_with_holes_concept.htm (original)
+++ sandbox/gtl/doc/gtl_polygon_with_holes_concept.htm 2012-04-09 15:10:32 EDT (Mon, 09 Apr 2012)
@@ -1,15 +1,14 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40"><head><!--
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40" lang="en"><head>
+<!--
     Copyright 2009-2010 Intel Corporation
     license banner
--->
-<title>Boost Polygon Library: Polygon With Holes Concept</title>
- <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
- <!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> -->
-<table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
+--><title>Boost Polygon Library: Polygon With Holes Concept</title>
+
+ <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /><!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> --></head><body><table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/boost.png" width="277" height="86"><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
+ <img src="images/boost.png" border="0" height="86" width="277" /><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
     <div style="margin: 5px;">
@@ -37,20 +36,34 @@
                         <li>Property Merge 90</li>
                         <li>Property Merge 45</li>
                         <li>Property Merge</li>
+ <li><a href="voronoi_main.htm">Voronoi Main Page<br />
+</a></li>
+ <li>Voronoi Benchmark<br />
+ </li>
+ <li>Voronoi Builder</li>
+ <li><a href="voronoi_diagram.htm">Voronoi Diagram<br />
+</a></li>
+ <li>Voronoi Predicates</li>
+ <li>Voronoi Robust FPT<br />
+ </li>
+ <li>Voronoi Utils</li>
+
         </ul>
         <h3 class="navbar">Other Resources</h3>
         <ul>
- <li>GTL Boostcon 2009 Paper</li>
- <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
+ <li>GTL Boostcon 2009 Paper</li>
+ <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
                                 Presentation</a></li>
- <li>Performance Analysis</li>
- <li>Layout Versus Schematic Tutorial</li>
- <li>Minkowski Sum Tutorial</li>
- </ul>
+ <li>Performance Analysis</li>
+ <li>Layout Versus Schematic Tutorial</li>
+ <li>Minkowski Sum Tutorial</li>
+ <li>Voronoi Basic Tutorial</li>
+ <li>Voronoi Advanced Tutorial</li>
+</ul>
     </div>
         <h3 class="navbar">Polygon Sponsor</h3>
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/intlogo.gif" width="127" height="51"><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
+ <img src="images/intlogo.gif" border="0" height="51" width="127" /><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
 </td>
@@ -58,95 +71,95 @@
 
 <!-- End Header -->
 
-<br>
+<br />
 <p>
 </p><h1>Polygon With Holes Concept</h1>
 
 <p>
-<p>The polygon_with_holes concept tag is <font face="Courier New">
+</p><p>The polygon_with_holes concept tag is <font face="Courier New">
 polygon_with_holes_concept</font></p>
 <p>
 To register a user defined type as a model of
 <font face="Times New Roman">polygon_with_holes </font>concept, specialize the
 geometry concept meta-function for that type.&nbsp; In the example below
-CPolygonWithHoles is registered as a model of polygon<font face="Times New Roman">_with_holes&nbsp;</font> concept.<p>
-<font face="Courier New">template &lt;&gt;<br>
-struct geometry_concept&lt;CPolygonWithHoles&gt; { typedef polygon_with_holes_concept type; };</font><p>
+CPolygonWithHoles is registered as a model of polygon<font face="Times New Roman">_with_holes&nbsp;</font> concept.</p><p>
+<font face="Courier New">template &lt;&gt;<br />
+struct geometry_concept&lt;CPolygonWithHoles&gt; { typedef polygon_with_holes_concept type; };</font></p><p>
 <font face="Times New Roman">The semantic of a polygon_with_holes is a polygon
 that it can provide iterators over holes that are also polygon.&nbsp; A mutable
 polygon_with_holes must also be able to set its geometry based on an interator
 range over polygon holes.&nbsp; There is no convention of winding of holes
-enforced within the library. </font><p>
+enforced within the library. </font></p><p>
 <font face="Times New Roman">Below is shown the default polygon with holes
 traits.&nbsp; Specialization of these traits is required for types that don't
 conform to the default behavior.&nbsp; Note, these traits are used by all
-polygon with holes concepts.</font><p><font face="Courier New">template &lt;typename
-T, typename enable = void&gt;<br>
-struct polygon_with_holes_traits {<br>
+polygon with holes concepts.</font></p><p><font face="Courier New">template &lt;typename
+T, typename enable = void&gt;<br />
+struct polygon_with_holes_traits {<br />
 &nbsp;&nbsp;&nbsp;&nbsp; typedef typename T::iterator_holes_type
-iterator_holes_type;<br>
-&nbsp;&nbsp;&nbsp;&nbsp; typedef typename T::hole_type hole_type;<br>
+iterator_holes_type;<br />
+&nbsp;&nbsp;&nbsp;&nbsp; typedef typename T::hole_type hole_type;<br />
 &nbsp;&nbsp;&nbsp;&nbsp; static inline iterator_holes_type begin_holes(const T&amp;
-t) {<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.begin_holes();<br>
-&nbsp;&nbsp;&nbsp;&nbsp; }<br>
+t) {<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.begin_holes();<br />
+&nbsp;&nbsp;&nbsp;&nbsp; }<br />
 &nbsp;&nbsp;&nbsp;&nbsp; static inline iterator_holes_type end_holes(const T&amp; t)
-{<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.end_holes();<br>
-&nbsp;&nbsp;&nbsp;&nbsp; }<br>
-&nbsp;&nbsp;&nbsp;&nbsp; static inline unsigned int size_holes(const T&amp; t) {<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.size_holes();<br>
-&nbsp;&nbsp;&nbsp;&nbsp; }<br>
+{<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.end_holes();<br />
+&nbsp;&nbsp;&nbsp;&nbsp; }<br />
+&nbsp;&nbsp;&nbsp;&nbsp; static inline unsigned int size_holes(const T&amp; t) {<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t.size_holes();<br />
+&nbsp;&nbsp;&nbsp;&nbsp; }<br />
 };</font></p>
-<p><font face="Courier New">template &lt;typename T, typename enable = void&gt;<br>
-struct polygon_with_holes_mutable_traits {<br>
-&nbsp;&nbsp;&nbsp;&nbsp; template &lt;typename iT&gt;<br>
+<p><font face="Courier New">template &lt;typename T, typename enable = void&gt;<br />
+struct polygon_with_holes_mutable_traits {<br />
+&nbsp;&nbsp;&nbsp;&nbsp; template &lt;typename iT&gt;<br />
 &nbsp;&nbsp;&nbsp;&nbsp; static inline T&amp; set_holes(T&amp; t, iT inputBegin, iT
-inputEnd) {<br>
+inputEnd) {<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t.set_holes(inputBegin,
-inputEnd);<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t;<br>
-&nbsp;&nbsp;&nbsp;&nbsp; }<br>
+inputEnd);<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t;<br />
+&nbsp;&nbsp;&nbsp;&nbsp; }<br />
 };</font></p>
 <p>An object that is a model of <font face="Courier New">
 polygon_with_holes_concept</font> can be viewed as a model of any of its
 refinements if it is determined at runtime to conform to the restriction of
 those concepts.&nbsp; This concept casting is accomplished through the
 <font face="Courier New">view_as&lt;&gt;()</font> function.</p>
-<p><font face="Courier New">view_as&lt;rectangle_concept&gt;(polygon_with_holes_object)</font><br>
-<font face="Courier New">view_as&lt;polygon_90_concept&gt;(polygon_with_holes_object)</font><br>
-<font face="Courier New">view_as&lt;polygon_90_with_holes_concept&gt;(polygon_with_holes_object)</font><br>
-<font face="Courier New">view_as&lt;polygon_45_concept&gt;(polygon_with_holes_object)</font><br>
-<font face="Courier New">view_as&lt;polygon_45_with_holes_concept&gt;(polygon_with_holes_object)</font><br>
+<p><font face="Courier New">view_as&lt;rectangle_concept&gt;(polygon_with_holes_object)</font><br />
+<font face="Courier New">view_as&lt;polygon_90_concept&gt;(polygon_with_holes_object)</font><br />
+<font face="Courier New">view_as&lt;polygon_90_with_holes_concept&gt;(polygon_with_holes_object)</font><br />
+<font face="Courier New">view_as&lt;polygon_45_concept&gt;(polygon_with_holes_object)</font><br />
+<font face="Courier New">view_as&lt;polygon_45_with_holes_concept&gt;(polygon_with_holes_object)</font><br />
 <font face="Courier New">view_as&lt;polygon_concept&gt;(polygon_with_holes_object)</font></p>
 <p>The return value of <font face="Courier New">view_as&lt;&gt;()</font> can be
 passed into any interface that expects an object of the conceptual type
 specified in its template parameter. </p>
 <h2>Functions</h2>
-<table border="1" width="100%" id="table1">
- <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+<table id="table1" border="1" width="100%">
+ <tbody><tr>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 point_iterator_type <b>begin_points</b>(const T&amp; polygon)</font></td>
                 <td><font face="Times New Roman">Expects a model of polygon_with_holes.&nbsp;
                 Returns the begin iterator over the range of points that correspond to
                 vertices of the polygon.</font></td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 point_iterator_type <b>end_points</b>(const T&amp; polygon)</font></td>
                 <td><font face="Times New Roman">Expects a model of polygon_with_holes.&nbsp;
                 Returns the end iterator over the range of points that correspond to
                 vertices of the polygon.</font></td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 hole_iterator_type <b>begin_holes</b>(const T&amp; polygon)</font></td>
                 <td><font face="Times New Roman">Expects a model of polygon_with_holes.&nbsp;
                 Returns the begin iterator over the range of coordinates that correspond
                 to horizontal and vertical edges.</font></td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 hole_iterator_type <b>end_holes</b>(const T&amp; polygon)</font></td>
                 <td><font face="Times New Roman">Expects a model of polygon_with_holes.&nbsp;
                 Returns the end iterator over the range of coordinates that correspond
@@ -154,7 +167,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T, typename
- iterator&gt;<br>
+ iterator&gt;<br />
                 void <b>set_points</b>(T&amp; polygon, iterator b, iterator e)</font></td>
                 <td><font face="Times New Roman">Expects a model of polygon_with_holes.&nbsp;&nbsp;
                 Sets the polygon to the point data range [b,e) that corresponds to
@@ -162,13 +175,13 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T, typename
- iterator&gt;<br>
+ iterator&gt;<br />
                 void <b>set_holes</b>(T&amp; polygon, iterator b, iterator e)</font></td>
                 <td><font face="Times New Roman">Expects a model of polygon_with_holes.&nbsp;&nbsp;
                 Sets the polygon holes to the hole data range [b,e)</font></td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 unsigned int <b>size</b>(const T&amp; polygon)</font></td>
                 <td><font face="Times New Roman">Returns the number of edges in the
                 outer shell of the polygon_with_holes.&nbsp; Does not include sizes of
@@ -176,7 +189,7 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>assign</b>(T1&amp; left, const T2&amp; right)</font></td>
                 <td>Copies data from right object that models polygon_with_holes or one
                 of its refinements into left object
@@ -184,8 +197,8 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T,
- typename point_type&gt;<br>
- bool <b>contains</b>(const T&amp;, const point_type&amp; point, <br>
+ typename point_type&gt;<br />
+ bool <b>contains</b>(const T&amp;, const point_type&amp; point, <br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                 bool consider_touch=true)</font></td>
                 <td>Given an object that models polygon_with_holes and an object that models
@@ -196,86 +209,85 @@
                 the polygon or one of its holes.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">// get the center coordinate<br>
- template &lt;typename T, typename point_type&gt;<br>
+ <td width="586"><font face="Courier New">// get the center coordinate<br />
+ template &lt;typename T, typename point_type&gt;<br />
                 void <b>center</b>(point_type&amp; p, const T&amp; polygon)</font></td>
                 <td>Sets object that models point to the center point of the bounding
                 box of an object that models polygon_with_holes.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T,
- typename rectangle_type&gt;<br>
+ typename rectangle_type&gt;<br />
                 bool <b>extents</b>(rectangle_type&amp; bbox, const T&amp; polygon)</font></td>
                 <td>Sets object that models rectangle to the bounding box of an object
                 that models polygon_with_holes and returns true.&nbsp; Returns false and
                 leaves bbox unchanged if polygon is empty.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 manhattan_area_type <b>area</b>(const T&amp; polygon)</font></td>
                 <td>Returns the area of an object
                 that models polygon_with_holes including subtracting the area of its
                 holes from the area of the outer shell polygon.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 direction_1d <b>winding</b>(const T&amp; polygon)</font></td>
                 <td>Returns the winding direction of an object
                 that models polygon_with_holes, LOW == CLOCKWISE, HIGH =
                 COUNTERCLOCKWISE.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 coordinate_difference <b>perimeter</b>(const T&amp; polygon)</font></td>
                 <td>Returns the perimeter length of an object
                 that models polygon, including the perimeters of the holes.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T,
- typename transform_type&gt;<br>
+ typename transform_type&gt;<br />
                 T&amp; <b>transform</b>(T&amp; polygon, const transform_type&amp;)</font></td>
                 <td>Applies transform() on the vertices of polygon and sets the polygon to that described by the result of
                 transforming its vertices.&nbsp; Also applies transform() on the holes
                 of the polygon.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>scale_up</b>(T&amp; polygon, unsigned_area_type factor)</font></td>
                 <td>Scales up outer shell and holes of an object that models
                 polygon by unsigned factor.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>scale_down</b>(T&amp; polygon, unsigned_area_type factor)</font></td>
                 <td>Scales down outer shell and holes of an object that models
                 polygon by unsigned factor.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T, scaling_type&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T, scaling_type&gt;<br />
                 T&amp; <b>scale</b>(T&amp; rectangle, double scaling) </font></td>
                 <td>Scales outer shell and holes of an object that models polygon by
                 floating point factor.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
- T&amp; <b>move</b>(T&amp; polygon, orientation_2d,<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
+ T&amp; <b>move</b>(T&amp; polygon, orientation_2d,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; coordinate_difference displacement)</font></td>
                 <td>Adds displacement value to coordinate indicated by orientation_2d of
                 vertices of an object that models polygon .</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename polygon_type, typename point_type&gt;<br>
- polygon_type&amp; <b>convolve</b>(polygon_type&amp; polygon,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- const point_type&amp; point)</font></td>
+ <td width="586"><font face="Courier New">template &lt;typename polygon_type, typename point_type&gt;<br />
+ polygon_type&amp; <b>convolve</b>(polygon_type&amp; polygon,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+const point_type&amp; point)</font></td>
                 <td>Convolves coordinate values of point with the outer shell and holes of an
                 object that models polygon_with_holes.</td>
         </tr>
- </table>
+ </tbody></table>
         <h1>Polygon With Holes Data</h1>
 
 <p>
-<p>The library provides a model of polygon with holes concept declared
+</p><p>The library provides a model of polygon with holes concept declared
 <font face="Courier New">
 template&lt;typename T&gt; polygon_with_holes_data </font>where T is the
 coordinate type.</p>
@@ -284,8 +296,8 @@
 library polygon data type instead of providing their own.&nbsp; The data type is
 implemented to be convenient to use with the library traits.</p>
 <h2>Members</h2>
-<table border="1" width="100%" id="table2">
- <tr>
+<table id="table2" border="1" width="100%">
+ <tbody><tr>
                 <td width="586"><b><font face="Courier New">geometry_type</font></b></td>
                 <td><font face="Times New Roman">polygon_with_holes_concept</font></td>
         </tr>
@@ -313,13 +325,13 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">polygon_with_holes_data&amp; <b>
- <br>operator=</b>(const polygon_with_holes_data&amp; that)</font></td>
+ <br />operator=</b>(const polygon_with_holes_data&amp; that)</font></td>
                 <td>Assignment operator.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T2&gt;<b> </b>
                 polygon_with_holes_data&amp;<b>&nbsp;
- <br> operator=</b>(const T2&amp; that) const</font></td>
+ <br /> operator=</b>(const T2&amp; that) const</font></td>
                 <td>Assign from an object that is a model of polygon with holes.</td>
         </tr>
         <tr>
@@ -355,29 +367,29 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename iT&gt;<b>&nbsp;
- <br> </b>void <b>set</b>(iT begin_points, iT end_points)</font></td>
+ <br /> </b>void <b>set</b>(iT begin_points, iT end_points)</font></td>
                 <td>Sets the polygon to the iterator range of points. </td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename iT&gt;<b>&nbsp;
- <br> </b>void <b>set_holes</b>(iT begin_holes, iT end_choless)</font></td>
+ <br /> </b>void <b>set_holes</b>(iT begin_holes, iT end_choless)</font></td>
                 <td>Sets the polygon holes the iterator range of hole polygons.&nbsp; These
                 polygons in the input range may be either polygon_data or
                 polygon_with_holes_data or any type that provides begin and end member
                 functions to iterate over point_data&lt;T&gt;.</td>
         </tr>
-</table>
- <tr>
+</tbody></table>
+ </td></tr><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     &nbsp;</td>
 <td style="padding-left: 10px; padding-right: 10px; padding-bottom: 10px;" valign="top" width="100%">
 
 
-<table class="docinfo" rules="none" frame="void" id="table3">
+<table class="docinfo" id="table3" frame="void" rules="none">
         <colgroup>
- <col class="docinfo-name"><col class="docinfo-content">
+ <col class="docinfo-name" /><col class="docinfo-content" />
         </colgroup>
- <tbody vAlign="top">
+ <tbody valign="top">
                 <tr>
                         <th class="docinfo-name">Copyright:</th>
                         <td>Copyright © Intel Corporation 2008-2010.</td>
@@ -390,6 +402,6 @@
                         <a class="reference" target="_top" href="http://www.boost.org/LICENSE_1_0.txt">
                         http://www.boost.org/LICENSE_1_0.txt>)</td>
                 </tr>
-</table>
+</tbody></table>
 
-</html>
\ No newline at end of file
+</td></tr></tbody></table></body></html>
\ No newline at end of file

Modified: sandbox/gtl/doc/gtl_property_merge.htm
==============================================================================
--- sandbox/gtl/doc/gtl_property_merge.htm (original)
+++ sandbox/gtl/doc/gtl_property_merge.htm 2012-04-09 15:10:32 EDT (Mon, 09 Apr 2012)
@@ -1,15 +1,14 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40"><head><!--
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40" lang="en"><head>
+<!--
     Copyright 2009-2010 Intel Corporation
     license banner
--->
-<title>Boost Polygon Library: Property Merge</title>
- <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
- <!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> -->
-<table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
+--><title>Boost Polygon Library: Property Merge</title>
+
+ <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /><!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> --></head><body><table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/boost.png" width="277" height="86"><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
+ <img src="images/boost.png" border="0" height="86" width="277" /><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
     <div style="margin: 5px;">
@@ -37,20 +36,34 @@
                         <li>Property Merge 90</li>
                         <li>Property Merge 45</li>
                         <li>Property Merge</li>
+ <li><a href="voronoi_main.htm">Voronoi Main Page<br />
+</a></li>
+ <li>Voronoi Benchmark<br />
+ </li>
+ <li>Voronoi Builder</li>
+ <li><a href="voronoi_diagram.htm">Voronoi Diagram<br />
+</a></li>
+ <li>Voronoi Predicates</li>
+ <li>Voronoi Robust FPT<br />
+ </li>
+ <li>Voronoi Utils</li>
+
         </ul>
         <h3 class="navbar">Other Resources</h3>
         <ul>
- <li>GTL Boostcon 2009 Paper</li>
- <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
+ <li>GTL Boostcon 2009 Paper</li>
+ <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
                                 Presentation</a></li>
- <li>Performance Analysis</li>
- <li>Layout Versus Schematic Tutorial</li>
- <li>Minkowski Sum Tutorial</li>
- </ul>
+ <li>Performance Analysis</li>
+ <li>Layout Versus Schematic Tutorial</li>
+ <li>Minkowski Sum Tutorial</li>
+ <li>Voronoi Basic Tutorial</li>
+ <li>Voronoi Advanced Tutorial</li>
+</ul>
     </div>
         <h3 class="navbar">Polygon Sponsor</h3>
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/intlogo.gif" width="127" height="51"><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
+ <img src="images/intlogo.gif" border="0" height="51" width="127" /><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
 </td>
@@ -58,15 +71,15 @@
 
 <!-- End Header -->
 
-<br>
+<br />
 <p>
 </p><h1>Property Merge</h1>
 
 <p>
-<p>The following is the declaration of the property merge algorithm.<p>
+</p><p>The following is the declaration of the property merge algorithm.</p><p>
 <font face="Courier New">template &lt;typename coordinate_type, typename
-property_type&gt;<br>
-class property_merge;</font><p>The property algorithm computes the n-layer
+property_type&gt;<br />
+class property_merge;</font></p><p>The property algorithm computes the n-layer
 map overlay of input polygon sets.&nbsp; Each input geometry is inserted along
 with a property value.&nbsp; The property type can be anything suitable for use
 as an element of a std::set.&nbsp; Multiple geometry objects can be separately
@@ -74,13 +87,13 @@
 operation a fairly complex container is required.&nbsp; Resulting geometries are
 associated with unique subsets of property values of the input geometry.&nbsp;
 Two suitable containers for storing the result of a property merge operation
-are:<p><font face="Courier New">std::map&lt;std::set&lt;property_type&gt;, polygon_set_data&lt;coordinate_type&gt;
-&gt;<br>
-std::map&lt;std::vector&lt;property_type&gt;, polygon_set_data&lt;coordinate_type&gt; &gt;</font><p>
+are:</p><p><font face="Courier New">std::map&lt;std::set&lt;property_type&gt;, polygon_set_data&lt;coordinate_type&gt;
+&gt;<br />
+std::map&lt;std::vector&lt;property_type&gt;, polygon_set_data&lt;coordinate_type&gt; &gt;</font></p><p>
 Example code property_merge_usage.cpp
- demonstrates using the n-layer map-overlay algorithm on polygon data.<h2>Member Functions</h2>
-<table border="1" width="100%" id="table1">
- <tr>
+ demonstrates using the n-layer map-overlay algorithm on polygon data.</p><h2>Member Functions</h2>
+<table id="table1" border="1" width="100%">
+ <tbody><tr>
                 <td width="586"><b><font face="Courier New">property_merge</font></b><font face="Courier New">()</font></td>
                 <td>Default constructor. </td>
         </tr>
@@ -91,7 +104,7 @@
         </tr>
         <tr>
                 <td width="586">
-<font face="Courier New">void <br><b>insert</b>(const polygon_set_data&lt;coordinate_type&gt;&amp; ps,<br>
+<font face="Courier New">void <br /><b>insert</b>(const polygon_set_data&lt;coordinate_type&gt;&amp; ps,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 const property_type&amp; property)</font></td>
                 <td>I<font face="Times New Roman">nsert a polygon set with an associated
@@ -100,8 +113,8 @@
         <tr>
                 <td width="586">
 <font face="Courier New">
-template &lt;class GeoObjT&gt;<br>
-void <b>insert</b>(const GeoObjT&amp; geoObj,<br>
+template &lt;class GeoObjT&gt;<br />
+void <b>insert</b>(const GeoObjT&amp; geoObj,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 const property_type&amp; property)</font></td>
                 <td>Insert a geometry object that is a refinement of polygon set with an
@@ -110,25 +123,25 @@
         <tr>
                 <td width="586">
 <font face="Courier New">
-template &lt;typename result_type&gt;<br>
+template &lt;typename result_type&gt;<br />
 void <b>merge</b>(result_type&amp; result)</font></td>
                 <td>Accepts a container object that conforms to the expectations defined
                 above.&nbsp; Performs property merge and populates the container
                 object.&nbsp; Expected n log n runtime, worst case quadratic runtime wrt.
                 vertices + intersections.</td>
         </tr>
- </table>
- <tr>
+ </tbody></table>
+ </td></tr><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     &nbsp;</td>
 <td style="padding-left: 10px; padding-right: 10px; padding-bottom: 10px;" valign="top" width="100%">
 
 
-<table class="docinfo" rules="none" frame="void" id="table2">
+<table class="docinfo" id="table2" frame="void" rules="none">
         <colgroup>
- <col class="docinfo-name"><col class="docinfo-content">
+ <col class="docinfo-name" /><col class="docinfo-content" />
         </colgroup>
- <tbody vAlign="top">
+ <tbody valign="top">
                 <tr>
                         <th class="docinfo-name">Copyright:</th>
                         <td>Copyright © Intel Corporation 2008-2010.</td>
@@ -141,6 +154,6 @@
                         <a class="reference" target="_top" href="http://www.boost.org/LICENSE_1_0.txt">
                         http://www.boost.org/LICENSE_1_0.txt>)</td>
                 </tr>
-</table>
+</tbody></table>
 
-</html>
\ No newline at end of file
+</td></tr></tbody></table></body></html>
\ No newline at end of file

Modified: sandbox/gtl/doc/gtl_property_merge_45.htm
==============================================================================
--- sandbox/gtl/doc/gtl_property_merge_45.htm (original)
+++ sandbox/gtl/doc/gtl_property_merge_45.htm 2012-04-09 15:10:32 EDT (Mon, 09 Apr 2012)
@@ -1,15 +1,14 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40"><head><!--
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40" lang="en"><head>
+<!--
     Copyright 2009-2010 Intel Corporation
     license banner
--->
-<title>Boost Polygon Library: Property Merge 90</title>
- <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
- <!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> -->
-<table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
+--><title>Boost Polygon Library: Property Merge 90</title>
+
+ <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /><!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> --></head><body><table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/boost.png" width="277" height="86"><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
+ <img src="images/boost.png" border="0" height="86" width="277" /><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
     <div style="margin: 5px;">
@@ -37,20 +36,34 @@
                         <li>Property Merge 90</li>
                         <li>Property Merge 45</li>
                         <li>Property Merge</li>
+ <li><a href="voronoi_main.htm">Voronoi Main Page<br />
+</a></li>
+ <li>Voronoi Benchmark<br />
+ </li>
+ <li>Voronoi Builder</li>
+ <li><a href="voronoi_diagram.htm">Voronoi Diagram<br />
+</a></li>
+ <li>Voronoi Predicates</li>
+ <li>Voronoi Robust FPT<br />
+ </li>
+ <li>Voronoi Utils</li>
+
         </ul>
         <h3 class="navbar">Other Resources</h3>
         <ul>
- <li>GTL Boostcon 2009 Paper</li>
- <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
+ <li>GTL Boostcon 2009 Paper</li>
+ <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
                                 Presentation</a></li>
- <li>Performance Analysis</li>
- <li>Layout Versus Schematic Tutorial</li>
- <li>Minkowski Sum Tutorial</li>
- </ul>
+ <li>Performance Analysis</li>
+ <li>Layout Versus Schematic Tutorial</li>
+ <li>Minkowski Sum Tutorial</li>
+ <li>Voronoi Basic Tutorial</li>
+ <li>Voronoi Advanced Tutorial</li>
+</ul>
     </div>
         <h3 class="navbar">Polygon Sponsor</h3>
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/intlogo.gif" width="127" height="51"><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
+ <img src="images/intlogo.gif" border="0" height="51" width="127" /><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
 </td>
@@ -58,15 +71,15 @@
 
 <!-- End Header -->
 
-<br>
+<br />
 <p>
 </p><h1>Property Merge 45</h1>
 
 <p>
-<p>The following is the declaration of the property merge algorithm.<p>
+</p><p>The following is the declaration of the property merge algorithm.</p><p>
 <font face="Courier New">template &lt;typename coordinate_type, typename
-property_type&gt;<br>
-class property_merge_45;</font><p>The property algorithm computes the n-layer
+property_type&gt;<br />
+class property_merge_45;</font></p><p>The property algorithm computes the n-layer
 map overlay of input polygon sets.&nbsp; Each input geometry is inserted along
 with a property value.&nbsp; The property type can be anything suitable for use
 as an element of a std::set.&nbsp; Multiple geometry objects can be separately
@@ -74,13 +87,13 @@
 operation a fairly complex container is required.&nbsp; Resulting geometries are
 associated with unique subsets of property values of the input geometry.&nbsp;
 Two suitable containers for storing the result of a property merge operation
-are:<p><font face="Courier New">std::map&lt;std::set&lt;property_type&gt;, polygon_45_set_data&lt;coordinate_type&gt;
-&gt;<br>
-std::map&lt;std::vector&lt;property_type&gt;, polygon_45_set_data&lt;coordinate_type&gt; &gt;</font><p>
+are:</p><p><font face="Courier New">std::map&lt;std::set&lt;property_type&gt;, polygon_45_set_data&lt;coordinate_type&gt;
+&gt;<br />
+std::map&lt;std::vector&lt;property_type&gt;, polygon_45_set_data&lt;coordinate_type&gt; &gt;</font></p><p>
 Example code property_merge_usage.cpp
- demonstrates using the n-layer map-overlay algorithm on polygon 90 data.<h2>Member Functions</h2>
-<table border="1" width="100%" id="table1">
- <tr>
+ demonstrates using the n-layer map-overlay algorithm on polygon 90 data.</p><h2>Member Functions</h2>
+<table id="table1" border="1" width="100%">
+ <tbody><tr>
                 <td width="586"><b><font face="Courier New">property_merge_45</font></b><font face="Courier New">()</font></td>
                 <td>Default constructor. </td>
         </tr>
@@ -91,7 +104,7 @@
         </tr>
         <tr>
                 <td width="586">
-<font face="Courier New">void <br><b>insert</b>(const polygon_45_set_data&lt;coordinate_type&gt;&amp; ps,<br>
+<font face="Courier New">void <br /><b>insert</b>(const polygon_45_set_data&lt;coordinate_type&gt;&amp; ps,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 const property_type&amp; property)</font></td>
                 <td>I<font face="Times New Roman">nsert a polygon set with an associated
@@ -100,8 +113,8 @@
         <tr>
                 <td width="586">
 <font face="Courier New">
-template &lt;class GeoObjT&gt;<br>
-void <b>insert</b>(const GeoObjT&amp; geoObj,<br>
+template &lt;class GeoObjT&gt;<br />
+void <b>insert</b>(const GeoObjT&amp; geoObj,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 const property_type&amp; property)</font></td>
                 <td>Insert a geometry object that is a refinement of polygon 45 set with
@@ -110,24 +123,24 @@
         <tr>
                 <td width="586">
 <font face="Courier New">
-template &lt;typename result_type&gt;<br>
+template &lt;typename result_type&gt;<br />
 void <b>merge</b>(result_type&amp; result)</font></td>
                 <td>Accepts a container object that conforms to the expectations defined
                 above.&nbsp; Performs property merge and populates the container
                 object.&nbsp; O(n log n) runtime wrt. vertices + intersections.</td>
         </tr>
- </table>
- <tr>
+ </tbody></table>
+ </td></tr><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     &nbsp;</td>
 <td style="padding-left: 10px; padding-right: 10px; padding-bottom: 10px;" valign="top" width="100%">
 
 
-<table class="docinfo" rules="none" frame="void" id="table2">
+<table class="docinfo" id="table2" frame="void" rules="none">
         <colgroup>
- <col class="docinfo-name"><col class="docinfo-content">
+ <col class="docinfo-name" /><col class="docinfo-content" />
         </colgroup>
- <tbody vAlign="top">
+ <tbody valign="top">
                 <tr>
                         <th class="docinfo-name">Copyright:</th>
                         <td>Copyright © Intel Corporation 2008-2010.</td>
@@ -140,6 +153,6 @@
                         <a class="reference" target="_top" href="http://www.boost.org/LICENSE_1_0.txt">
                         http://www.boost.org/LICENSE_1_0.txt>)</td>
                 </tr>
-</table>
+</tbody></table>
 
-</html>
\ No newline at end of file
+</td></tr></tbody></table></body></html>
\ No newline at end of file

Modified: sandbox/gtl/doc/gtl_property_merge_90.htm
==============================================================================
--- sandbox/gtl/doc/gtl_property_merge_90.htm (original)
+++ sandbox/gtl/doc/gtl_property_merge_90.htm 2012-04-09 15:10:32 EDT (Mon, 09 Apr 2012)
@@ -1,15 +1,14 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40"><head><!--
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40" lang="en"><head>
+<!--
     Copyright 2009-2010 Intel Corporation
     license banner
--->
-<title>Boost Polygon Library: Property Merge 90</title>
- <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
- <!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> -->
-<table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
+--><title>Boost Polygon Library: Property Merge 90</title>
+
+ <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /><!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> --></head><body><table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/boost.png" width="277" height="86"><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
+ <img src="images/boost.png" border="0" height="86" width="277" /><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
     <div style="margin: 5px;">
@@ -37,20 +36,34 @@
                         <li>Property Merge 90</li>
                         <li>Property Merge 45</li>
                         <li>Property Merge</li>
+ <li><a href="voronoi_main.htm">Voronoi Main Page<br />
+</a></li>
+ <li>Voronoi Benchmark<br />
+ </li>
+ <li>Voronoi Builder</li>
+ <li><a href="voronoi_diagram.htm">Voronoi Diagram<br />
+</a></li>
+ <li>Voronoi Predicates</li>
+ <li>Voronoi Robust FPT<br />
+ </li>
+ <li>Voronoi Utils</li>
+
         </ul>
         <h3 class="navbar">Other Resources</h3>
         <ul>
- <li>GTL Boostcon 2009 Paper</li>
- <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
+ <li>GTL Boostcon 2009 Paper</li>
+ <li><a href="GTL_boostcon_draft03.htm">GTL Boostcon 2009
                                 Presentation</a></li>
- <li>Performance Analysis</li>
- <li>Layout Versus Schematic Tutorial</li>
- <li>Minkowski Sum Tutorial</li>
- </ul>
+ <li>Performance Analysis</li>
+ <li>Layout Versus Schematic Tutorial</li>
+ <li>Minkowski Sum Tutorial</li>
+ <li>Voronoi Basic Tutorial</li>
+ <li>Voronoi Advanced Tutorial</li>
+</ul>
     </div>
         <h3 class="navbar">Polygon Sponsor</h3>
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/intlogo.gif" width="127" height="51"><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
+ <img src="images/intlogo.gif" border="0" height="51" width="127" /><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
 </td>
@@ -58,15 +71,15 @@
 
 <!-- End Header -->
 
-<br>
+<br />
 <p>
 </p><h1>Property Merge 90</h1>
 
 <p>
-<p>The following is the declaration of the property merge algorithm.<p>
+</p><p>The following is the declaration of the property merge algorithm.</p><p>
 <font face="Courier New">template &lt;typename coordinate_type, typename
-property_type&gt;<br>
-class property_merge_90;</font><p>The property algorithm computes the n-layer
+property_type&gt;<br />
+class property_merge_90;</font></p><p>The property algorithm computes the n-layer
 map overlay of input polygon sets.&nbsp; Each input geometry is inserted along
 with a property value.&nbsp; The property type can be anything suitable for use
 as an element of a std::set.&nbsp; Multiple geometry objects can be separately
@@ -74,13 +87,13 @@
 operation a fairly complex container is required.&nbsp; Resulting geometries are
 associated with unique subsets of property values of the input geometry.&nbsp;
 Two suitable containers for storing the result of a property merge operation
-are:<p><font face="Courier New">std::map&lt;std::set&lt;property_type&gt;, polygon_90_set_data&lt;coordinate_type&gt;
-&gt;<br>
-std::map&lt;std::vector&lt;property_type&gt;, polygon_90_set_data&lt;coordinate_type&gt; &gt;</font><p>
+are:</p><p><font face="Courier New">std::map&lt;std::set&lt;property_type&gt;, polygon_90_set_data&lt;coordinate_type&gt;
+&gt;<br />
+std::map&lt;std::vector&lt;property_type&gt;, polygon_90_set_data&lt;coordinate_type&gt; &gt;</font></p><p>
 Example code property_merge_usage.cpp
- demonstrates using the n-layer map-overlay algorithm on polygon 90 data.<h2>Member Functions</h2>
-<table border="1" width="100%" id="table1">
- <tr>
+ demonstrates using the n-layer map-overlay algorithm on polygon 90 data.</p><h2>Member Functions</h2>
+<table id="table1" border="1" width="100%">
+ <tbody><tr>
                 <td width="586"><b><font face="Courier New">property_merge_90</font></b><font face="Courier New">()</font></td>
                 <td>Default constructor. </td>
         </tr>
@@ -91,7 +104,7 @@
         </tr>
         <tr>
                 <td width="586">
-<font face="Courier New">void <br><b>insert</b>(const polygon_90_set_data&lt;coordinate_type&gt;&amp; ps,<br>
+<font face="Courier New">void <br /><b>insert</b>(const polygon_90_set_data&lt;coordinate_type&gt;&amp; ps,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 const property_type&amp; property)</font></td>
                 <td>I<font face="Times New Roman">nsert a polygon set with an associated
@@ -100,8 +113,8 @@
         <tr>
                 <td width="586">
 <font face="Courier New">
-template &lt;class GeoObjT&gt;<br>
-void <b>insert</b>(const GeoObjT&amp; geoObj,<br>
+template &lt;class GeoObjT&gt;<br />
+void <b>insert</b>(const GeoObjT&amp; geoObj,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 const property_type&amp; property)</font></td>
                 <td>Insert a geometry object that is a refinement of polygon 90 set with
@@ -110,24 +123,24 @@
         <tr>
                 <td width="586">
 <font face="Courier New">
-template &lt;typename result_type&gt;<br>
+template &lt;typename result_type&gt;<br />
 void <b>merge</b>(result_type&amp; result)</font></td>
                 <td>Accepts a container object that conforms to the expectations defined
                 above.&nbsp; Performs property merge and populates the container
                 object.&nbsp; O(n log n) runtime wrt. vertices + intersections.</td>
         </tr>
- </table>
- <tr>
+ </tbody></table>
+ </td></tr><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     &nbsp;</td>
 <td style="padding-left: 10px; padding-right: 10px; padding-bottom: 10px;" valign="top" width="100%">
 
 
-<table class="docinfo" rules="none" frame="void" id="table2">
+<table class="docinfo" id="table2" frame="void" rules="none">
         <colgroup>
- <col class="docinfo-name"><col class="docinfo-content">
+ <col class="docinfo-name" /><col class="docinfo-content" />
         </colgroup>
- <tbody vAlign="top">
+ <tbody valign="top">
                 <tr>
                         <th class="docinfo-name">Copyright:</th>
                         <td>Copyright © Intel Corporation 2008-2010.</td>
@@ -140,6 +153,6 @@
                         <a class="reference" target="_top" href="http://www.boost.org/LICENSE_1_0.txt">
                         http://www.boost.org/LICENSE_1_0.txt>)</td>
                 </tr>
-</table>
+</tbody></table>
 
-</html>
\ No newline at end of file
+</td></tr></tbody></table></body></html>
\ No newline at end of file

Modified: sandbox/gtl/doc/gtl_rectangle_concept.htm
==============================================================================
--- sandbox/gtl/doc/gtl_rectangle_concept.htm (original)
+++ sandbox/gtl/doc/gtl_rectangle_concept.htm 2012-04-09 15:10:32 EDT (Mon, 09 Apr 2012)
@@ -1,15 +1,14 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40"><head><!--
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40" lang="en"><head>
+<!--
     Copyright 2009-2010 Intel Corporation
     license banner
--->
-<title>Boost Polygon Library: Rectangle Concept</title>
- <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1">
- <!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> -->
-<table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
+--><title>Boost Polygon Library: Rectangle Concept</title>
+
+ <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /><!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> --></head><body><table style="margin: 0pt; padding: 0pt; width: 100%;" border="0" cellpadding="0" cellspacing="0"><tbody><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/boost.png" width="277" height="86"><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
+ <img src="images/boost.png" border="0" height="86" width="277" /><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
     <div style="margin: 5px;">
@@ -37,6 +36,18 @@
                         <li>Property Merge 90</li>
                         <li>Property Merge 45</li>
                         <li>Property Merge</li>
+ <li><a href="voronoi_main.htm">Voronoi Main Page<br />
+</a></li>
+ <li>Voronoi Benchmark<br />
+ </li>
+ <li>Voronoi Builder</li>
+ <li><a href="voronoi_diagram.htm">Voronoi Diagram<br />
+</a></li>
+ <li>Voronoi Predicates</li>
+ <li>Voronoi Robust FPT<br />
+ </li>
+ <li>Voronoi Utils</li>
+
         </ul>
         <h3 class="navbar">Other Resources</h3>
         <ul>
@@ -46,11 +57,14 @@
              <li>Performance Analysis</li>
                 <li>Layout Versus Schematic Tutorial</li>
                         <li>Minkowski Sum Tutorial</li>
+ <li>Voronoi Basic Tutorial</li>
+ <li>Voronoi Advanced Tutorial</li>
+
         </ul>
     </div>
         <h3 class="navbar">Polygon Sponsor</h3>
     <div style="padding: 5px;" align="center">
- <img border="0" src="images/intlogo.gif" width="127" height="51"><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
+ <img src="images/intlogo.gif" border="0" height="51" width="127" /><a title="www.adobe.com home page" href="http://www.adobe.com/" tabindex="2" style="border: medium none ;">
             </a>
     </div>
 </td>
@@ -58,20 +72,20 @@
 
 <!-- End Header -->
 
-<br>
+<br />
 <p>
 </p><h1>Rectangle Concept</h1>
 
 <p>
-<p>The rectangle concept tag is <font face="Courier New">
+</p><p>The rectangle concept tag is <font face="Courier New">
 rectangle_concept</font></p>
 <p>
 To register a user defined type as a model of
 <font face="Times New Roman">rectangle </font>concept, specialize the
 geometry concept meta-function for that type.&nbsp; In the example below CRectangle is registered as a model of
-rectangle&nbsp; concept.<p>
-<font face="Courier New">template &lt;&gt;<br>
-struct geometry_concept&lt;CRectangle&gt; { typedef rectangle_concept type; };</font><p>
+rectangle&nbsp; concept.</p><p>
+<font face="Courier New">template &lt;&gt;<br />
+struct geometry_concept&lt;CRectangle&gt; { typedef rectangle_concept type; };</font></p><p>
 <font face="Times New Roman">The semantic of a rectangle is that it has an x and
 a y interval and these intervals conform to the semantic of an interval
 including its invariant.&nbsp; This invariant on the intervals of a rectangle is enforced by the generic library functions that
@@ -79,7 +93,7 @@
 mapping of that data type to the rectangle concept through its traits.&nbsp; In
 this way a boost::tuple&lt;int, int, int, int&gt; or boost::array&lt;int, 4&gt;
 could be made models of rectangle by simply providing indirect access to their
-elements through traits.</font><p>
+elements through traits.</font></p><p>
 <font face="Times New Roman">Below is shown the default rectangle traits.&nbsp;
 Specialization of these traits is required for types that don't conform to the
 default behavior.&nbsp; The interested reader will note SFINAE is used on the
@@ -88,103 +102,104 @@
 necessary when refinements of concepts are used and it is undesirable to attempt
 to match default traits to non-rectangle types at compile time.&nbsp;
 Specializing rectangle_traits can be done easily by simply providing gtl_yes as
-the enable parameter.</font><p>
-<font face="Courier New">template &lt;typename T, typename enable = gtl_yes&gt;<br>
-struct rectangle_traits {};</font><p>
-<font face="Courier New">template &lt;typename T&gt;<br>
-struct rectangle_traits&lt;T, gtl_no&gt; {};<br>
-<br>
-template &lt;typename T&gt;<br>
+the enable parameter.</font></p><p>
+<font face="Courier New">template &lt;typename T, typename enable = gtl_yes&gt;<br />
+struct rectangle_traits {};</font></p><p>
+<font face="Courier New">template &lt;typename T&gt;<br />
+struct rectangle_traits&lt;T, gtl_no&gt; {};<br />
+<br />
+template &lt;typename T&gt;<br />
 struct rectangle_traits&lt;T, typename gtl_same_type&lt;typename T::interval_type,
-typename T::interval_type&gt;::type&gt; {<br>
-&nbsp;&nbsp;&nbsp;&nbsp; typedef typename T::coordinate_type coordinate_type;<br>
-&nbsp;&nbsp;&nbsp;&nbsp; typedef typename T::interval_type interval_type;<br>
+typename T::interval_type&gt;::type&gt; {<br />
+&nbsp;&nbsp;&nbsp;&nbsp; typedef typename T::coordinate_type coordinate_type;<br />
+&nbsp;&nbsp;&nbsp;&nbsp; typedef typename T::interval_type interval_type;<br />
 &nbsp;&nbsp;&nbsp;&nbsp; static inline interval_type get(const T&amp; rectangle,
-orientation_2d orient) {<br>
+orientation_2d orient) {<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return
-rectangle.get(orient); }<br>
-};<br>
-<br>
-template &lt;typename T&gt;<br>
-struct rectangle_mutable_traits {<br>
-&nbsp;&nbsp;&nbsp;&nbsp; template &lt;typename T2&gt;<br>
+rectangle.get(orient); }<br />
+};<br />
+<br />
+template &lt;typename T&gt;<br />
+struct rectangle_mutable_traits {<br />
+&nbsp;&nbsp;&nbsp;&nbsp; template &lt;typename T2&gt;<br />
 &nbsp;&nbsp;&nbsp;&nbsp; static inline void set(T&amp; rectangle, orientation_2d
-orient, const T2&amp; interval) {<br>
+orient, const T2&amp; interval) {<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rectangle.set(orient,
-interval); }<br>
-&nbsp;&nbsp;&nbsp;&nbsp; template &lt;typename T2, typename T3&gt;<br>
+interval); }<br />
+&nbsp;&nbsp;&nbsp;&nbsp; template &lt;typename T2, typename T3&gt;<br />
 &nbsp;&nbsp;&nbsp;&nbsp; static inline T construct(const T2&amp; interval_horizontal,
-const T3&amp; interval_vertical) {<br>
+const T3&amp; interval_vertical) {<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return
-T(interval_horizontal, interval_vertical); }<br>
-};</font><h2>Functions</h2>
-<table border="1" width="100%" id="table1">
- <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+T(interval_horizontal, interval_vertical); }<br />
+};</font></p><h2>Functions</h2>
+<table id="table1" border="1" width="100%">
+ <tbody><tr>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 interval_type <b>get</b>(const T&amp; rectangle, orientation_2d)</font></td>
                 <td><font face="Times New Roman">Expects a model of rectangle.&nbsp;
                 Returns the x interval or y interval of the rectangle, depending on the
- orientation_2d value.</font><font face="Courier New"><br>
+ orientation_2d value.</font><font face="Courier New"><br />
 &nbsp;</font></td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T, typename
- coordinate_type&gt;<br>
+ coordinate_type&gt;<br />
                 void <b>set</b>(T&amp; rectangle, orientation_2d, coordinate_type)</font></td>
                 <td><font face="Times New Roman">Expects a model of rectangle.&nbsp;&nbsp;
                 Sets the x interval or y interval of the rectangle to the
                 coordinate, depending on the orientation_2d value.</font></td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 interval_type <b>get</b>(const T&amp; rectangle, orientation_2d,
- <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; direction_1d)</font></td>
- <td><font face="Times New Roman">Expects a model of rectangle.&nbsp;
- Returns the coordinate specificed by the direction_1d value of the x interval or y interval of the rectangle, depending on the
- orientation_2d value.</font><font face="Courier New"><br>
+ <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; direction_1d)</font></td>
+ <td><font face="Times New Roman">Expects
+a model of rectangle.&nbsp; Returns the coordinate specificed by the
+direction_1d value of the x interval or y interval of the rectangle,
+depending on the orientation_2d value.</font><font face="Courier New"><br />
 &nbsp;</font></td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T, typename
- coordinate_type&gt;<br>
- void <b>set</b>(T&amp; rectangle, orientation_2d, direction_1d, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; coordinate_type)</font></td>
+ coordinate_type&gt;<br />
+ void <b>set</b>(T&amp; rectangle, orientation_2d, direction_1d, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; coordinate_type)</font></td>
                 <td><font face="Times New Roman">Expects a model of rectangle.&nbsp;&nbsp;
                 Sets the coordinate specified by the direction_1d value of the x interval or y interval of the rectangle to the
                 coordinate, depending on the orientation_2d value.</font></td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T <b>construct</b>(const T2&amp; h, const T2&amp; v)</font></td>
                 <td>Construct an object that is a model of rectangle given x interval
                 and y intervals.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T, typename
- T2&gt;<br>
- T <b>construct</b>(coordinate_type xl, coordinate_type yl, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; coordinate_type
+ T2&gt;<br />
+ T <b>construct</b>(coordinate_type xl, coordinate_type yl, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; coordinate_type
                 xh, coordinate_type yh)</font></td>
                 <td>Construct an object that is a model of rectangle given four coordinate values.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>assign</b>(T1&amp; left, const T2&amp; right)</font></td>
                 <td>Copies data from right object that models rectangle into left object
                 that models rectangle.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T, typename
- T2&gt;<br>
+ T2&gt;<br />
                 bool <b>equivalence</b>(const T&amp; rectangle1, </font>
- <br><font face="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const T2&amp; rectangle2)</font></td>
+ <br /><font face="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const T2&amp; rectangle2)</font></td>
                 <td>Given two objects that model rectangle, compares and returns true if
                 their x and y intervals are respectively equivalent.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T,
- typename point_type&gt;<br>
- bool <b>contains</b>(const T&amp;, const point_type&amp; point, <br>
+ typename point_type&gt;<br />
+ bool <b>contains</b>(const T&amp;, const point_type&amp; point, <br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                 bool consider_touch=true)</font></td>
                 <td>Given an object that models rectangle and an object that models
@@ -195,8 +210,8 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
- bool <b>contains</b>(const T1&amp; a, const T2&amp; b, <br>
+ T2&gt;<br />
+ bool <b>contains</b>(const T1&amp; a, const T2&amp; b, <br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                 bool consider_touch = true) </font></td>
                 <td>Returns true if model of rectangle a contains both intervals of
@@ -204,170 +219,174 @@
                 consider rectangle b contained even if it touches the boundary of a.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 interval_type <b>horizontal</b>(const T&amp; rectangle)</font></td>
                 <td>Returns the x interval of an object that models rectangle.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 interval_type <b>vertical</b>(const T&amp; rectangle)</font></td>
                 <td>Returns the y interval of an object that models rectangle.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 coordinate_type <b>xl</b>(const T&amp; rectangle)</font></td>
                 <td>Returns the west coordinate of an object that models rectangle.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 coordinate_type <b>xh</b>(const T&amp; rectangle)</font></td>
                 <td>Returns the east coordinate of an object that models rectangle.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 coordinate_type <b>yl</b>(const T&amp; rectangle)</font></td>
                 <td>Returns the south coordinate of an object that models rectangle.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 coordinate_type <b>yh</b>(const T&amp; rectangle)</font></td>
                 <td>Returns the north coordinate of an object that models rectangle.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 point_type <b>ll</b>(const T&amp; rectangle)</font></td>
                 <td>Returns the lower left corner point of an object that models rectangle.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 point_type <b>lr</b>(const T&amp; rectangle)</font></td>
                 <td>Returns the lower right corner point of an object that models rectangle.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 point_type <b>ul</b>(const T&amp; rectangle)</font></td>
                 <td>Returns the upper left corner point of an object that models rectangle.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 point_type <b>ur</b>(const T&amp; rectangle)</font></td>
                 <td>Returns the upper right corner point of an object that models rectangle.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">// get the center coordinate<br>
- template &lt;typename T, typename point_type&gt;<br>
+ <td width="586"><font face="Courier New">// get the center coordinate<br />
+ template &lt;typename T, typename point_type&gt;<br />
                 void <b>center</b>(point_type&amp; p, const T&amp; rectangle)</font></td>
                 <td>Sets object that models point to the center point of an object that models rectangle.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T,
- typename interval_type&gt;<br>
+ typename interval_type&gt;<br />
                 void <b>horizontal</b>(T&amp; rectangle, const interval_type&amp; i)</font></td>
                 <td>Sets the x interval of the object that models rectangle to be equal
                 to the value of an object that models interval.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T,
- typename interval_type&gt;<br>
+ typename interval_type&gt;<br />
                 void <b>vertical</b>(T&amp; rectangle, const interval_type&amp; i )</font></td>
                 <td>Sets the y interval of the object that models rectangle to be equal
                 to the value of an object that models interval.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- rectangle_type&gt;<br>
+ rectangle_type&gt;<br />
                 void <b>xl</b>(rectangle_type&amp; rectangle, coordinate_type )</font></td>
                 <td>Sets the west coordinate of the object that models rectangle to be equal
                 to the coordinate value.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- rectangle_type&gt;<br>
+ rectangle_type&gt;<br />
                 void <b>xh</b>(rectangle_type&amp; rectangle, coordinate_type )</font></td>
                 <td>Sets the east coordinate of the object that models rectangle to be equal
                 to the coordinate value.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- rectangle_type&gt;<br>
+ rectangle_type&gt;<br />
                 void <b>yl</b>(rectangle_type&amp; rectangle, coordinate_type )</font></td>
                 <td>Sets the south coordinate of the object that models rectangle to be equal
                 to the coordinate value.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- rectangle_type&gt;<br>
+ rectangle_type&gt;<br />
                 void <b>yh</b>(rectangle_type&amp; rectangle, coordinate_type )</font></td>
                 <td>Sets the north coordinate of the object that models rectangle to be equal
                 to the coordinate value.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T,
- typename T1, typename T2&gt;<br>
+ typename T1, typename T2&gt;<br />
                 T&amp; <b>set_points</b>(T&amp; rectangle, const T1&amp; p1, const T2&amp; p2)</font></td>
                 <td>Sets the rectangle to the rectangle fully described by the points p1
                 and p2.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 coordinate_difference <b>delta</b>(const T&amp; rectangle,
- <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; orientation_2d)</font></td>
+ <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+orientation_2d)</font></td>
                 <td>Returns the delta of the interval specified by orientation_2d of an object
                 that models rectangle.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 manhattan_area_type <b>area</b>(const T&amp; rectangle)</font></td>
                 <td>Returns the area of an object
                 that models rectangle.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 coordinate_difference <b>half_perimeter</b>(const T&amp; rectangle)</font></td>
                 <td>Returns the length plus width of an object
                 that models rectangle.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 coordinate_difference <b>perimeter</b>(const T&amp; rectangle)</font></td>
                 <td>Returns the perimeter length of an object
                 that models rectangle.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 orientation_2d <b>quess_orientation</b>(const T&amp; rectangle)</font></td>
                 <td>Returns the orientation in which the rectangle has a longer delta.&nbsp;
                 Returns HORIZONTAL if the rectangle is a square.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- rectangle_type&gt;<br>
- rectangle_type&amp; <b>transform</b>(rectangle_type&amp; rectangle,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; coordinate_type axis = 0)</font></td>
+ rectangle_type&gt;<br />
+ rectangle_type&amp; <b>transform</b>(rectangle_type&amp; rectangle,<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+coordinate_type axis = 0)</font></td>
                 <td>Applies transform() on the two points that fully describe the
                 rectangle and sets the rectangle to that described by the result of
                 transforming those points.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- rectangle_type&gt;<br>
- rectangle_type&amp; <b>scale_up</b>(rectangle_type&amp; rectangle, <br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type factor)</font></td>
+ rectangle_type&gt;<br />
+ rectangle_type&amp; <b>scale_up</b>(rectangle_type&amp; rectangle, <br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+unsigned_area_type factor)</font></td>
                 <td>Scales up x interval and y interval&nbsp; of an object that models
                 rectangle by unsigned factor.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- rectangle_type&gt;<br>
- rectangle_type&amp; <b>scale_down</b>(rectangle_type&amp; rectangle, <br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned_area_type factor)</font></td>
+ rectangle_type&gt;<br />
+ rectangle_type&amp; <b>scale_down</b>(rectangle_type&amp; rectangle, <br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+unsigned_area_type factor)</font></td>
                 <td>Scales down x interval and y interval&nbsp; of an object that models
                 rectangle by unsigned factor.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- rectangle_type, scaling_type&gt;<br>
- rectangle_type&amp; <b>scale</b>(rectangle_type&amp; rectangle,<br>
+ rectangle_type, scaling_type&gt;<br />
+ rectangle_type&amp; <b>scale</b>(rectangle_type&amp; rectangle,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                 const scaling_type&amp; scaling) </font></td>
                 <td>Applies scale() on the two points that fully describe the rectangle
@@ -375,33 +394,33 @@
                 those points.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
- T&amp; <b>move</b>(T&amp; rectangle, orientation_2d,<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
+ T&amp; <b>move</b>(T&amp; rectangle, orientation_2d,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; coordinate_difference displacement)</font></td>
                 <td>Adds displacement value to interval indicated by orientation_2d of an
                 object that models rectangle.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- rectangle_type, typename point_type&gt;<br>
- rectangle_type&amp; <b>convolve</b>(rectangle_type&amp; rectangle,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- const point_type&amp; point)</font></td>
+ rectangle_type, typename point_type&gt;<br />
+ rectangle_type&amp; <b>convolve</b>(rectangle_type&amp; rectangle,<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+const point_type&amp; point)</font></td>
                 <td>Convolves coordinate values of point with x interval and y interval&nbsp; of an
                 object that models rectangle.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename
- rectangle_type, typename point_type&gt;<br>
- rectangle_type&amp; <b>deconvolve</b>(rectangle_type&amp; rectangle,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- const point_type&amp; point)</font></td>
+ rectangle_type, typename point_type&gt;<br />
+ rectangle_type&amp; <b>deconvolve</b>(rectangle_type&amp; rectangle,<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+const point_type&amp; point)</font></td>
                 <td>Deconvolves coordinate values of point withx interval and y interval&nbsp; of
                 an object that models rectangle.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>convolve</b>(T1&amp; a, const T2&amp; b)</font></td>
                 <td>Convolves x interval&nbsp; of b with x interval&nbsp; of a and
                 convolves y
@@ -409,14 +428,14 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>deconvolve</b>(T1&amp; a, const T2&amp; b)</font></td>
                 <td>Deconvolves x interval&nbsp; of b with x interval&nbsp; of a and
                 deconvolves y interval&nbsp; of b with y interval&nbsp; of a. </td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>reflected_convolve</b>(T1&amp; a, const T2&amp; b)</font></td>
                 <td>Reflected convolves y interval&nbsp; of b with x interval&nbsp; of a and
                 reflected convolves x
@@ -424,15 +443,15 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T1&amp; <b>reflected_deconvolve</b>(T1&amp; a, const T2&amp; b)</font></td>
                 <td>Reflected deconvolves y interval&nbsp; of b with x interval&nbsp; of a and
                 reflected deconvolves x interval&nbsp; of b with y interval&nbsp; of a.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T,
- typename point_type&gt;<br>
- coordinate_difference <b>euclidean_distance</b>(const T&amp;,<br>
+ typename point_type&gt;<br />
+ coordinate_difference <b>euclidean_distance</b>(const T&amp;,<br />
                 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const point_type&amp; point,
                 orienation_2d)</font></td>
                 <td>Returns the distance from an object that models rectangle to an
@@ -441,8 +460,8 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1,
- typename T2&gt;<br>
- coordinate_difference <b>euclidean_distance</b>(const T1&amp; a,<br>
+ typename T2&gt;<br />
+ coordinate_difference <b>euclidean_distance</b>(const T1&amp; a,<br />
                 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const T2&amp; b, orienation_2d)</font></td>
                 <td>Returns the distance from an object that models rectangle to an
                 object that models rectangle along the given orientation.&nbsp; Returns
@@ -450,8 +469,8 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T,
- typename point_type&gt;<br>
- coordinate_difference <b>square_euclidean_distance</b>(const T&amp;,<br>
+ typename point_type&gt;<br />
+ coordinate_difference <b>square_euclidean_distance</b>(const T&amp;,<br />
                 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const point_type&amp; point)</font></td>
                 <td>Returns the square of the Euclidean distance between a point and a
                 rectangle.&nbsp; Returns zero if the point is contained within the
@@ -459,50 +478,50 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1,
- typename T2&gt;<br>
- coordinate_difference <b>square_euclidean_distance</b><br>
+ typename T2&gt;<br />
+ coordinate_difference <b>square_euclidean_distance</b><br />
                 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (const T1&amp; a, const T2&amp; b)</font></td>
                 <td>Returns the square of the Euclidean distance between rectangles a
                 and b.&nbsp; Returns zero if the rectangles intersect.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T,
- typename point_type&gt;<br>
- coordinate_difference <b>manhattan_distance</b>(const T&amp;,<br>
+ typename point_type&gt;<br />
+ coordinate_difference <b>manhattan_distance</b>(const T&amp;,<br />
                 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const point_type&amp; point)</font></td>
                 <td>Returns the Manhattan distance between a point and a rectangle.&nbsp;
                 Returns zero if the point is contained within the rectangle.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1,
- typename T2&gt;<br>
- coordinate_difference <b>manhattan_distance</b>(const T1&amp; a, <br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- const T2&amp; b)</font></td>
+ typename T2&gt;<br />
+ coordinate_difference <b>manhattan_distance</b>(const T1&amp; a, <br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+const T2&amp; b)</font></td>
                 <td>Returns the Manhattan distance between rectangles a and b.&nbsp;
                 Returns zero if the rectangles intersect.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T,
- typename point_type&gt;<br>
- coordinate_distance <b>euclidean_distance</b>(const T&amp;,<br>
+ typename point_type&gt;<br />
+ coordinate_distance <b>euclidean_distance</b>(const T&amp;,<br />
                 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const point_type&amp; point)</font></td>
                 <td>Returns the Euclidean distance between a point and a rectangle.&nbsp;
                 Returns zero if the point is contained within the rectangle.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1,
- typename T2&gt;<br>
- coordinate_distance <b>euclidean_distance</b>(const T1&amp; a, <br>
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- const T2&amp; b)</font></td>
+ typename T2&gt;<br />
+ coordinate_distance <b>euclidean_distance</b>(const T1&amp; a, <br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+const T2&amp; b)</font></td>
                 <td>Returns the Euclidean distance between rectangles a and b.&nbsp;
                 Returns zero if the rectangles intersect.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
- bool <b>intersects</b>(const T1&amp; a, const T2&amp; b, <br>
+ T2&gt;<br />
+ bool <b>intersects</b>(const T1&amp; a, const T2&amp; b, <br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                 bool consider_touch = true)</font></td>
                 <td>Returns true if two objects that model rectangle overlap.&nbsp; If
@@ -511,10 +530,10 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
- bool <b>boundaries_intersect</b>(const T1&amp; a, const T2&amp; b, <br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- bool consider_touch = true)</font></td>
+ T2&gt;<br />
+ bool <b>boundaries_intersect</b>(const T1&amp; a, const T2&amp; b, <br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+bool consider_touch = true)</font></td>
                 <td>Returns true is two objects that model rectangle partially overlap
                 such that one there is an intersection between the edges of the two
                 rectangles&nbsp; If the consider_touch flag is true a coordinate is
@@ -523,8 +542,8 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
- bool <b>abuts</b>(const T1&amp; a, const T2&amp; b,<br>
+ T2&gt;<br />
+ bool <b>abuts</b>(const T1&amp; a, const T2&amp; b,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; direction_2d dir)
                 </font></td>
                 <td>Returns true if rectangle b abuts but down not overlap rectangle a
@@ -532,8 +551,8 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
- bool <b>abuts</b>(const T1&amp; a, const T2&amp; b,<br>
+ T2&gt;<br />
+ bool <b>abuts</b>(const T1&amp; a, const T2&amp; b,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; orientation_2d)
                 </font></td>
                 <td>Returns true if rectangle b abuts but down not overlap rectangle a
@@ -541,15 +560,15 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 bool <b>abuts</b>(const T1&amp; a, const T2&amp; b)</font></td>
                 <td>Returns true if rectangle b abuts but down not overlap rectangle a
                 on any side.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
- bool <b>intersect</b>(T1&amp; a, const T2&amp; b, orientation_2d<br>
+ T2&gt;<br />
+ bool <b>intersect</b>(T1&amp; a, const T2&amp; b, orientation_2d<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                 bool consider_touch = true) </font></td>
                 <td>Sets rectangle a to the intersection of rectangle a and interval b
@@ -560,8 +579,8 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
- bool <b>intersect</b>(T1&amp; a, const T2&amp; b,<br>
+ T2&gt;<br />
+ bool <b>intersect</b>(T1&amp; a, const T2&amp; b,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                 bool consider_touch = true) </font></td>
                 <td>Sets rectangle a to the intersection of rectangle a and rectangle b
@@ -571,84 +590,84 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 T&amp; <b>generalized_intersect</b>(T1&amp; a, const T2&amp; b)</font></td>
                 <td>Same as intersect, but if they do not intersect set a to the
                 rectangle between a and b by applying generalized_intersect() on the
                 intervals of the rectangles.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>bloat</b>(T&amp; rectangle, coordinate_type)</font></td>
                 <td>Bloats x and y intervals of rectangle by coordinate value.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>bloat</b>(T&amp; rectangle, direction_2d, coordinate_type)</font></td>
                 <td>Bloats side of rectangle specified by direction_2d by coordinate
                 value.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>bloat</b>(T&amp; rectangle, orientation_2d, coordinate_type)</font></td>
                 <td>Bloats interval of rectangle specified by orientation_2d by
                 coordinate value.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>shrink</b>(T&amp; rectangle, coordinate_type)</font></td>
                 <td>Shrinks x and y intervals of rectangle by coordinate value.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>shrink</b>(T&amp; rectangle, direction_2d, coordinate_type)</font></td>
                 <td>Shrinks side of rectangle specified by direction_2d by coordinate
                 value.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T&gt;<br />
                 T&amp; <b>shrink</b>(T&amp; rectangle, orientation_2d, coordinate_type)</font></td>
                 <td>Shrinks interval of rectangle specified by orientation_2d by
                 coordinate value.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<br>
+ T2&gt;<br />
                 bool <b>encompass</b>(T1&amp; a, const T2&amp; b)</font></td>
                 <td>The x and y intervals of a are set to encompass the x and y
                 intervals of b respectively.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T, typename
- point_type&gt;<br>
+ point_type&gt;<br />
                 bool <b>encompass</b>(T&amp; rectangle, const point_type&amp; point)</font></td>
                 <td>The x and y intervals of rectangle are set to encompass the x and y
                 coordinates of point respectively.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T, typename
- interval_type&gt;<br>
+ interval_type&gt;<br />
                 bool <b>encompass</b>(T&amp; rectangle, const interval_type&amp; i,
- <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; orientation_2d)</font></td>
+ <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; orientation_2d)</font></td>
                 <td>The interval of rectangle specified by orientation_2d is set to encompass the
                 interval i.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T, typename
- point_type&gt;<br>
+ point_type&gt;<br />
                 bool <b>get_corner</b>(point_type&amp; point, const T&amp; rectangle,&nbsp;
- <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                 direction_2d, direction_1d)</font></td>
                 <td>Sets point to the corner of the rectangle you reach if you look at
                 its side specified by direction_2d from within the rectangle and turn in
                 the direction_1d direction (low == left, high = right).&nbsp; Always
                 returns true.</td>
         </tr>
-</table>
+</tbody></table>
         <h1>Rectangle Data</h1>
 
 <p>
-<p>The library provides a model of rectangle concept declared
+</p><p>The library provides a model of rectangle concept declared
 <font face="Courier New">
 template&lt;typename T&gt; rectangle_data </font>where T is the coordinate type.</p>
 <p>This data type is used internally when a rectangle is needed and is available
@@ -656,8 +675,8 @@
 instead of providing their own.&nbsp; The data type is implemented to be
 convenient to use with the library traits.</p>
 <h2>Members</h2>
-<table border="1" width="100%" id="table2">
- <tr>
+<table id="table2" border="1" width="100%">
+ <tbody><tr>
                 <td width="586"><b><font face="Courier New">geometry_type</font></b></td>
                 <td><font face="Times New Roman">rectangle_concept</font></td>
         </tr>
@@ -677,8 +696,8 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T1, typename
- T2&gt;<b><br>
- rectangle_data</b>(const T1&amp; horizontal_interval,<br>
+ T2&gt;<b><br />
+ rectangle_data</b>(const T1&amp; horizontal_interval,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                 const T2&amp; vertical_interval)</font></td>
                 <td><font face="Times New Roman">Constructs a rectangle with two objects
@@ -696,19 +715,19 @@
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T2&gt;<b>
- <br> </b>rectangle_data& <b>
+ <br /> </b>rectangle_data&amp; <b>
                 operator=</b>(const T2&amp; that) const</font></td>
                 <td>Assign from an object that is a model of rectangle.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T2&gt;<b>
- <br> </b>bool<b>
+ <br /> </b>bool<b>
                 operator==</b>(const T2&amp; that) const</font></td>
                 <td>Compare equality to an object that is a model of rectangle.</td>
         </tr>
         <tr>
                 <td width="586"><font face="Courier New">template &lt;typename T2&gt;<b>
- <br> </b>bool<b>
+ <br /> </b>bool<b>
                 operator!=</b>(const T2&amp; that) const</font></td>
                 <td>Compare inequality to an object that is a model of rectangle.</td>
         </tr>
@@ -718,15 +737,15 @@
                 <td>Get the interval in the given orientation.</td>
         </tr>
         <tr>
- <td width="586"><font face="Courier New">template &lt;typename T2&gt;<br>
+ <td width="586"><font face="Courier New">template &lt;typename T2&gt;<br />
                 void <b>set</b>(orientation_2d orient, const T2&amp; value)</font></td>
                 <td>Sets the interval in the given orientation to the value of an object
                 that models interval.</td>
         </tr>
- </table>
- <tr>
+ </tbody></table>
+ </td></tr><tr>
 <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
     &nbsp;</td>
 <td style="padding-left: 10px; padding-right: 10px; padding-bottom: 10px;" valign="top" width="100%">
 
-&nbsp;</html>
\ No newline at end of file
+&nbsp;</td></tr></tbody></table></body></html>
\ No newline at end of file


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk