Boost logo

Boost-Commit :

From: huseyinakcan_at_[hidden]
Date: 2007-06-10 00:16:27


Author: huseyinakcan
Date: 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
New Revision: 4516
URL: http://svn.boost.org/trac/boost/changeset/4516

Log:
forward_hds_concept.hpp converted to file level doxygen doc, inline with
hds_concept.hpp
The documentation is also updated.

Text files modified:
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/annotated.html | 4 -
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/backward__hds__concept_8hpp-source.html | 2
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/backward__hds__concept_8hpp.html | 2
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/bidirectional__hds__concept_8hpp-source.html | 2
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/bidirectional__hds__concept_8hpp.html | 2
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/classVectorHDSConcept.html | 2
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/facet__hds__concept_8hpp-source.html | 2
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/facet__hds__concept_8hpp.html | 2
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/files.html | 6 +-
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/forward__hds__concept_8hpp-source.html | 86 +++++++++++++++++++++------------------
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/forward__hds__concept_8hpp.html | 73 ++++++++++++++++++++++++++++-----
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/functions.html | 2
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/functions_func.html | 2
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/hds__concept_8hpp-source.html | 64 ++++++++++++++++-------------
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/hds__concept_8hpp.html | 54 ++++++++++++++++++++-----
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/hds__concepts_8hpp-source.html | 2
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/hds__concepts_8hpp.html | 2
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/index.html | 2
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/mutable__hds__concept_8hpp-source.html | 2
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/structhdstl_1_1concepts_1_1BackwardHDSConcept.html | 4
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/structhdstl_1_1concepts_1_1BidirectionalHDSConcept.html | 2
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/structhdstl_1_1concepts_1_1FacetHDSConcept.html | 2
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/structhdstl_1_1concepts_1_1MutableHDSConcept-members.html | 2
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/structhdstl_1_1concepts_1_1MutableHDSConcept.html | 6 +-
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/vertex__hds__concept_8hpp-source.html | 2
   sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/annotated.tex | 2
   sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/doxygen.sty | 4
   sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/files.tex | 4
   sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/forward__hds__concept_8hpp.tex | 86 ++++++++++++++++++++++++++++++++++-----
   sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/hds__concept_8hpp.tex | 67 +++++++++++++++++++++++++-----
   sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/refman.tex | 4 -
   sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/structhdstl_1_1concepts_1_1BackwardHDSConcept.tex | 2
   sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/structhdstl_1_1concepts_1_1MutableHDSConcept.tex | 4
   33 files changed, 349 insertions(+), 155 deletions(-)

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/html/annotated.html
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/html/annotated.html (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/html/annotated.html 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -20,12 +20,10 @@
   <tr><td class="indexkey"><a class="el" href="structhdstl_1_1concepts_1_1BackwardHDSConcept.html">hdstl::concepts::BackwardHDSConcept&lt; HDS &gt;</a></td><td class="indexvalue">Backward HDS concept definition </td></tr>
   <tr><td class="indexkey"><a class="el" href="structhdstl_1_1concepts_1_1BidirectionalHDSConcept.html">hdstl::concepts::BidirectionalHDSConcept&lt; HDS &gt;</a></td><td class="indexvalue">Bidirectional HDS concept definition </td></tr>
   <tr><td class="indexkey"><a class="el" href="structhdstl_1_1concepts_1_1FacetHDSConcept.html">hdstl::concepts::FacetHDSConcept&lt; HDS &gt;</a></td><td class="indexvalue">Facet HDS concept definition </td></tr>
- <tr><td class="indexkey"><a class="el" href="structhdstl_1_1concepts_1_1ForwardHDSConcept.html">hdstl::concepts::ForwardHDSConcept&lt; HDS &gt;</a></td><td class="indexvalue">Forward HDS concept definition </td></tr>
- <tr><td class="indexkey"><a class="el" href="structhdstl_1_1concepts_1_1HDSConcept.html">hdstl::concepts::HDSConcept&lt; HDS &gt;</a></td><td class="indexvalue">HDS concept definition </td></tr>
   <tr><td class="indexkey"><a class="el" href="structhdstl_1_1concepts_1_1MutableHDSConcept.html">hdstl::concepts::MutableHDSConcept&lt; HDS &gt;</a></td><td class="indexvalue">Mutable HDS concept definition </td></tr>
   <tr><td class="indexkey"><a class="el" href="classVectorHDSConcept.html">VectorHDSConcept</a></td><td class="indexvalue">Vertex HDS concept definition </td></tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Sat Jun 9 00:12:42 2007 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Sun Jun 10 00:14:10 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
 </body>

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/html/backward__hds__concept_8hpp-source.html
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/html/backward__hds__concept_8hpp-source.html (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/html/backward__hds__concept_8hpp-source.html 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -50,7 +50,7 @@
 <a name="l00103"></a>00103 halfedge_descriptor g;
 <a name="l00105"></a>00105 };
 <a name="l00106"></a>00106 }} <span class="comment">//namespaces</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sat Jun 9 00:12:42 2007 by&nbsp;
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sun Jun 10 00:14:10 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
 </body>

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/html/backward__hds__concept_8hpp.html
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/html/backward__hds__concept_8hpp.html (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/html/backward__hds__concept_8hpp.html 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -26,7 +26,7 @@
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Backward HDS concept definition. More...<br></td></tr>
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
-<hr size="1"><address style="align: right;"><small>Generated on Sat Jun 9 00:12:42 2007 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Sun Jun 10 00:14:10 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
 </body>

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/html/bidirectional__hds__concept_8hpp-source.html
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/html/bidirectional__hds__concept_8hpp-source.html (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/html/bidirectional__hds__concept_8hpp-source.html 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -17,7 +17,7 @@
 <a name="l00040"></a><a class="code" href="structhdstl_1_1concepts_1_1BidirectionalHDSConcept.html">00040</a> <span class="keyword">struct </span><a class="code" href="structhdstl_1_1concepts_1_1BidirectionalHDSConcept.html">BidirectionalHDSConcept</a> {
 <a name="l00041"></a>00041 };
 <a name="l00042"></a>00042 }} <span class="comment">//namespaces</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sat Jun 9 00:12:42 2007 by&nbsp;
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sun Jun 10 00:14:10 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
 </body>

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/html/bidirectional__hds__concept_8hpp.html
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/html/bidirectional__hds__concept_8hpp.html (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/html/bidirectional__hds__concept_8hpp.html 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -26,7 +26,7 @@
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bidirectional HDS concept definition. More...<br></td></tr>
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
-<hr size="1"><address style="align: right;"><small>Generated on Sat Jun 9 00:12:42 2007 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Sun Jun 10 00:14:10 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
 </body>

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/html/classVectorHDSConcept.html
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/html/classVectorHDSConcept.html (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/html/classVectorHDSConcept.html 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -45,7 +45,7 @@
 <p>
 <hr>The documentation for this class was generated from the following file:<ul>
 <li>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/<a class="el" href="vertex__hds__concept_8hpp-source.html">vertex_hds_concept.hpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Sat Jun 9 00:12:42 2007 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Sun Jun 10 00:14:10 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
 </body>

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/html/facet__hds__concept_8hpp-source.html
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/html/facet__hds__concept_8hpp-source.html (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/html/facet__hds__concept_8hpp-source.html 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -17,7 +17,7 @@
 <a name="l00043"></a><a class="code" href="structhdstl_1_1concepts_1_1FacetHDSConcept.html">00043</a> <span class="keyword">struct </span><a class="code" href="structhdstl_1_1concepts_1_1FacetHDSConcept.html">FacetHDSConcept</a> {
 <a name="l00044"></a>00044 };
 <a name="l00045"></a>00045 }} <span class="comment">//namespaces</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sat Jun 9 00:12:42 2007 by&nbsp;
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sun Jun 10 00:14:10 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
 </body>

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/html/facet__hds__concept_8hpp.html
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/html/facet__hds__concept_8hpp.html (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/html/facet__hds__concept_8hpp.html 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -26,7 +26,7 @@
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Facet HDS concept definition. More...<br></td></tr>
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
-<hr size="1"><address style="align: right;"><small>Generated on Sat Jun 9 00:12:42 2007 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Sun Jun 10 00:14:10 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
 </body>

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/html/files.html
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/html/files.html (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/html/files.html 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -16,12 +16,12 @@
   <tr><td class="indexkey">/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/<a class="el" href="backward__hds__concept_8hpp.html">backward_hds_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/<a class="el" href="bidirectional__hds__concept_8hpp.html">bidirectional_hds_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/<a class="el" href="facet__hds__concept_8hpp.html">facet_hds_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/<a class="el" href="forward__hds__concept_8hpp.html">forward_hds_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey">/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/<a class="el" href="hds__concept_8hpp.html">hds_concept.hpp</a> [code]</td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/<a class="el" href="forward__hds__concept_8hpp.html">forward_hds_concept.hpp</a> [code]</td><td class="indexvalue">Forward HDS concept definition </td></tr>
+ <tr><td class="indexkey">/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/<a class="el" href="hds__concept_8hpp.html">hds_concept.hpp</a> [code]</td><td class="indexvalue">HDS concept definition </td></tr>
   <tr><td class="indexkey">/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/<b>mutable_hds_concept.hpp</b> [code]</td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/<b>vertex_hds_concept.hpp</b> [code]</td><td class="indexvalue"></td></tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Sat Jun 9 00:12:42 2007 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Sun Jun 10 00:14:10 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
 </body>

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/html/forward__hds__concept_8hpp-source.html
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/html/forward__hds__concept_8hpp-source.html (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/html/forward__hds__concept_8hpp-source.html 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -11,46 +11,52 @@
     <li>Classes</li>
     <li id="current">Files</li>
   </ul></div>
-<h1>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/forward_hds_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="keyword">namespace </span>hdstl{
-<a name="l00002"></a>00002 <span class="keyword">namespace </span>concepts{
-<a name="l00057"></a>00057 <span class="keyword">template</span> &lt;<span class="keyword">class</span> HDS&gt;
-<a name="l00058"></a><a class="code" href="structhdstl_1_1concepts_1_1ForwardHDSConcept.html">00058</a> <span class="keyword">struct </span><a class="code" href="structhdstl_1_1concepts_1_1ForwardHDSConcept.html">ForwardHDSConcept</a> {
-<a name="l00060"></a>00060
-<a name="l00061"></a>00061
-<a name="l00065"></a>00065 <span class="keyword">typedef</span> <span class="keyword">typename</span> hds_traits&lt;HDS&gt;::halfedge_descriptor halfedge_descriptor;
-<a name="l00066"></a>00066 <span class="keyword">typedef</span> <span class="keyword">typename</span> hds_traits&lt;HDS&gt;::traversal_category traversal_category;
-<a name="l00067"></a>00067 <span class="keyword">typedef</span> <span class="keyword">typename</span> hds_traits&lt;HDS&gt;::forward_category forward_category;
-<a name="l00069"></a>00069
-<a name="l00073"></a>00073 <span class="keywordtype">void</span> constraints() {
-<a name="l00074"></a>00074 <span class="keyword">using namespace </span>boost;
-<a name="l00075"></a>00075
-<a name="l00076"></a>00076 function_requires&lt;HDSConcept&lt;HDS&gt; &gt;();
-<a name="l00077"></a>00077 function_requires&lt;ConvertibleConcept&lt;traversal_category
-<a name="l00078"></a>00078 ,forwardS&gt; &gt;();
-<a name="l00079"></a>00079 <span class="keyword">const</span> <span class="keywordtype">bool</span> is_valid_storage_tag =
-<a name="l00080"></a>00080 is_convertible&lt;forward_category,next_at_sourceS&gt;::value ||
-<a name="l00081"></a>00081 is_convertible&lt;forward_category,next_at_targetS&gt;::value ||
-<a name="l00082"></a>00082 is_convertible&lt;forward_category,next_in_facetS&gt;::value;
-<a name="l00083"></a>00083 BOOST_STATIC_ASSERT( is_valid_storage_tag );
-<a name="l00084"></a>00084 <span class="comment">// Error message could be improved</span>
-<a name="l00085"></a>00085
-<a name="l00086"></a>00086 h = next_in_facet(hds,h);
-<a name="l00087"></a>00087 h = next_at_source(hds,h);
-<a name="l00088"></a>00088 h = next_at_target(hds,h);
-<a name="l00089"></a>00089 const_constraints(hds);
-<a name="l00090"></a>00090 }
-<a name="l00094"></a>00094 <span class="keywordtype">void</span> const_constraints(HDS <span class="keyword">const</span>&amp; hds){
-<a name="l00095"></a>00095 h = next_in_facet(hds,h);
-<a name="l00096"></a>00096 h = next_at_source(hds,h);
-<a name="l00097"></a>00097 h = next_at_target(hds,h);
-<a name="l00098"></a>00098 }
-<a name="l00099"></a>00099
-<a name="l00100"></a>00100 ForwardHDS hds;
-<a name="l00101"></a>00101 halfedge_descriptor h;
-<a name="l00102"></a>00102 halfedge_descriptor g;
-<a name="l00104"></a>00104 };
-<a name="l00105"></a>00105 }} <span class="comment">//namespaces</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sat Jun 9 00:12:42 2007 by&nbsp;
+<h1>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/forward_hds_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
+<a name="l00101"></a>00101 <span class="preprocessor">#ifdef BOOST_HDSTL_CONCEPTS_FORWARDHDSCONCEPT_HPP</span>
+<a name="l00102"></a>00102 <span class="preprocessor"></span><span class="preprocessor">#define BOOST_HDSTL_CONCEPTS_FORWARDHDSCONCEPT_HPP 1</span>
+<a name="l00103"></a>00103 <span class="preprocessor"></span>
+<a name="l00104"></a>00104 <span class="keyword">namespace </span>hdstl{
+<a name="l00105"></a>00105 <span class="keyword">namespace </span>concepts{
+<a name="l00118"></a>00118 <span class="keyword">template</span> &lt;<span class="keyword">class</span> HDS&gt;
+<a name="l00119"></a>00119 <span class="keyword">struct </span>ForwardHDSConcept {
+<a name="l00121"></a>00121
+<a name="l00125"></a>00125 <span class="keyword">typedef</span> <span class="keyword">typename</span> hds_traits&lt;HDS&gt;::halfedge_descriptor halfedge_descriptor;
+<a name="l00126"></a>00126 <span class="keyword">typedef</span> <span class="keyword">typename</span> hds_traits&lt;HDS&gt;::traversal_category traversal_category;
+<a name="l00127"></a>00127 <span class="keyword">typedef</span> <span class="keyword">typename</span> hds_traits&lt;HDS&gt;::forward_category forward_category;
+<a name="l00129"></a>00129
+<a name="l00133"></a>00133 <span class="keywordtype">void</span> constraints() {
+<a name="l00134"></a>00134 <span class="keyword">using namespace </span>boost;
+<a name="l00135"></a>00135
+<a name="l00136"></a>00136 function_requires&lt;HDSConcept&lt;HDS&gt; &gt;();
+<a name="l00137"></a>00137 function_requires&lt;ConvertibleConcept&lt;traversal_category
+<a name="l00138"></a>00138 ,forwardS&gt; &gt;();
+<a name="l00139"></a>00139 <span class="keyword">const</span> <span class="keywordtype">bool</span> is_valid_storage_tag =
+<a name="l00140"></a>00140 is_convertible&lt;forward_category,next_at_source_tag&gt;::value ||
+<a name="l00141"></a>00141 is_convertible&lt;forward_category,next_at_target_tag&gt;::value ||
+<a name="l00142"></a>00142 is_convertible&lt;forward_category,next_in_facet_tag&gt;::value;
+<a name="l00143"></a>00143 BOOST_STATIC_ASSERT( is_valid_storage_tag );
+<a name="l00144"></a>00144 <span class="comment">// Error message could be improved</span>
+<a name="l00145"></a>00145
+<a name="l00146"></a>00146 h = next_in_facet(hds,h);
+<a name="l00147"></a>00147 h = next_at_source(hds,h);
+<a name="l00148"></a>00148 h = next_at_target(hds,h);
+<a name="l00149"></a>00149 const_constraints(hds);
+<a name="l00150"></a>00150 }
+<a name="l00154"></a>00154 <span class="keywordtype">void</span> const_constraints(HDS <span class="keyword">const</span>&amp; hds){
+<a name="l00155"></a>00155 h = next_in_facet(hds,h);
+<a name="l00156"></a>00156 h = next_at_source(hds,h);
+<a name="l00157"></a>00157 h = next_at_target(hds,h);
+<a name="l00158"></a>00158 }
+<a name="l00159"></a>00159
+<a name="l00160"></a>00160 ForwardHDS hds;
+<a name="l00161"></a>00161 halfedge_descriptor h;
+<a name="l00162"></a>00162 halfedge_descriptor g;
+<a name="l00163"></a>00163 };
+<a name="l00164"></a>00164 } <span class="comment">// close namespace concepts</span>
+<a name="l00165"></a>00165 } <span class="comment">// close namespace hdstl</span>
+<a name="l00166"></a>00166
+<a name="l00167"></a>00167 <span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sun Jun 10 00:14:10 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
 </body>

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/html/forward__hds__concept_8hpp.html
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/html/forward__hds__concept_8hpp.html (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/html/forward__hds__concept_8hpp.html 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -11,22 +11,73 @@
     <li>Classes</li>
     <li id="current">Files</li>
   </ul></div>
-<h1>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/forward_hds_concept.hpp File Reference</h1>
+<h1>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/forward_hds_concept.hpp File Reference</h1>Forward HDS concept definition. More...
+<p>
+
 <p>
 <a href="forward__hds__concept_8hpp-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><b>hdstl</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><b>hdstl::concepts</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhdstl_1_1concepts_1_1ForwardHDSConcept.html">hdstl::concepts::ForwardHDSConcept&lt; HDS &gt;</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Forward HDS concept definition. More...<br></td></tr>
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
-<hr size="1"><address style="align: right;"><small>Generated on Sat Jun 9 00:12:42 2007 by&nbsp;
+Forward HDS concept definition.
+<p>
+<dl compact><dt><b>Definition</b></dt><dd>This concept refines the HDSConcept, and specifies additional forward category to iterate over the HDS data structure, which means counter clockwise movement around the facet and clockwise movement around the vertex. Possible forward categories are next_in_facet, next_at_source, and next_at_target. Once one of these categories are given all others can be accessed with the help of the opposite of a halfedge.</dd></dl>
+<dl compact><dt><b>Refinement of</b></dt><dd><ul>
+<li>HDSConcept</li></ul>
+</dd></dl>
+<dl compact><dt><b>Notation</b></dt><dd><ul>
+<li>HDS A type that is a model of ForwardHDSConcept</li><li>hds A non-modifiable instance of HDS</li><li>h,g Halfedge descriptors, of type X::halfedge_descriptor</li></ul>
+</dd></dl>
+<dl compact><dt><b>Associated types</b></dt><dd><ul>
+<li>hds_traits&lt;HDS&gt;::halfedge_descriptor: must be DefaultConstructible and CopyConstructible, EqualityComparable, Assignable.</li><li>hds_traits&lt;HDS&gt;::traversal_category: must be convertible to hds_traits&lt;HDS&gt;::forward_traversal_tag.</li><li>hds_traits&lt;HDS&gt;::forward_category: Defines the pointer type for forward iteration.</li></ul>
+</dd></dl>
+<dl compact><dt><b>Definitions</b></dt><dd><ul>
+<li><em>halfedge</em> <em>descriptor</em> is a type that contains information to access the halfedge.</li><li><em>traversal</em> <em>category</em> is a type that contains information about the direction of the traversal, which is forward, backward or bidirectional. For forward hds concept, it has to be convertible to hds_traits&lt;HDS&gt;::forward_traversal_tag.</li><li><em>forward</em> <em>category</em> defines the type of the forward iteration.</li></ul>
+</dd></dl>
+<dl compact><dt><b>Valid Expressions</b></dt><dd><ul>
+<li>next_in_facet(hds,h) : Must return a value assignable to h.</li><li>next_at_source(hds,h) : Must return a value assignable to h.</li><li>next_at_target(hds,h) : Must return a value assignable to h.</li></ul>
+</dd></dl>
+<dl compact><dt><b>Expression Semantics</b></dt><dd><ul>
+<li>next_in_facet(hds,h) : returns an halfedge descriptor to next halfedge in counter clockwise order around the facet.</li><li>next_at_source(hds,h) : returns an halfedge descriptor to next halfedge in clockwise order around the source vertex.</li><li>next_at_target(hds,h) : returns an halfedge descriptor to next halfedge in clockwise order around the target vertex.</li></ul>
+</dd></dl>
+<dl compact><dt><b>Complexity guarantees</b></dt><dd><ul>
+<li>next_in_facet(hds,h) : Amortized constant time</li><li>next_at_source(hds,h) : Amortized constant time</li><li>next_at_target(hds,h) : Amortized constant time</li></ul>
+</dd></dl>
+<dl compact><dt><b>Invariants </b></dt><dd><ul>
+<li>next_in_facet(hds,h) == next_at_source(opposite(hds,h)) == opposite(next_at_target(hds,h))</li><li>next_at_source(hds,h) == next_in_facet(opposite(hds,h)) == opposite(next_at_target(opposite(hds,h)))</li><li>next_at_target(hds,h) == opposite(next_in_facet(hds,h)) == opposite(next_at_source(opposite(hds,h)))</li></ul>
+</dd></dl>
+<dl compact><dt><b>Concept-checking class</b></dt><dd><div class="fragment"><pre class="fragment"> <span class="keyword">template</span> &lt;<span class="keyword">class</span> HDS&gt;
+ <span class="keyword">struct </span>ForwardHDSConcept {
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> hds_traits&lt;HDS&gt;::halfedge_descriptor halfedge_descriptor;
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> hds_traits&lt;HDS&gt;::traversal_category traversal_category;
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> hds_traits&lt;HDS&gt;::forward_category forward_category;
+ <span class="keywordtype">void</span> constraints() {
+ <span class="keyword">using namespace </span>boost;
+ function_requires&lt;HDSConcept&lt;HDS&gt; &gt;();
+ function_requires&lt;ConvertibleConcept&lt;traversal_category
+ ,forward_traversal_tag&gt; &gt;();
+ <span class="keyword">const</span> <span class="keywordtype">bool</span> is_valid_storage_tag =
+ is_convertible&lt;forward_category,next_at_source_tag&gt;::value ||
+ is_convertible&lt;forward_category,next_at_target_tag&gt;::value ||
+ is_convertible&lt;forward_category,next_in_facet_tag&gt;::value;
+ BOOST_STATIC_ASSERT( is_valid_storage_tag );
+ <span class="comment">// Error message could be improved</span>
+ h = next_in_facet(hds,h);
+ h = next_at_source(hds,h);
+ h = next_at_target(hds,h);
+ const_constraints(hds);
+ }
+ <span class="keywordtype">void</span> const_constraints(HDS <span class="keyword">const</span>&amp; hds){
+ h = next_in_facet(hds,h);
+ h = next_at_source(hds,h);
+ h = next_at_target(hds,h);
+ }
+ ForwardHDS hds;
+ halfedge_descriptor h;
+ halfedge_descriptor g;
+ };
+</pre></div> </dd></dl>
+<hr size="1"><address style="align: right;"><small>Generated on Sun Jun 10 00:14:10 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
 </body>

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/html/functions.html
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/html/functions.html (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/html/functions.html 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -27,7 +27,7 @@
 <ul>
 <li>const_constraints()
 : <a class="el" href="structhdstl_1_1concepts_1_1MutableHDSConcept.html#3c0a017321ea292cbf9c7dd216a4882d">hdstl::concepts::MutableHDSConcept&lt; HDS &gt;</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Sat Jun 9 00:12:42 2007 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Sun Jun 10 00:14:10 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
 </body>

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/html/functions_func.html
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/html/functions_func.html (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/html/functions_func.html 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -27,7 +27,7 @@
 <ul>
 <li>const_constraints()
 : <a class="el" href="structhdstl_1_1concepts_1_1MutableHDSConcept.html#3c0a017321ea292cbf9c7dd216a4882d">hdstl::concepts::MutableHDSConcept&lt; HDS &gt;</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Sat Jun 9 00:12:42 2007 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Sun Jun 10 00:14:10 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
 </body>

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/html/hds__concept_8hpp-source.html
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/html/hds__concept_8hpp-source.html (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/html/hds__concept_8hpp-source.html 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -11,35 +11,41 @@
     <li>Classes</li>
     <li id="current">Files</li>
   </ul></div>
-<h1>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/hds_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="keyword">namespace </span>hdstl{
-<a name="l00002"></a>00002 <span class="keyword">namespace </span>concepts {
-<a name="l00003"></a>00003
-<a name="l00057"></a>00057 <span class="keyword">template</span> &lt;<span class="keyword">class</span> HDS&gt;
-<a name="l00058"></a><a class="code" href="structhdstl_1_1concepts_1_1HDSConcept.html">00058</a> <span class="keyword">struct </span><a class="code" href="structhdstl_1_1concepts_1_1HDSConcept.html">HDSConcept</a> {
-<a name="l00060"></a>00060
-<a name="l00061"></a>00061
-<a name="l00066"></a>00066 <span class="keyword">typedef</span> <span class="keyword">typename</span> hds_traits&lt;HDS&gt;::halfedge_descriptor halfedge_descriptor;
-<a name="l00068"></a>00068
-<a name="l00072"></a>00072 <span class="keywordtype">void</span> constraints() {
-<a name="l00073"></a>00073 <span class="keyword">using namespace </span>boost;
-<a name="l00074"></a>00074 function_requires&lt;DefaultConstructibleConcept&lt;halfedge_descriptor&gt; &gt;();
-<a name="l00075"></a>00075 function_requires&lt;CopyConstructibleConcept&lt;halfedge_descriptor&gt; &gt;();
-<a name="l00076"></a>00076 function_requires&lt;EqualityComparableConcept&lt;halfedge_descriptor&gt; &gt;();
-<a name="l00077"></a>00077 function_requires&lt;AssignableConcept&lt;halfedge_descriptor&gt; &gt;();
-<a name="l00078"></a>00078
-<a name="l00079"></a>00079 h = opposite(hds,h);
-<a name="l00080"></a>00080 const_constraints(hds);
-<a name="l00081"></a>00081 }
-<a name="l00082"></a>00082
-<a name="l00086"></a>00086 <span class="keywordtype">void</span> const_constraints(HDS <span class="keyword">const</span>&amp; hds) {
-<a name="l00087"></a>00087 h = opposite(hds,h);
-<a name="l00088"></a>00088 }
-<a name="l00089"></a>00089 HDS hds;
-<a name="l00090"></a>00090 halfedge_descriptor h;
-<a name="l00092"></a>00092 };
-<a name="l00093"></a>00093
-<a name="l00094"></a>00094 }}<span class="comment">//namespaces</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sat Jun 9 00:12:42 2007 by&nbsp;
+<h1>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/hds_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
+<a name="l00071"></a>00071 <span class="preprocessor">#ifdef BOOST_HDSTL_CONCEPTS_HDSCONCEPT_HPP</span>
+<a name="l00072"></a>00072 <span class="preprocessor"></span><span class="preprocessor">#define BOOST_HDSTL_CONCEPTS_HDSCONCEPT_HPP 1</span>
+<a name="l00073"></a>00073 <span class="preprocessor"></span>
+<a name="l00074"></a>00074 <span class="keyword">namespace </span>hdstl{
+<a name="l00075"></a>00075 <span class="keyword">namespace </span>concepts {
+<a name="l00076"></a>00076
+<a name="l00089"></a>00089 <span class="keyword">template</span> &lt;<span class="keyword">class</span> HDS&gt;
+<a name="l00090"></a>00090 <span class="keyword">struct </span>HDSConcept {
+<a name="l00092"></a>00092
+<a name="l00097"></a>00097 <span class="keyword">typedef</span> <span class="keyword">typename</span> hds_traits&lt;HDS&gt;::halfedge_descriptor halfedge_descriptor;
+<a name="l00099"></a>00099
+<a name="l00103"></a>00103 <span class="keywordtype">void</span> constraints() {
+<a name="l00104"></a>00104 <span class="keyword">using namespace </span>boost;
+<a name="l00105"></a>00105 function_requires&lt;DefaultConstructibleConcept&lt;halfedge_descriptor&gt; &gt;();
+<a name="l00106"></a>00106 function_requires&lt;CopyConstructibleConcept&lt;halfedge_descriptor&gt; &gt;();
+<a name="l00107"></a>00107 function_requires&lt;EqualityComparableConcept&lt;halfedge_descriptor&gt; &gt;();
+<a name="l00108"></a>00108 function_requires&lt;AssignableConcept&lt;halfedge_descriptor&gt; &gt;();
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110 h = opposite(hds,h);
+<a name="l00111"></a>00111 const_constraints(hds);
+<a name="l00112"></a>00112 }
+<a name="l00113"></a>00113
+<a name="l00117"></a>00117 <span class="keywordtype">void</span> const_constraints(HDS <span class="keyword">const</span>&amp; hds) {
+<a name="l00118"></a>00118 h = opposite(hds,h);
+<a name="l00119"></a>00119 }
+<a name="l00120"></a>00120 HDS hds;
+<a name="l00121"></a>00121 halfedge_descriptor h;
+<a name="l00122"></a>00122 };
+<a name="l00123"></a>00123
+<a name="l00124"></a>00124 } <span class="comment">// close namespace concepts</span>
+<a name="l00125"></a>00125 } <span class="comment">// close namespace hdstl</span>
+<a name="l00126"></a>00126
+<a name="l00127"></a>00127 <span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sun Jun 10 00:14:10 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
 </body>

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/html/hds__concept_8hpp.html
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/html/hds__concept_8hpp.html (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/html/hds__concept_8hpp.html 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -11,22 +11,54 @@
     <li>Classes</li>
     <li id="current">Files</li>
   </ul></div>
-<h1>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/hds_concept.hpp File Reference</h1>
+<h1>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/hds_concept.hpp File Reference</h1>HDS concept definition. More...
+<p>
+
 <p>
 <a href="hds__concept_8hpp-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><b>hdstl</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><b>hdstl::concepts</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structhdstl_1_1concepts_1_1HDSConcept.html">hdstl::concepts::HDSConcept&lt; HDS &gt;</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">HDS concept definition. More...<br></td></tr>
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
-<hr size="1"><address style="align: right;"><small>Generated on Sat Jun 9 00:12:42 2007 by&nbsp;
+HDS concept definition.
+<p>
+<dl compact><dt><b>Definition</b></dt><dd>This concept is the basic HDS concept, which all the other HDS concepts refine. It contains a few requirements which are common to all the graph concepts. One should note that a model of HDS is not required to be a model of Assignable, so algorithms should pass HDS objects by reference.</dd></dl>
+<dl compact><dt><b>Refinement of:</b></dt><dd>This concept is not a refinement of another concept, in particular a model HDS of HDSConcept does <em>not</em> need to be DefaultConstructible, CopyConstructible, or Assignable.</dd></dl>
+<dl compact><dt><b>Notation</b></dt><dd><ul>
+<li>HDS A type that is a model of HDSConcept</li><li>hds A non-modifiable instance of HDS</li><li>h,g Halfedge descriptors, of type X::halfedge_descriptor</li></ul>
+</dd></dl>
+<dl compact><dt><b>Associated types</b></dt><dd><ul>
+<li>hds_traits&lt;HDS&gt;::halfedge_descriptor: must be DefaultConstructible and CopyConstructible, EqualityComparable, Assignable.</li></ul>
+</dd></dl>
+<dl compact><dt><b>Definitions</b></dt><dd><em>halfedge</em> <em>descriptor</em> is a type that contains information to access the halfedge. Note that the halfedge descriptor type (accessible as a member of the hds_traits&lt;HDS&gt; type) is an opaque type. All that can be done to it is passing it to the function opposite and letting the hds use the information it contains to find the opposite halfedge. In particular, there is no guarantee that it is a pointer type.</dd></dl>
+<dl compact><dt><b>Valid Expressions</b></dt><dd><ul>
+<li>opposite(hds, h): Must return a value assignable to h.</li></ul>
+</dd></dl>
+<dl compact><dt><b>Expression Semantics</b></dt><dd><ul>
+<li>opposite(hds, h): Returns a descriptor to the halfedge opposite h in the data structure hds. Does not modify the state of either hds, or h.</li></ul>
+</dd></dl>
+<dl compact><dt><b>Complexity guarantees</b></dt><dd><ul>
+<li>opposite(hds, h): Amortized constant time.</li></ul>
+</dd></dl>
+<dl compact><dt><b>Invariants</b></dt><dd><ul>
+<li>Every valid halfedge descriptor h must have a valid opposite g = opposite(hds, h), <em>distinct</em> from h, such that opposite(hds, g) returns h. (Hence, opposite is an involution.)</li></ul>
+</dd></dl>
+<dl compact><dt><b>Concept-checking class</b></dt><dd><div class="fragment"><pre class="fragment"> <span class="keyword">template</span> &lt;<span class="keyword">class</span> HDS&gt;
+ <span class="keyword">struct </span>HDSConcept {
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> hds_traits&lt;HDS&gt;::halfedge_descriptor halfedge_descriptor;
+ <span class="keywordtype">void</span> constraints() {
+ <span class="keyword">using namespace </span>boost;
+ function_requires&lt;DefaultConstructibleConcept&lt;halfedge_descriptor&gt; &gt;();
+ function_requires&lt;CopyConstructibleConcept&lt;halfedge_descriptor&gt; &gt;();
+ function_requires&lt;EqualityComparableConcept&lt;halfedge_descriptor&gt; &gt;();
+ function_requires&lt;AssignableConcept&lt;halfedge_descriptor&gt; &gt;();
+ h = opposite(hds,h);
+ const_constraints(hds);
+ }
+ <span class="keywordtype">void</span> const_constraints(HDS <span class="keyword">const</span>&amp; hds) {
+ h = opposite(hds,h);
+ }
+</pre></div> </dd></dl>
+<hr size="1"><address style="align: right;"><small>Generated on Sun Jun 10 00:14:10 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
 </body>

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/html/hds__concepts_8hpp-source.html
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/html/hds__concepts_8hpp-source.html (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/html/hds__concepts_8hpp-source.html 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -22,7 +22,7 @@
 <a name="l00021"></a>00021 <span class="preprocessor">#include &lt;<a class="code" href="facet__hds__concept_8hpp.html">hds_concepts/facet_hds_concept.hpp</a>&gt;</span>
 <a name="l00022"></a>00022 <span class="preprocessor">#include &lt;hds_concepts/mutable_hds_concept.hpp&gt;</span>
 <a name="l00023"></a>00023 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sat Jun 9 00:12:42 2007 by&nbsp;
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sun Jun 10 00:14:10 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
 </body>

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/html/hds__concepts_8hpp.html
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/html/hds__concepts_8hpp.html (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/html/hds__concepts_8hpp.html 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -30,7 +30,7 @@
 <p>
 <dl compact><dt><b>HDS Introduction</b></dt><dd>FILLME</dd></dl>
 <dl compact><dt><b>HDS Concepts</b></dt><dd>FILLME </dd></dl>
-<hr size="1"><address style="align: right;"><small>Generated on Sat Jun 9 00:12:42 2007 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Sun Jun 10 00:14:10 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
 </body>

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/html/index.html
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/html/index.html (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/html/index.html 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -13,7 +13,7 @@
   </ul></div>
 <h1></h1>
 <p>
-<hr size="1"><address style="align: right;"><small>Generated on Sat Jun 9 00:12:42 2007 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Sun Jun 10 00:14:10 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
 </body>

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/html/mutable__hds__concept_8hpp-source.html
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/html/mutable__hds__concept_8hpp-source.html (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/html/mutable__hds__concept_8hpp-source.html 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -40,7 +40,7 @@
 <a name="l00084"></a>00084 halfedge_descriptor h2;
 <a name="l00086"></a>00086 };
 <a name="l00087"></a>00087 }} <span class="comment">//namespaces</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sat Jun 9 00:12:42 2007 by&nbsp;
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sun Jun 10 00:14:10 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
 </body>

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/html/structhdstl_1_1concepts_1_1BackwardHDSConcept.html
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/html/structhdstl_1_1concepts_1_1BackwardHDSConcept.html (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/html/structhdstl_1_1concepts_1_1BackwardHDSConcept.html 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -50,13 +50,13 @@
 <li>prev_in_facet(hds,h) : Amortized constant time.</li><li>prev_at_source(hds,h) : Amortized constant time.</li><li>prev_at_target(hds,h) : Amortized constant time.</li></ul>
 </dd></dl>
 <dl compact><dt><b>Invariants </b></dt><dd><ul>
-<li>This concept should validate <a class="el" href="structhdstl_1_1concepts_1_1HDSConcept.html">HDSConcept</a> also.</li><li>backward_category has to be convertible to one of: prev_in_facet, prev_at_source, or prev_at_target.</li><li>traversal_category has to be convertible to backward_traversal_tag</li><li>g = prev_in_facet(hds,h), if defined, g should be a valid type</li><li>g = prev_at_source(hds,h), if defined, g should be a valid type</li><li>g = prev_at_target(hds,h), if defined, g should be a valid type </li></ul>
+<li>This concept should validate HDSConcept also.</li><li>backward_category has to be convertible to one of: prev_in_facet, prev_at_source, or prev_at_target.</li><li>traversal_category has to be convertible to backward_traversal_tag</li><li>g = prev_in_facet(hds,h), if defined, g should be a valid type</li><li>g = prev_at_source(hds,h), if defined, g should be a valid type</li><li>g = prev_at_target(hds,h), if defined, g should be a valid type </li></ul>
 </dd></dl>
 
 <p>
 <hr>The documentation for this class was generated from the following file:<ul>
 <li>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/<a class="el" href="backward__hds__concept_8hpp-source.html">backward_hds_concept.hpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Sat Jun 9 00:12:42 2007 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Sun Jun 10 00:14:10 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
 </body>

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/html/structhdstl_1_1concepts_1_1BidirectionalHDSConcept.html
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/html/structhdstl_1_1concepts_1_1BidirectionalHDSConcept.html (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/html/structhdstl_1_1concepts_1_1BidirectionalHDSConcept.html 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -48,7 +48,7 @@
 <p>
 <hr>The documentation for this class was generated from the following file:<ul>
 <li>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/<a class="el" href="bidirectional__hds__concept_8hpp-source.html">bidirectional_hds_concept.hpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Sat Jun 9 00:12:42 2007 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Sun Jun 10 00:14:10 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
 </body>

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/html/structhdstl_1_1concepts_1_1FacetHDSConcept.html
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/html/structhdstl_1_1concepts_1_1FacetHDSConcept.html (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/html/structhdstl_1_1concepts_1_1FacetHDSConcept.html 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -50,7 +50,7 @@
 <p>
 <hr>The documentation for this class was generated from the following file:<ul>
 <li>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/<a class="el" href="facet__hds__concept_8hpp-source.html">facet_hds_concept.hpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Sat Jun 9 00:12:42 2007 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Sun Jun 10 00:14:10 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
 </body>

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/html/structhdstl_1_1concepts_1_1MutableHDSConcept-members.html
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/html/structhdstl_1_1concepts_1_1MutableHDSConcept-members.html (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/html/structhdstl_1_1concepts_1_1MutableHDSConcept-members.html 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -21,7 +21,7 @@
   <tr bgcolor="#f0f0f0"><td><b>constraints</b>() (defined in <a class="el" href="structhdstl_1_1concepts_1_1MutableHDSConcept.html">hdstl::concepts::MutableHDSConcept&lt; HDS &gt;</a>)</td><td><a class="el" href="structhdstl_1_1concepts_1_1MutableHDSConcept.html">hdstl::concepts::MutableHDSConcept&lt; HDS &gt;</a></td><td><code> [inline]</code></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>halfedge_descriptor</b> typedef (defined in <a class="el" href="structhdstl_1_1concepts_1_1MutableHDSConcept.html">hdstl::concepts::MutableHDSConcept&lt; HDS &gt;</a>)</td><td><a class="el" href="structhdstl_1_1concepts_1_1MutableHDSConcept.html">hdstl::concepts::MutableHDSConcept&lt; HDS &gt;</a></td><td></td></tr>
   <tr bgcolor="#f0f0f0"><td><b>traversal_category</b> typedef (defined in <a class="el" href="structhdstl_1_1concepts_1_1MutableHDSConcept.html">hdstl::concepts::MutableHDSConcept&lt; HDS &gt;</a>)</td><td><a class="el" href="structhdstl_1_1concepts_1_1MutableHDSConcept.html">hdstl::concepts::MutableHDSConcept&lt; HDS &gt;</a></td><td></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Sat Jun 9 00:12:42 2007 by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Sun Jun 10 00:14:10 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
 </body>

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/html/structhdstl_1_1concepts_1_1MutableHDSConcept.html
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/html/structhdstl_1_1concepts_1_1MutableHDSConcept.html (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/html/structhdstl_1_1concepts_1_1MutableHDSConcept.html 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -50,13 +50,13 @@
 
 Mutable HDS concept definition.
 <p>
-<dl compact><dt><b>Definition</b></dt><dd>This class provides a concept checking for the Mutable <a class="el" href="structhdstl_1_1concepts_1_1HDSConcept.html">HDSConcept</a>, i.e., using the statement boost::function_requires&lt;HDSConcept&lt;HDS&gt; &gt;() inside a function body, or BOOST_CLASS_REQUIRE(HDS, boost::hdstl, HDSConcept) inside a class definition body, should trigger a compile-time error if the type HDS does not model the <a class="el" href="structhdstl_1_1concepts_1_1MutableHDSConcept.html">MutableHDSConcept</a>.</dd></dl>
+<dl compact><dt><b>Definition</b></dt><dd>This class provides a concept checking for the Mutable HDSConcept, i.e., using the statement boost::function_requires&lt;HDSConcept&lt;HDS&gt; &gt;() inside a function body, or BOOST_CLASS_REQUIRE(HDS, boost::hdstl, HDSConcept) inside a class definition body, should trigger a compile-time error if the type HDS does not model the <a class="el" href="structhdstl_1_1concepts_1_1MutableHDSConcept.html">MutableHDSConcept</a>.</dd></dl>
 <dl compact><dt><b>Refinement of</b></dt><dd></dd></dl>
 <dl compact><dt><b>Associated types</b></dt><dd><ul>
 <li>X::halfedge_descriptor: must be DefaultConstructible, EqualityComparable, Assignable.</li><li>X::traversal_category: must exist as a type, no other requirement.</li></ul>
 </dd></dl>
 <dl compact><dt><b>Notation</b></dt><dd><ul>
-<li>X A type that is a model of <a class="el" href="structhdstl_1_1concepts_1_1HDSConcept.html">HDSConcept</a></li><li>h, h1, h2 halfedge descriptors</li></ul>
+<li>X A type that is a model of HDSConcept</li><li>h, h1, h2 halfedge descriptors</li></ul>
 </dd></dl>
 <dl compact><dt><b>Definitions</b></dt><dd><em>halfedge</em> <em>descriptor</em> is a pointer to access the halfedge</dd></dl>
 <dl compact><dt><b>Valid Expressions</b></dt><dd><ul>
@@ -96,7 +96,7 @@
 </div><p>
 <hr>The documentation for this struct was generated from the following file:<ul>
 <li>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/<a class="el" href="mutable__hds__concept_8hpp-source.html">mutable_hds_concept.hpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Sat Jun 9 00:12:42 2007 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Sun Jun 10 00:14:10 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
 </body>

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/html/vertex__hds__concept_8hpp-source.html
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/html/vertex__hds__concept_8hpp-source.html (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/html/vertex__hds__concept_8hpp-source.html 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -17,7 +17,7 @@
 <a name="l00043"></a>00043 <span class="keyword">struct </span>VertexHDSConcept {
 <a name="l00044"></a>00044 };
 <a name="l00045"></a>00045 }} <span class="comment">//namespaces</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sat Jun 9 00:12:42 2007 by&nbsp;
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sun Jun 10 00:14:10 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
 </body>

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/annotated.tex
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/annotated.tex (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/annotated.tex 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -3,8 +3,6 @@
 \item\contentsline{section}{\bf{hdstl::concepts::Backward\-HDSConcept$<$ HDS $>$} (Backward HDS concept definition )}{\pageref{structhdstl_1_1concepts_1_1BackwardHDSConcept}}{}
 \item\contentsline{section}{\bf{hdstl::concepts::Bidirectional\-HDSConcept$<$ HDS $>$} (Bidirectional HDS concept definition )}{\pageref{structhdstl_1_1concepts_1_1BidirectionalHDSConcept}}{}
 \item\contentsline{section}{\bf{hdstl::concepts::Facet\-HDSConcept$<$ HDS $>$} (Facet HDS concept definition )}{\pageref{structhdstl_1_1concepts_1_1FacetHDSConcept}}{}
-\item\contentsline{section}{\bf{hdstl::concepts::Forward\-HDSConcept$<$ HDS $>$} (Forward HDS concept definition )}{\pageref{structhdstl_1_1concepts_1_1ForwardHDSConcept}}{}
-\item\contentsline{section}{\bf{hdstl::concepts::HDSConcept$<$ HDS $>$} (HDS concept definition )}{\pageref{structhdstl_1_1concepts_1_1HDSConcept}}{}
 \item\contentsline{section}{\bf{hdstl::concepts::Mutable\-HDSConcept$<$ HDS $>$} (Mutable HDS concept definition )}{\pageref{structhdstl_1_1concepts_1_1MutableHDSConcept}}{}
 \item\contentsline{section}{\bf{Vector\-HDSConcept} (Vertex HDS concept definition )}{\pageref{classVectorHDSConcept}}{}
 \end{CompactList}

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/doxygen.sty
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/doxygen.sty (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/doxygen.sty 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -10,8 +10,8 @@
         {\fancyplain{}{\bfseries\rightmark}}
 \rhead[\fancyplain{}{\bfseries\leftmark}]
         {\fancyplain{}{\bfseries\thepage}}
-\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Sat Jun 9 00:12:42 2007 by Doxygen }]{}
-\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Sat Jun 9 00:12:42 2007 by Doxygen }}
+\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Sun Jun 10 00:14:10 2007 by Doxygen }]{}
+\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Sun Jun 10 00:14:10 2007 by Doxygen }}
 \cfoot{}
 \newenvironment{Code}
 {\footnotesize}

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/files.tex
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/files.tex (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/files.tex 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -4,8 +4,8 @@
 \item\contentsline{section}{/home/huseyin/Documents/polytechnic/Projects/GSo\-C07/geometry/libs/hdstl/dev/hds\_\-concepts/\bf{backward\_\-hds\_\-concept.hpp} }{\pageref{backward__hds__concept_8hpp}}{}
 \item\contentsline{section}{/home/huseyin/Documents/polytechnic/Projects/GSo\-C07/geometry/libs/hdstl/dev/hds\_\-concepts/\bf{bidirectional\_\-hds\_\-concept.hpp} }{\pageref{bidirectional__hds__concept_8hpp}}{}
 \item\contentsline{section}{/home/huseyin/Documents/polytechnic/Projects/GSo\-C07/geometry/libs/hdstl/dev/hds\_\-concepts/\bf{facet\_\-hds\_\-concept.hpp} }{\pageref{facet__hds__concept_8hpp}}{}
-\item\contentsline{section}{/home/huseyin/Documents/polytechnic/Projects/GSo\-C07/geometry/libs/hdstl/dev/hds\_\-concepts/\bf{forward\_\-hds\_\-concept.hpp} }{\pageref{forward__hds__concept_8hpp}}{}
-\item\contentsline{section}{/home/huseyin/Documents/polytechnic/Projects/GSo\-C07/geometry/libs/hdstl/dev/hds\_\-concepts/\bf{hds\_\-concept.hpp} }{\pageref{hds__concept_8hpp}}{}
+\item\contentsline{section}{/home/huseyin/Documents/polytechnic/Projects/GSo\-C07/geometry/libs/hdstl/dev/hds\_\-concepts/\bf{forward\_\-hds\_\-concept.hpp} (Forward HDS concept definition )}{\pageref{forward__hds__concept_8hpp}}{}
+\item\contentsline{section}{/home/huseyin/Documents/polytechnic/Projects/GSo\-C07/geometry/libs/hdstl/dev/hds\_\-concepts/\bf{hds\_\-concept.hpp} (HDS concept definition )}{\pageref{hds__concept_8hpp}}{}
 \item\contentsline{section}{/home/huseyin/Documents/polytechnic/Projects/GSo\-C07/geometry/libs/hdstl/dev/hds\_\-concepts/\textbf{mutable\_\-hds\_\-concept.hpp} }{\pageref{mutable__hds__concept_8hpp}}{}
 \item\contentsline{section}{/home/huseyin/Documents/polytechnic/Projects/GSo\-C07/geometry/libs/hdstl/dev/hds\_\-concepts/\textbf{vertex\_\-hds\_\-concept.hpp} }{\pageref{vertex__hds__concept_8hpp}}{}
 \end{CompactList}

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/forward__hds__concept_8hpp.tex
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/forward__hds__concept_8hpp.tex (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/forward__hds__concept_8hpp.tex 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -1,17 +1,79 @@
 \section{/home/huseyin/Documents/polytechnic/Projects/GSo\-C07/geometry/libs/hdstl/dev/hds\_\-concepts/forward\_\-hds\_\-concept.hpp File Reference}
 \label{forward__hds__concept_8hpp}\index{/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/forward_hds_concept.hpp@{/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds\_\-concepts/forward\_\-hds\_\-concept.hpp}}
-\subsection*{Namespaces}
-\begin{CompactItemize}
-\item
-namespace \textbf{hdstl}
-\item
-namespace \textbf{hdstl::concepts}
-\end{CompactItemize}
-\subsection*{Classes}
-\begin{CompactItemize}
-\item
-class \bf{hdstl::concepts::Forward\-HDSConcept$<$ HDS $>$}
-\begin{CompactList}\small\item\em Forward HDS concept definition. \item\end{CompactList}\end{CompactItemize}
+Forward HDS concept definition.
+
 
 
 \subsection{Detailed Description}
+Forward HDS concept definition.
+
+\begin{Desc}
+\item[Definition]This concept refines the HDSConcept, and specifies additional forward category to iterate over the HDS data structure, which means counter clockwise movement around the facet and clockwise movement around the vertex. Possible forward categories are next\_\-in\_\-facet, next\_\-at\_\-source, and next\_\-at\_\-target. Once one of these categories are given all others can be accessed with the help of the opposite of a halfedge.\end{Desc}
+\begin{Desc}
+\item[Refinement of]\begin{itemize}
+\item HDSConcept\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Notation]\begin{itemize}
+\item HDS A type that is a model of Forward\-HDSConcept\item hds A non-modifiable instance of HDS\item h,g Halfedge descriptors, of type X::halfedge\_\-descriptor\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Associated types]\begin{itemize}
+\item hds\_\-traits$<$HDS$>$::halfedge\_\-descriptor: must be Default\-Constructible and Copy\-Constructible, Equality\-Comparable, Assignable.\item hds\_\-traits$<$HDS$>$::traversal\_\-category: must be convertible to hds\_\-traits$<$HDS$>$::forward\_\-traversal\_\-tag.\item hds\_\-traits$<$HDS$>$::forward\_\-category: Defines the pointer type for forward iteration.\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Definitions]\begin{itemize}
+\item {\em halfedge\/} {\em descriptor\/} is a type that contains information to access the halfedge.\item {\em traversal\/} {\em category\/} is a type that contains information about the direction of the traversal, which is forward, backward or bidirectional. For forward hds concept, it has to be convertible to hds\_\-traits$<$HDS$>$::forward\_\-traversal\_\-tag.\item {\em forward\/} {\em category\/} defines the type of the forward iteration.\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Valid Expressions]\begin{itemize}
+\item next\_\-in\_\-facet(hds,h) : Must return a value assignable to h.\item next\_\-at\_\-source(hds,h) : Must return a value assignable to h.\item next\_\-at\_\-target(hds,h) : Must return a value assignable to h.\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Expression Semantics]\begin{itemize}
+\item next\_\-in\_\-facet(hds,h) : returns an halfedge descriptor to next halfedge in counter clockwise order around the facet.\item next\_\-at\_\-source(hds,h) : returns an halfedge descriptor to next halfedge in clockwise order around the source vertex.\item next\_\-at\_\-target(hds,h) : returns an halfedge descriptor to next halfedge in clockwise order around the target vertex.\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Complexity guarantees]\begin{itemize}
+\item next\_\-in\_\-facet(hds,h) : Amortized constant time\item next\_\-at\_\-source(hds,h) : Amortized constant time\item next\_\-at\_\-target(hds,h) : Amortized constant time\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Invariants ]\begin{itemize}
+\item next\_\-in\_\-facet(hds,h) == next\_\-at\_\-source(opposite(hds,h)) == opposite(next\_\-at\_\-target(hds,h))\item next\_\-at\_\-source(hds,h) == next\_\-in\_\-facet(opposite(hds,h)) == opposite(next\_\-at\_\-target(opposite(hds,h)))\item next\_\-at\_\-target(hds,h) == opposite(next\_\-in\_\-facet(hds,h)) == opposite(next\_\-at\_\-source(opposite(hds,h)))\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Concept-checking class]
+
+\begin{Code}\begin{verbatim} template <class HDS>
+ struct ForwardHDSConcept {
+ typedef typename hds_traits<HDS>::halfedge_descriptor halfedge_descriptor;
+ typedef typename hds_traits<HDS>::traversal_category traversal_category;
+ typedef typename hds_traits<HDS>::forward_category forward_category;
+ void constraints() {
+ using namespace boost;
+ function_requires<HDSConcept<HDS> >();
+ function_requires<ConvertibleConcept<traversal_category
+ ,forward_traversal_tag> >();
+ const bool is_valid_storage_tag =
+ is_convertible<forward_category,next_at_source_tag>::value ||
+ is_convertible<forward_category,next_at_target_tag>::value ||
+ is_convertible<forward_category,next_in_facet_tag>::value;
+ BOOST_STATIC_ASSERT( is_valid_storage_tag );
+ // Error message could be improved
+ h = next_in_facet(hds,h);
+ h = next_at_source(hds,h);
+ h = next_at_target(hds,h);
+ const_constraints(hds);
+ }
+ void const_constraints(HDS const& hds){
+ h = next_in_facet(hds,h);
+ h = next_at_source(hds,h);
+ h = next_at_target(hds,h);
+ }
+ ForwardHDS hds;
+ halfedge_descriptor h;
+ halfedge_descriptor g;
+ };
+\end{verbatim}\end{Code}
+
+ \end{Desc}

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/hds__concept_8hpp.tex
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/hds__concept_8hpp.tex (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/hds__concept_8hpp.tex 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -1,17 +1,60 @@
 \section{/home/huseyin/Documents/polytechnic/Projects/GSo\-C07/geometry/libs/hdstl/dev/hds\_\-concepts/hds\_\-concept.hpp File Reference}
 \label{hds__concept_8hpp}\index{/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/hds_concept.hpp@{/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds\_\-concepts/hds\_\-concept.hpp}}
-\subsection*{Namespaces}
-\begin{CompactItemize}
-\item
-namespace \textbf{hdstl}
-\item
-namespace \textbf{hdstl::concepts}
-\end{CompactItemize}
-\subsection*{Classes}
-\begin{CompactItemize}
-\item
-class \bf{hdstl::concepts::HDSConcept$<$ HDS $>$}
-\begin{CompactList}\small\item\em HDS concept definition. \item\end{CompactList}\end{CompactItemize}
+HDS concept definition.
+
 
 
 \subsection{Detailed Description}
+HDS concept definition.
+
+\begin{Desc}
+\item[Definition]This concept is the basic HDS concept, which all the other HDS concepts refine. It contains a few requirements which are common to all the graph concepts. One should note that a model of HDS is not required to be a model of Assignable, so algorithms should pass HDS objects by reference.\end{Desc}
+\begin{Desc}
+\item[Refinement of:]This concept is not a refinement of another concept, in particular a model HDS of HDSConcept does {\em not\/} need to be Default\-Constructible, Copy\-Constructible, or Assignable.\end{Desc}
+\begin{Desc}
+\item[Notation]\begin{itemize}
+\item HDS A type that is a model of HDSConcept\item hds A non-modifiable instance of HDS\item h,g Halfedge descriptors, of type X::halfedge\_\-descriptor\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Associated types]\begin{itemize}
+\item hds\_\-traits$<$HDS$>$::halfedge\_\-descriptor: must be Default\-Constructible and Copy\-Constructible, Equality\-Comparable, Assignable.\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Definitions]{\em halfedge\/} {\em descriptor\/} is a type that contains information to access the halfedge. Note that the halfedge descriptor type (accessible as a member of the hds\_\-traits$<$HDS$>$ type) is an opaque type. All that can be done to it is passing it to the function opposite and letting the hds use the information it contains to find the opposite halfedge. In particular, there is no guarantee that it is a pointer type.\end{Desc}
+\begin{Desc}
+\item[Valid Expressions]\begin{itemize}
+\item opposite(hds, h): Must return a value assignable to h.\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Expression Semantics]\begin{itemize}
+\item opposite(hds, h): Returns a descriptor to the halfedge opposite h in the data structure hds. Does not modify the state of either hds, or h.\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Complexity guarantees]\begin{itemize}
+\item opposite(hds, h): Amortized constant time.\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Invariants]\begin{itemize}
+\item Every valid halfedge descriptor h must have a valid opposite g = opposite(hds, h), {\em distinct\/} from h, such that opposite(hds, g) returns h. (Hence, opposite is an involution.)\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Concept-checking class]
+
+\begin{Code}\begin{verbatim} template <class HDS>
+ struct HDSConcept {
+ typedef typename hds_traits<HDS>::halfedge_descriptor halfedge_descriptor;
+ void constraints() {
+ using namespace boost;
+ function_requires<DefaultConstructibleConcept<halfedge_descriptor> >();
+ function_requires<CopyConstructibleConcept<halfedge_descriptor> >();
+ function_requires<EqualityComparableConcept<halfedge_descriptor> >();
+ function_requires<AssignableConcept<halfedge_descriptor> >();
+ h = opposite(hds,h);
+ const_constraints(hds);
+ }
+ void const_constraints(HDS const& hds) {
+ h = opposite(hds,h);
+ }
+\end{verbatim}\end{Code}
+
+ \end{Desc}

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/refman.tex
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/refman.tex (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/refman.tex 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -19,7 +19,7 @@
 \vspace*{1cm}
 {\large Generated by Doxygen 1.4.7}\\
 \vspace*{0.5cm}
-{\small Sat Jun 9 00:12:42 2007}\\
+{\small Sun Jun 10 00:14:10 2007}\\
 \end{center}
 \end{titlepage}
 \clearemptydoublepage
@@ -35,8 +35,6 @@
 \input{structhdstl_1_1concepts_1_1BackwardHDSConcept}
 \include{structhdstl_1_1concepts_1_1BidirectionalHDSConcept}
 \include{structhdstl_1_1concepts_1_1FacetHDSConcept}
-\include{structhdstl_1_1concepts_1_1ForwardHDSConcept}
-\include{structhdstl_1_1concepts_1_1HDSConcept}
 \include{structhdstl_1_1concepts_1_1MutableHDSConcept}
 \include{classVectorHDSConcept}
 \chapter{File Documentation}

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/structhdstl_1_1concepts_1_1BackwardHDSConcept.tex
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/structhdstl_1_1concepts_1_1BackwardHDSConcept.tex (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/structhdstl_1_1concepts_1_1BackwardHDSConcept.tex 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -40,7 +40,7 @@
 \end{Desc}
 \begin{Desc}
 \item[Invariants ]\begin{itemize}
-\item This concept should validate \doxyref{HDSConcept}{p.}{structhdstl_1_1concepts_1_1HDSConcept} also.\item backward\_\-category has to be convertible to one of: prev\_\-in\_\-facet, prev\_\-at\_\-source, or prev\_\-at\_\-target.\item traversal\_\-category has to be convertible to backward\_\-traversal\_\-tag\item g = prev\_\-in\_\-facet(hds,h), if defined, g should be a valid type\item g = prev\_\-at\_\-source(hds,h), if defined, g should be a valid type\item g = prev\_\-at\_\-target(hds,h), if defined, g should be a valid type \end{itemize}
+\item This concept should validate HDSConcept also.\item backward\_\-category has to be convertible to one of: prev\_\-in\_\-facet, prev\_\-at\_\-source, or prev\_\-at\_\-target.\item traversal\_\-category has to be convertible to backward\_\-traversal\_\-tag\item g = prev\_\-in\_\-facet(hds,h), if defined, g should be a valid type\item g = prev\_\-at\_\-source(hds,h), if defined, g should be a valid type\item g = prev\_\-at\_\-target(hds,h), if defined, g should be a valid type \end{itemize}
 \end{Desc}
 
 

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/structhdstl_1_1concepts_1_1MutableHDSConcept.tex
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/structhdstl_1_1concepts_1_1MutableHDSConcept.tex (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/structhdstl_1_1concepts_1_1MutableHDSConcept.tex 2007-06-10 00:16:24 EDT (Sun, 10 Jun 2007)
@@ -34,7 +34,7 @@
 Mutable HDS concept definition.
 
 \begin{Desc}
-\item[Definition]This class provides a concept checking for the Mutable \doxyref{HDSConcept}{p.}{structhdstl_1_1concepts_1_1HDSConcept}, i.e., using the statement boost::function\_\-requires$<$HDSConcept$<$HDS$>$ $>$() inside a function body, or BOOST\_\-CLASS\_\-REQUIRE(HDS, boost::hdstl, HDSConcept) inside a class definition body, should trigger a compile-time error if the type HDS does not model the \doxyref{Mutable\-HDSConcept}{p.}{structhdstl_1_1concepts_1_1MutableHDSConcept}.\end{Desc}
+\item[Definition]This class provides a concept checking for the Mutable HDSConcept, i.e., using the statement boost::function\_\-requires$<$HDSConcept$<$HDS$>$ $>$() inside a function body, or BOOST\_\-CLASS\_\-REQUIRE(HDS, boost::hdstl, HDSConcept) inside a class definition body, should trigger a compile-time error if the type HDS does not model the \doxyref{Mutable\-HDSConcept}{p.}{structhdstl_1_1concepts_1_1MutableHDSConcept}.\end{Desc}
 \begin{Desc}
 \item[Refinement of]\end{Desc}
 \begin{Desc}
@@ -43,7 +43,7 @@
 \end{Desc}
 \begin{Desc}
 \item[Notation]\begin{itemize}
-\item X A type that is a model of \doxyref{HDSConcept}{p.}{structhdstl_1_1concepts_1_1HDSConcept}\item h, h1, h2 halfedge descriptors\end{itemize}
+\item X A type that is a model of HDSConcept\item h, h1, h2 halfedge descriptors\end{itemize}
 \end{Desc}
 \begin{Desc}
 \item[Definitions]{\em halfedge\/} {\em descriptor\/} is a pointer to access the halfedge\end{Desc}


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