Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r77050 - sandbox/gtl/doc
From: sydorchuk.andriy_at_[hidden]
Date: 2012-02-17 03:21:57


Author: asydorchuk
Date: 2012-02-17 03:21:55 EST (Fri, 17 Feb 2012)
New Revision: 77050
URL: http://svn.boost.org/trac/boost/changeset/77050

Log:
Adding docs for voronoi ctype traits.
Added:
   sandbox/gtl/doc/voronoi_ctype_traits.htm (contents, props changed)
Text files modified:
   sandbox/gtl/doc/index.htm | 6 ++++--
   1 files changed, 4 insertions(+), 2 deletions(-)

Modified: sandbox/gtl/doc/index.htm
==============================================================================
--- sandbox/gtl/doc/index.htm (original)
+++ sandbox/gtl/doc/index.htm 2012-02-17 03:21:55 EST (Fri, 17 Feb 2012)
@@ -38,7 +38,7 @@
                         <li>Property Merge 90</li>
                         <li>Property Merge 45</li>
                         <li>Property Merge</li>
- <li>Voronoi CTypes Concept</li>
+ <li>Voronoi CType Traits</li>
                         <li><a href="voronoi_diagram_datastructure.htm">Voronoi Diagram
                         Datastructure</a></li>
                         <li><a href="voronoi_lazy_arithmetic_concept.htm">Voronoi Lazy
@@ -101,7 +101,9 @@
 <p><img border="0" src="images/voronoi.png" width="900" height="300"></p>
 <p>
 The coordinate data type is a template parameter of all data types and
-algorithms provided by the library, and is expected to be integral.&nbsp;
+algorithms provided by the library, and is expected to be integral (this is
+different for Voronoi code, look at the <a href="voronoi_ctype_traits.htm">Voronoi
+CType Traits</a> page).&nbsp;
 Floating point coordinate data types are not supported by the algorithms
 implemented in the library due to the fact that the achieving floating point
 robustness implies a different set of algorithms and generally platform specific

Added: sandbox/gtl/doc/voronoi_ctype_traits.htm
==============================================================================
--- (empty file)
+++ sandbox/gtl/doc/voronoi_ctype_traits.htm 2012-02-17 03:21:55 EST (Fri, 17 Feb 2012)
@@ -0,0 +1,134 @@
+<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 ;">
+ </a>
+ </div>
+ <div style="margin: 5px;">
+ <h3 class="navbar">Contents</h3>
+ <ul>
+ <li>Boost.Polygon Main Page</li>
+ <li>Design Overview</li>
+ <li>Isotropy</li>
+ <li>Coordinate Concept</li>
+ <li>Interval Concept</li>
+ <li>
+ Point Concept</li>
+ <li>Rectangle Concept</li>
+ <li>Polygon 90 Concept</li>
+ <li>Polygon 90 With Holes Concept</li>
+ <li>Polygon 45 Concept</li>
+ <li>Polygon 45 With Holes Concept</li>
+ <li>Polygon Concept</li>
+ <li>Polygon With Holes Concept</li>
+ <li>Polygon 90 Set Concept</li>
+ <li>Polygon 45 Set Concept</li>
+ <li>Polygon Set Concept</li>
+ <li>Connectivity Extraction 90</li>
+ <li>Connectivity Extraction 45</li>
+ <li>Connectivity Extraction</li>
+ <li>Property Merge 90</li>
+ <li>Property Merge 45</li>
+ <li>Property Merge</li>
+ <li>Voronoi CTypes Traits</li>
+ <li><a href="voronoi_diagram_datastructure.htm">Voronoi Diagram
+ Datastructure</a></li>
+ <li><a href="voronoi_lazy_arithmetic_concept.htm">Voronoi Lazy
+ Arithmetic Concept</a></li>
+ <li><a href="voronoi_sweepline_algorithm.htm">Voronoi Sweepline
+ Algorithm</a></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
+ Presentation</a></li>
+ <li>Performance Analysis</li>
+ <li>Layout Versus Schematic Tutorial</li>
+ <li>Minkowski Sum Tutorial</li>
+ <li><a href="voronoi_diagram_basic_tutorial.htm">Voronoi Diagram
+ Basic Tutorial</a></li>
+ <li><a href="voronoi_diagram_advanced_tutorial.htm">Voronoi Diagram
+ Advanced Tutorial</a></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 ;">
+ </a>
+ </div>
+</td>
+<td style="padding-left: 10px; padding-right: 10px; padding-bottom: 10px;" valign="top" width="100%">
+
+<!-- End Header -->
+
+<br>
+<h1>Voronoi Coordinate Types Requirements</h1>
+<p>The requirements for the coordinate type of all input and output data types
+supported by the Voronoi unit are weaker than for the rest of the Boost.Polygon
+library. The main differences are in the following: 1) The input coordinate type
+is not required to be integral (while it still should be integer type); 2) The
+output coordinate type could be integer or floating-point non built-in type.
+This additional functionality is achieved using Voronoi coordinate type traits,
+that&nbsp; are described in details below. Separate paragraph is dedicated to
+the default Voronoi coordinate types, that enable user to use Voronoi unit
+functionality ignoring underlying coordinate types metaprogramming.</p>
+<h1>Default Voronoi Coordinate Types</h1>
+<p>By default Voronoi unit operates with 32-bit signed integer coordinate type
+for the input objects and double coordinate type for the output geometries. This
+set up is ready to use from the box and doesn't require any additional
+configuration steps to be done. The simplest code that builds voronoi diagram
+with default coordinate types looks like this:</p>
+ <div style="text-align:justify;mso-char-wrap:1;mso-kinsoku-overflow:1">
+ <span style="font-family: Courier New">#include &quot;boost/polygon/voronoi.hpp&quot;</span><p>
+ <span style="font-family: Courier New">int main() {<br>
+&nbsp; /* Read input points and segments.<br>
+&nbsp;&nbsp;&nbsp;&nbsp; Input coordinates should be 32-bit signed integers! */<br>
+&nbsp; voronoi_diagram&lt;double&gt; vd;<br>
+&nbsp; construct_voronoi(points, segments, &amp;vd);<br>
+&nbsp; /* Having some fun with the output. */<br>
+ }</span></p>
+ <p>As you might see two lines of code do all the complex computational
+ geometry procedure for you.</div>
+<h1>Voronoi Builder CType Traits</h1>
+<p>As was mentioned above Voronoi input &amp; output coordinate types are not
+required to be built-in. To provide functionality that supports user defined
+coordinate types special technique called runtime-variable traits is used. Let's
+have a closer look at the voronoi_builder structure definition:</p>
+<p>
+<font face="Courier New">template &lt;typename T,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; typename CTT =
+detail::voronoi_ctype_traits&lt;T&gt;,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; typename VP =
+detail::voronoi_predicates&lt;CTT&gt; &gt;<br>
+class voronoi_builder { ... };</font></p>
+<h1>Voronoi Diagram Traits</h1>
+<p>
+&nbsp;</p>
+
+
+ <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">
+ <colgroup>
+ <col class="docinfo-name"><col class="docinfo-content">
+ </colgroup>
+ <tbody vAlign="top">
+ <tr>
+ <th class="docinfo-name">Copyright:</th>
+ <td>Copyright © Intel Corporation 2008-2010.</td>
+ </tr>
+ <tr class="field">
+ <th class="docinfo-name">License:</th>
+ <td class="field-body">Distributed under the Boost Software License,
+ Version 1.0. (See accompanying file <tt class="literal">
+ <span class="pre">LICENSE_1_0.txt</span></tt> or copy at
+ <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>
+


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