Boost logo

Boost-Commit :

From: huseyinakcan_at_[hidden]
Date: 2007-06-11 02:33:47


Author: huseyinakcan
Date: 2007-06-11 02:33:43 EDT (Mon, 11 Jun 2007)
New Revision: 4523
URL: http://svn.boost.org/trac/boost/changeset/4523

Log:
file level doc for:
  backward_hds_concept
  bidirectional_hds_concept
  mutable_hds_concept
  facet_hds_concept
  vertex_hds_concept

Added:
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/mutable__hds__concept_8hpp.html
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/vertex__hds__concept_8hpp.html
   sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/mutable__hds__concept_8hpp.tex
   sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/vertex__hds__concept_8hpp.tex
Text files modified:
   sandbox/SOC/2007/geometry/libs/hdstl/dev/hds_concepts/backward_hds_concept.hpp | 173 +++++++++++++++++++++++++++------------
   sandbox/SOC/2007/geometry/libs/hdstl/dev/hds_concepts/bidirectional_hds_concept.hpp | 125 ++++++++++++++++++++++------
   sandbox/SOC/2007/geometry/libs/hdstl/dev/hds_concepts/facet_hds_concept.hpp | 140 ++++++++++++++++++++++++--------
   sandbox/SOC/2007/geometry/libs/hdstl/dev/hds_concepts/forward_hds_concept.hpp | 4
   sandbox/SOC/2007/geometry/libs/hdstl/dev/hds_concepts/hds_concept.hpp | 1
   sandbox/SOC/2007/geometry/libs/hdstl/dev/hds_concepts/mutable_hds_concept.hpp | 165 +++++++++++++++++++++++++------------
   sandbox/SOC/2007/geometry/libs/hdstl/dev/hds_concepts/vertex_hds_concept.hpp | 140 ++++++++++++++++++++++++--------
   sandbox/SOC/2007/geometry/libs/hdstl/doc/hdstl.conf | 2
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/annotated.html | 7 -
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/backward__hds__concept_8hpp-source.html | 89 ++++++++++---------
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/backward__hds__concept_8hpp.html | 76 ++++++++++++++---
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/bidirectional__hds__concept_8hpp-source.html | 37 ++++++--
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/bidirectional__hds__concept_8hpp.html | 57 ++++++++++---
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/classVectorHDSConcept.html | 5
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/facet__hds__concept_8hpp-source.html | 44 ++++++++--
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/facet__hds__concept_8hpp.html | 53 +++++++++---
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/files.html | 19 ++--
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/forward__hds__concept_8hpp-source.html | 11 +-
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/forward__hds__concept_8hpp.html | 7
   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 | 73 ++++++++--------
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/hds__concept_8hpp.html | 8
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/hds__concepts_8hpp-source.html | 11 +-
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/hds__concepts_8hpp.html | 11 +-
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/index.html | 3
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/mutable__hds__concept_8hpp-source.html | 69 ++++++++-------
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/structhdstl_1_1concepts_1_1FacetHDSConcept.html | 5
   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 | 4
   sandbox/SOC/2007/geometry/libs/hdstl/doc/html/vertex__hds__concept_8hpp-source.html | 44 ++++++++--
   sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/annotated.tex | 4
   sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/backward__hds__concept_8hpp.tex | 90 +++++++++++++++++---
   sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/bidirectional__hds__concept_8hpp.tex | 71 +++++++++++++---
   sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/classVectorHDSConcept.tex | 2
   sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/doxygen.sty | 4
   sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/facet__hds__concept_8hpp.tex | 67 ++++++++++++---
   sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/files.tex | 16 +-
   sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/forward__hds__concept_8hpp.tex | 4
   sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/hds__concept_8hpp.tex | 5
   sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/hds__concepts_8hpp.tex | 4
   sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/refman.tex | 16 +--
   sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/structhdstl_1_1concepts_1_1FacetHDSConcept.tex | 2
   sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/structhdstl_1_1concepts_1_1MutableHDSConcept.tex | 2
   44 files changed, 1159 insertions(+), 517 deletions(-)

Modified: sandbox/SOC/2007/geometry/libs/hdstl/dev/hds_concepts/backward_hds_concept.hpp
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/dev/hds_concepts/backward_hds_concept.hpp (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/dev/hds_concepts/backward_hds_concept.hpp 2007-06-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -1,63 +1,122 @@
+/**
+ * @file backward_hds_concept.hpp
+ *
+ * @brief Backward HDS concept definition.
+ *
+ * @par Definition
+ * This concept refines the HDSConcept, and specifies additional backward
+ * category to iterate over the HDS data structure, which means clockwise
+ * movement around the facet and counter clockwise movement around the
+ * vertex. Possible backward categories are prev_in_facet,
+ * prev_at_source, and prev_at_target. Once one of these categories
+ * are given all others can be accessed with the help of the opposite of a
+ * halfedge.
+ *
+ * @par Refinement of
+ * - HDSConcept
+ *
+ * @par Notation
+ * - HDS A type that is a model of BackwardHDSConcept
+ * - hds A non-modifiable instance of HDS
+ * - h,g Halfedge descriptors, of type X::halfedge_descriptor
+ *
+ * @par Associated types
+ * - hds_traits<HDS>::halfedge_descriptor: must be DefaultConstructible and
+ * CopyConstructible, EqualityComparable, Assignable.
+ * - hds_traits<HDS>::traversal_category: must be convertible to
+ * hds_traits<HDS>::backward_traversal_tag.
+ * - hds_traits<HDS>::backward_category: Defines the pointer type for
+ * backward iteration.
+ *
+ * @par Definitions
+ * - @e halfedge @e descriptor is a type that contains information to access
+ * the halfedge.
+ * - @e traversal @e category is a type that contains information about the
+ * direction of the traversal, which is forward, backward or bidirectional.
+ * For backward hds concept, it has to be convertible to
+ * hds_traits<HDS>::backward_traversal_tag.
+ * - @e backward @e category defines the type of the backward iteration.
+ *
+ * @par Valid Expressions
+ * - prev_in_facet(hds,h) : Must return a value assignable to h.
+ * - prev_at_source(hds,h) : Must return a value assignable to h.
+ * - prev_at_target(hds,h) : Must return a value assignable to h.
+ *
+ * @par Expression Semantics
+ * - prev_in_facet(hds,h) : returns an halfedge descriptor to next halfedge
+ * in clockwise order around the facet.
+ * - prev_at_source(hds,h) : returns an halfedge descriptor to next halfedge
+ * in counter clockwise order around the source vertex.
+ * - prev_at_target(hds,h) : returns an halfedge descriptor to next halfedge
+ * in counter clockwise order around the target vertex.
+ *
+ * @par Complexity guarantees
+ * - prev_in_facet(hds,h) : Amortized constant time
+ * - prev_at_source(hds,h) : Amortized constant time
+ * - prev_at_target(hds,h) : Amortized constant time
+ *
+ * @par Invariants
+ * - prev_in_facet(hds,h) == prev_at_target(opposite(hds,h))
+ * == opposite(prev_at_source(hds,h))
+ * - prev_at_source(hds,h) == opposite(prev_in_facet(hds,h))
+ * == opposite(prev_at_target(opposite(hds,h)))
+ * - prev_at_target(hds,h) == prev_in_facet(opposite(hds,h))
+ * == opposite(prev_at_source(opposite(hds,h)))
+ *
+ * @par Concept-checking class
+ * \code
+ * template <class HDS>
+ * struct BackwardHDSConcept {
+ * typedef typename hds_traits<HDS>::halfedge_descriptor halfedge_descriptor;
+ * typedef typename hds_traits<HDS>::traversal_category traversal_category;
+ * typedef typename hds_traits<HDS>::backward_category backward_category;
+ * void constraints() {
+ * using namespace boost;
+ * function_requires<HDSConcept<HDS> >();
+ * function_requires<ConvertibleConcept<traversal_category,
+ * backward_traversal_tag> >();
+ * const bool is_valid_storage_tag =
+ * is_convertible<backward_category,prev_at_source_tag>::value ||
+ * is_convertible<backward_category,prev_at_target_tag>::value ||
+ * is_convertible<backward_category,prev_in_facet_tag>::value;
+ * BOOST_STATIC_ASSERT( is_valid_storage_tag );
+ * // Error message could be improved
+ * h = prev_in_facet(hds,h);
+ * h = prev_at_source(hds,h);
+ * h = prev_at_target(hds,h);
+ * const_constraints(hds);
+ * }
+ * void const_constraints(HDS const& hds){
+ * h = prev_in_facet(hds,h);
+ * h = prev_at_source(hds,h);
+ * h = prev_at_target(hds,h);
+ * }
+ * BackwardHDS hds;
+ * halfedge_descriptor h;
+ * halfedge_descriptor g;
+ * };
+ * \endcode
+ */
+
+#ifdef BOOST_HDSTL_CONCEPTS_BACKWARDHDSCONCEPT_HPP
+#define BOOST_HDSTL_CONCEPTS_BACKWARDHDSCONCEPT_HPP 1
+
 namespace hdstl{
 namespace concepts{
    /**
- * @file backward_hds_concept.hpp
- *
     * @class BackwardHDSConcept
- *
- * @brief Backward HDS concept definition.
+ *
+ * @brief Backward HDS concept checking class.
     *
     * @par Definition
- * This class provides a concept checking for the BackwardHDSConcept, i.e.,
- * using the statement boost::function_requires<BackwardHDSConcept<HDS> >()
- * inside a function body, or BOOST_CLASS_REQUIRE(HDS, boost::hdstl,
+ * This class provides a concept checking class for the BackwardHDSConcept,
+ * i.e., using the statement boost::function_requires<BackwardHDSConcept<HDS>
+ * >() inside a function body, or BOOST_CLASS_REQUIRE(HDS, boost::hdstl,
     * BackwardHDSConcept) inside a class definition body, should trigger a
     * compile-time error if the type HDS does not model the BackwardHDSConcept.
- *
- * @par Refinement of
- * @par HDSConcept
- *
- * @par Associated types
- * - X::halfedge_descriptor: must be DefaultConstructible,
- * EqualityComparable, Assignable.
- * - X::traversal_category: must exist as a type, convertible to
- * backward_traversal_tag.
- * - X::backward_category: Defines the pointer type for backward iteration.
- *
- * @par Notation
- * - X A type that is a model of BackwardHDSConcept
- * - h,g halfedge descriptors
- *
- * @par Definitions
- * @e halfedge @e descriptor is a pointer to access the halfedge
- *
- * @par Valid Expressions
- * - prev_in_facet(hds,h) : Must return pointer to prev halfedge in
- * backward direction around the facet.
- * - prev_at_source(hds,h) : Must return pointer to prev halfedge in
- * backward direction around the source.
- * - prev_at_target(hds,h) : Must return pointer to prev halfedge in
- * backward direction around the target.
- *
- * @par Expression Semantics
- *
- * @par Complexity guarantees
- * - prev_in_facet(hds,h) : Amortized constant time.
- * - prev_at_source(hds,h) : Amortized constant time.
- * - prev_at_target(hds,h) : Amortized constant time.
- *
- * @par Invariants
- * - This concept should validate HDSConcept also.
- * - backward_category has to be convertible to one of: prev_in_facet,
- * prev_at_source, or prev_at_target.
- * - traversal_category has to be convertible to backward_traversal_tag
- * - g = prev_in_facet(hds,h), if defined, g should be a valid type
- * - g = prev_at_source(hds,h), if defined, g should be a valid type
- * - g = prev_at_target(hds,h), if defined, g should be a valid type
     */
    template <class HDS>
    struct BackwardHDSConcept {
- /// \cond
       //@{
       /** @name Required types:
        * The specialization of hds_traits<HDS> must have
@@ -75,12 +134,12 @@
          using namespace boost;
 
          function_requires<HDSConcept<HDS> >();
- function_requires<ConvertibleConcept<traversal_category
- ,backwardS> >();
+ function_requires<ConvertibleConcept<traversal_category,
+ backward_traversal_tag> >();
          const bool is_valid_storage_tag =
- is_convertible<backward_category,prev_at_sourceS>::value ||
- is_convertible<backward_category,prev_at_targetS>::value ||
- is_convertible<backward_category,prev_in_facetS>::value;
+ is_convertible<backward_category,prev_at_source_tag>::value ||
+ is_convertible<backward_category,prev_at_target_tag>::value ||
+ is_convertible<backward_category,prev_in_facet_tag>::value;
          BOOST_STATIC_ASSERT( is_valid_storage_tag );
          // Error message could be improved
 
@@ -101,6 +160,8 @@
       BackwardHDS hds;
       halfedge_descriptor h;
       halfedge_descriptor g;
- /// \endcond
    };
-}} //namespaces
+} // close namespace concepts
+} // close namespace hdstl
+
+#endif

Modified: sandbox/SOC/2007/geometry/libs/hdstl/dev/hds_concepts/bidirectional_hds_concept.hpp
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/dev/hds_concepts/bidirectional_hds_concept.hpp (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/dev/hds_concepts/bidirectional_hds_concept.hpp 2007-06-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -1,42 +1,115 @@
+/**
+ * @file bidirectional_hds_concept.hpp
+ *
+ * @brief Bidirectional HDS concept definition.
+ *
+ * @par Definition
+ * This concept refines the ForwardHDSConcept and BackwardHDSConcept, and
+ * specifies additional bidirectional traversal category. Bidirectional
+ * category requires both the forward_category and the backward_category
+ * defined to iterate over the HDS data structure, which means both clockwise &
+ * counter clockwise movement around the facet and vertex. From these two
+ * categories all others can be accessed with the help of the opposite of a
+ * halfedge.
+ *
+ * @par Refinement of
+ * - ForwardHDSConcept
+ * - BackwardHDSConcept
+ *
+ * @par Notation
+ * - HDS A type that is a model of BidirectionalHDSConcept
+ * - hds A non-modifiable instance of HDS
+ * - h,g Halfedge descriptors, of type X::halfedge_descriptor
+ *
+ * @par Associated types
+ * - hds_traits<HDS>::halfedge_descriptor: must be DefaultConstructible and
+ * CopyConstructible, EqualityComparable, Assignable.
+ * - hds_traits<HDS>::traversal_category: must be convertible to
+ * hds_traits<HDS>::bidirectional_traversal_tag.
+ *
+ * @par Definitions
+ * - @e halfedge @e descriptor is a type that contains information to access
+ * the halfedge.
+ * - @e traversal @e category is a type that contains information about the
+ * direction of the traversal, which is forward, backward or bidirectional.
+ * For bidirectional hds concept, it has to be convertible to
+ * hds_traits<HDS>::bidirectional_traversal_tag.
+ *
+ * @par Valid Expressions
+ * - see ForwardHDSConcept and BackwardHDSConcept.
+ *
+ * @par Expression Semantics
+ * - see ForwardHDSConcept and BackwardHDSConcept.
+ *
+ * @par Complexity guarantees
+ * - see ForwardHDSConcept and BackwardHDSConcept.
+ *
+ * @par Invariants
+ * The invariants for ForwardHDSConcept, and BackwardHDSConcept should hold
+ * for BidirectionalHDSConcept also.
+ *
+ * @par Concept-checking class
+ * \code
+ * template <class HDS>
+ * struct BidirectionalHDSConcept {
+ * typedef typename hds_traits<HDS>::halfedge_descriptor halfedge_descriptor;
+ * typedef typename hds_traits<HDS>::traversal_category traversal_category;
+ * void constraints() {
+ * using namespace boost;
+ * function_requires<ForwardHDSConcept<HDS> >();
+ * function_requires<BackwardHDSConcept<HDS> >();
+ * function_requires<ConvertibleConcept<traversal_category,
+ * bidirectional_traversal_tag> >();
+ * }
+ * BidirectionalHDS hds;
+ * };
+ * \endcode
+ */
+
+#ifdef BOOST_HDSTL_CONCEPTS_BIDIRECTIONALHDSCONCEPT_HPP
+#define BOOST_HDSTL_CONCEPTS_BIDIRECTIONALHDSCONCEPT_HPP 1
+
 namespace hdstl{
 namespace concepts{
    /**
- * @file bidirectional_hds_concept.hpp
- *
     * @class BidirectionalHDSConcept
     *
- * @brief Bidirectional HDS concept definition.
+ * @brief Bidirectional HDS concept checking class.
     *
     * @par Definition
- * This class provides a concept checking for the BidirectionalHDSConcept,
- * i.e., using the statement
+ * This class provides a concept checking class for the
+ * BidirectionalHDSConcept, i.e., using the statement
     * boost::function_requires<BidirectionalHDSConcept<HDS> >() inside a
     * function body, or BOOST_CLASS_REQUIRE(HDS, boost::hdstl,
     * BidirectionalHDSConcept) inside a class definition body, should trigger a
     * compile-time error if the type HDS does not model the
     * BidirectionalHDSConcept.
- *
- * @par Refinement of
- * @par ForwardHDSConcept, @par BackwardHDSConcept
- *
- * @par Associated types
- *
- * @par Notation
- * - X A type that is a model of BidirectionalHDSConcept
- * - h,g halfedge descriptors
- *
- * @par Definitions
- * @e halfedge @e descriptor is a pointer to access the halfedge
- *
- * @par Valid Expressions
- *
- * @par Expression Semantics
- *
- * @par Complexity guarantees
- *
- * @par Invariants
     */
    template <class HDS>
    struct BidirectionalHDSConcept {
+ //@{
+ /** @name Required types:
+ * The specialization of hds_traits<HDS> must have
+ * the required types below
+ */
+ typedef typename hds_traits<HDS>::halfedge_descriptor halfedge_descriptor;
+ typedef typename hds_traits<HDS>::traversal_category traversal_category;
+ //@}
+
+ /**
+ * @name Defined constraints:
+ */
+ void constraints() {
+ using namespace boost;
+
+ function_requires<ForwardHDSConcept<HDS> >();
+ function_requires<BackwardHDSConcept<HDS> >();
+ function_requires<ConvertibleConcept<traversal_category,
+ bidirectional_traversal_tag> >();
+ }
+ BidirectionalHDS hds;
    };
-}} //namespaces
+} // close namespace concepts
+} // close namespace hdstl
+
+#endif

Modified: sandbox/SOC/2007/geometry/libs/hdstl/dev/hds_concepts/facet_hds_concept.hpp
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/dev/hds_concepts/facet_hds_concept.hpp (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/dev/hds_concepts/facet_hds_concept.hpp 2007-06-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -1,45 +1,115 @@
+/**
+ * @file facet_hds_concept.hpp
+ *
+ * @brief Facet HDS concept definition.
+ *
+ * @par Definition
+ * This concept refines the HDSConcept, and specifies additional facet
+ * descriptor to attach facets to the HDS.
+ *
+ * @par Refinement of:
+ * - HDSConcept
+ *
+ * @par Notation
+ * - HDS A type that is a model of FacetHDSConcept
+ * - hds A non-modifiable instance of HDS
+ * - f Facet descriptor, of type X::facet_descriptor
+ *
+ * @par Associated types
+ * - hds_traits<HDS>::facet_descriptor: must be DefaultConstructible and
+ * CopyConstructible, EqualityComparable, Assignable.
+ *
+ * @par Definitions
+ * @e facet @e descriptor is a type that contains information to access
+ * the facets attached to the halfedge data structure.
+ *
+ * @par Valid Expressions
+ * None.
+ *
+ * @par Expression Semantics
+ * None.
+ *
+ * @par Complexity guarantees
+ * None.
+ *
+ * @par Invariants
+ * None.
+ *
+ * @par Concept-checking class
+ * \code
+ * template <class HDS>
+ * struct FacetHDSConcept {
+ * typedef typename hds_traits<HDS>::facet_descriptor facet_descriptor;
+ * void constraints() {
+ * using namespace boost;
+ * function_requires<HDSConcept>();
+ * function_requires<DefaultConstructibleConcept<facet_descriptor> >();
+ * function_requires<CopyConstructibleConcept<facet_descriptor> >();
+ * function_requires<EqualityComparableConcept<facet_descriptor> >();
+ * function_requires<AssignableConcept<facet_descriptor> >();
+ * const_constraints(hds);
+ * }
+ * void const_constraints(HDS const& hds) {
+ * }
+ * HDS hds;
+ * facet_descriptor f;
+ * };
+ * \endcode
+ */
+
+#ifdef BOOST_HDSTL_CONCEPTS_FACETHDSCONCEPT_HPP
+#define BOOST_HDSTL_CONCEPTS_FACETHDSCONCEPT_HPP 1
+
 namespace hdstl{
-namespace concepts{
+namespace concepts {
+
    /**
- * @file facet_hds_concept.hpp
- *
     * @class FacetHDSConcept
     *
- * @brief Facet HDS concept definition.
- *
+ * @brief Facet HDS concept checking class
+ *
     * @par Definition
- * This class provides a concept checking for the FacetHDSConcept,
- * i.e., using the statement
- * boost::function_requires<FacetHDSConcept<HDS> >() inside a
- * function body, or BOOST_CLASS_REQUIRE(HDS, boost::hdstl,
+ * This class provides a concept checking class for the FacetHDSConcept,
+ * i.e., using the statement boost::function_requires<FacetHDSConcept<HDS>
+ * >() inside a function body, or BOOST_CLASS_REQUIRE(HDS, boost::hdstl,
     * FacetHDSConcept) inside a class definition body, should trigger a
- * compile-time error if the type HDS does not model the
- * FacetHDSConcept.
- *
- * @par Refinement of
- * @par HDSConcept
- *
- * @par Associated types
- * - X::facet_descriptor : Must be DefaultConstructible,
- * CopyConstuctible, EqualityComparable, Assignable
- *
- * @par Notation
- * - X A type that is a model of FacetHDSConcept
- * - h halfedge descriptors
- * - f facet descriptor
- *
- * @par Definitions
- * @e halfedge @e descriptor is a pointer to access the halfedge
- *
- * @par Valid Expressions
- *
- * @par Expression Semantics
- *
- * @par Complexity guarantees
- *
- * @par Invariants
+ * compile-time error if the type HDS does not model the FacetHDSConcept.
     */
    template <class HDS>
    struct FacetHDSConcept {
+ //@{
+ /** @name Required types:
+ * The specialization of hds_traits<HDS> must have the required types
+ * below, obeying the types requirements stated in the detailed
+ * description.
+ */
+ typedef typename hds_traits<HDS>::facet_descriptor facet_descriptor;
+ //@}
+
+ /**
+ * @name Defined constraints:
+ */
+ void constraints() {
+ using namespace boost;
+ function_requires<HDSConcept>();
+ function_requires<DefaultConstructibleConcept<facet_descriptor> >();
+ function_requires<CopyConstructibleConcept<facet_descriptor> >();
+ function_requires<EqualityComparableConcept<facet_descriptor> >();
+ function_requires<AssignableConcept<facet_descriptor> >();
+
+ const_constraints(hds);
+ }
+
+ /**
+ * Defined const constraints:
+ */
+ void const_constraints(HDS const& hds) {
+ }
+ HDS hds;
+ facet_descriptor f;
    };
-}} //namespaces
+
+} // close namespace concepts
+} // close namespace hdstl
+
+#endif

Modified: sandbox/SOC/2007/geometry/libs/hdstl/dev/hds_concepts/forward_hds_concept.hpp
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/dev/hds_concepts/forward_hds_concept.hpp (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/dev/hds_concepts/forward_hds_concept.hpp 2007-06-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -134,8 +134,8 @@
          using namespace boost;
 
          function_requires<HDSConcept<HDS> >();
- function_requires<ConvertibleConcept<traversal_category
- ,forwardS> >();
+ 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 ||

Modified: sandbox/SOC/2007/geometry/libs/hdstl/dev/hds_concepts/hds_concept.hpp
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/dev/hds_concepts/hds_concept.hpp (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/dev/hds_concepts/hds_concept.hpp 2007-06-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -65,6 +65,7 @@
  * void const_constraints(HDS const& hds) {
  * h = opposite(hds,h);
  * }
+ * };
  * \endcode
  */
 

Modified: sandbox/SOC/2007/geometry/libs/hdstl/dev/hds_concepts/mutable_hds_concept.hpp
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/dev/hds_concepts/mutable_hds_concept.hpp (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/dev/hds_concepts/mutable_hds_concept.hpp 2007-06-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -1,59 +1,116 @@
+/**
+ * @file mutable_hds_concept.hpp
+ *
+ * @brief Mutable HDS concept definition.
+ *
+ * @par Definition
+ * This concept is the basic Mutable HDS concept, which all the other Mutable
+ * HDS concepts refine. It contains a few requirements which are common to all
+ * the graph concepts. One should note that a model of Mutable HDS is not
+ * required to be a model of Assignable, so algorithms should pass Mutable HDS
+ * objects by reference.
+ *
+ * @par Refinement of:
+ * - HDSConcept
+ *
+ * @par Notation
+ * - HDS A type that is a model of MutableHDSConcept
+ * - hds A non-modifiable instance of HDS
+ * - h1,h2 Halfedge descriptors, of type X::halfedge_descriptor
+ *
+ * @par Associated types
+ * - hds_traits<HDS>::halfedge_descriptor: must be DefaultConstructible and
+ * CopyConstructible, EqualityComparable, Assignable.
+ *
+ * @par Definitions
+ * @e halfedge @e 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.
+ *
+ * @par Valid Expressions
+ * - set_opposite(hds,h1,h2): Sets the opposite halfedge.
+ * - h = new_edge(hds,h1,h2) : Creates a new edge, with two halfedges.
+ * - delete_edge(hds,h1,h2) : Deletes the edge defined by halfedge pairs h1
+ * and h2.
+ *
+ * @par Expression Semantics
+ * - set_opposite(hds,h1,h2): Sets h1 and h2 as opposites of each other in
+ * the data structure hds.
+ * - h = new_edge(hds,h1,h2): Creates a new edge in data structure hds. Since
+ * halfedges are actually pairs, the new edge consists of two halfedges,
+ * h1 and h2, which are set as opposites of each other.
+ * - delete_edge(hds,h1,h2): Since halfedges are defined as pairs, and a single
+ * halfedge is useless, they are deleted as pairs also. Delete edge removes
+ * the opposite halfedges h1, and h2 from the data structure hds. Note that
+ * only the halfedges that form a pair by validating the opposite function
+ * can be deleted by this method.
+ *
+ * @par Complexity guarantees
+ * - set_opposite(hds,h1,h2): Amortized constant time.
+ * - new_edge(hds,h1,h2): Amortized constant time.
+ * - delete_edge(hds,h1,h2): Amortized constant time.
+ *
+ * @par Invariants
+ * - After set_opposite and new_edge functions, h1=opposite(h2), and
+ * h2=opposite(h1) should be true.
+ * - Before the delete_edge method, h1=opposite(h2), and h2=opposite(h1)
+ * should be true.
+ *
+ * @par Concept-checking class
+ * \code
+ * template <class HDS>
+ * struct MutableHDSConcept {
+ * typedef typename hds_traits<HDS>::halfedge_descriptor halfedge_descriptor;
+ * void constraints() {
+ * using namespace boost;
+ * function_requires<HDSConcept<HDS> >();
+ * set_opposite(hds,h1,h2);
+ * h = new_edge(hds,h1,h2);
+ * delete_edge(hds,h1,h2);
+ * const_constraints(hds);
+ * }
+ * void const_constraints(HDS const& hds) {
+ * set_opposite(hds,h1,h2);
+ * h = new_edge(hds,h1,h2);
+ * delete_edge(hds,h1,h2);
+ * }
+ * HDS hds;
+ * halfedge_descriptor h1;
+ * halfedge_descriptor h2;
+ * };
+ * \endcode
+ */
+
+#ifdef BOOST_HDSTL_CONCEPTS_MUTABLEHDSCONCEPT_HPP
+#define BOOST_HDSTL_CONCEPTS_MUTABLEHDSCONCEPT_HPP 1
+
 namespace hdstl{
-namespace concepts{
+namespace concepts {
+
    /**
- * @brief Mutable HDS concept definition.
- *
- * @par 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 MutableHDSConcept.
- *
- * @par Refinement of
- * @HDSConcept
- *
- * @par Associated types
- * - X::halfedge_descriptor: must be DefaultConstructible,
- * EqualityComparable, Assignable.
- * - X::traversal_category: must exist as a type, no other requirement.
+ * @class MutableHDSConcept
     *
- * @par Notation
- * - X A type that is a model of HDSConcept
- * - h, h1, h2 halfedge descriptors
+ * @brief MutableHDS concept checking class
     *
- * @par Definitions
- * @e halfedge @e descriptor is a pointer to access the halfedge
- *
- * @par Valid Expressions
- * - set_opposite(hds,h1,h2): Sets the the opposite halfedge.
- * - h = new_edge(h1,h2) : Creates a new edge, with two halfedges. (Note
- * that halfedges are opposites of each other.)
- * - delete_edge(h) : Deletes the edge defined by @e h. (Deletes two
- * halfedges.)
- *
- * @par Expression Semantics
- *
- * @par Complexity guarantees
- * - opposite(hds, h): Amortized constant time.
- * - set_opposite(hds, h1, h2): Amortized constant time.
- * - h = new_edge(h1, h2): Amortized constant time.
- *
- * @par Invariants
- * - set_opposite(hds,h1,h2) : after setting should verify
- * h1 = opposite(hds,h2), and h2 = opposite(h1).
- * - h = new_edge(h1,h2) : should verify h1 = opposite(hds,h2), and
- * h2 = opposite(hds,h1).
+ * @par Definition
+ * This class provides a concept checking for the MutableHDSConcept, i.e.,
+ * using the statement boost::function_requires<MutableHDSConcept<HDS> >()
+ * inside a function body, or BOOST_CLASS_REQUIRE(HDS, boost::hdstl,
+ * MutableHDSConcept) inside a class definition body, should trigger a
+ * compile-time error if the type HDS does not model the MutableHDSConcept.
     */
    template <class HDS>
    struct MutableHDSConcept {
       //@{
       /** @name Required types:
- * The specialization of hds_traits<HDS> must have
- * the required types below
+ * The specialization of hds_traits<HDS> must have the required types
+ * below, obeying the types requirements stated in the detailed
+ * description.
        */
       typedef typename hds_traits<HDS>::halfedge_descriptor halfedge_descriptor;
- typedef typename hds_traits<HDS>::traversal_category traversal_category;
       //@}
 
       /**
@@ -64,8 +121,8 @@
          function_requires<HDSConcept<HDS> >();
 
          set_opposite(hds,h1,h2);
- h = new_edge(h1,h2);
- delete_edge(h);
+ h = new_edge(hds,h1,h2);
+ delete_edge(hds,h1,h2);
          const_constraints(hds);
       }
 
@@ -74,14 +131,14 @@
        */
       void const_constraints(HDS const& hds) {
          set_opposite(hds,h1,h2);
- h = new_edge(h1,h2);
- delete_edge(h);
+ h = new_edge(hds,h1,h2);
+ delete_edge(hds,h1,h2);
       }
- /// \cond
- MutableHDS hds;
- halfedge_descriptor h;
+ HDS hds;
       halfedge_descriptor h1;
       halfedge_descriptor h2;
- /// \endcond
    };
-}} //namespaces
+} // close namespace concepts
+} // close namespace hdstl
+
+#endif

Modified: sandbox/SOC/2007/geometry/libs/hdstl/dev/hds_concepts/vertex_hds_concept.hpp
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/dev/hds_concepts/vertex_hds_concept.hpp (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/dev/hds_concepts/vertex_hds_concept.hpp 2007-06-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -1,45 +1,115 @@
+/**
+ * @file vertex_hds_concept.hpp
+ *
+ * @brief Vertex HDS concept definition.
+ *
+ * @par Definition
+ * This concept refines the HDSConcept, and specifies additional vertex
+ * descriptor to attach vertices to the HDS.
+ *
+ * @par Refinement of:
+ * - HDSConcept
+ *
+ * @par Notation
+ * - HDS A type that is a model of VertexHDSConcept
+ * - hds A non-modifiable instance of HDS
+ * - v Vertex descriptor, of type X::vertex_descriptor
+ *
+ * @par Associated types
+ * - hds_traits<HDS>::vertex_descriptor: must be DefaultConstructible and
+ * CopyConstructible, EqualityComparable, Assignable.
+ *
+ * @par Definitions
+ * @e vertex @e descriptor is a type that contains information to access
+ * the vertices attached to the halfedge data structure.
+ *
+ * @par Valid Expressions
+ * None.
+ *
+ * @par Expression Semantics
+ * None.
+ *
+ * @par Complexity guarantees
+ * None.
+ *
+ * @par Invariants
+ * None.
+ *
+ * @par Concept-checking class
+ * \code
+ * template <class HDS>
+ * struct VertexHDSConcept {
+ * typedef typename hds_traits<HDS>::vertex_descriptor vertex_descriptor;
+ * void constraints() {
+ * using namespace boost;
+ * function_requires<HDSConcept>();
+ * function_requires<DefaultConstructibleConcept<vertex_descriptor> >();
+ * function_requires<CopyConstructibleConcept<vertex_descriptor> >();
+ * function_requires<EqualityComparableConcept<vertex_descriptor> >();
+ * function_requires<AssignableConcept<vertex_descriptor> >();
+ * const_constraints(hds);
+ * }
+ * void const_constraints(HDS const& hds) {
+ * }
+ * HDS hds;
+ * vertex_descriptor v;
+ * };
+ * \endcode
+ */
+
+#ifdef BOOST_HDSTL_CONCEPTS_VERTEXHDSCONCEPT_HPP
+#define BOOST_HDSTL_CONCEPTS_VERTEXHDSCONCEPT_HPP 1
+
 namespace hdstl{
-namespace concepts{
+namespace concepts {
+
    /**
- * @file vector_hds_concept.hpp
+ * @class VertexHDSConcept
     *
- * @class VectorHDSConcept
+ * @brief Vertex HDS concept checking class
     *
- * @brief Vertex HDS concept definition.
- *
     * @par Definition
- * This class provides a concept checking for the VertexHDSConcept,
- * i.e., using the statement
- * boost::function_requires<VertexHDSConcept<HDS> >() inside a
- * function body, or BOOST_CLASS_REQUIRE(HDS, boost::hdstl,
+ * This class provides a concept checking class for the VertexHDSConcept,
+ * i.e., using the statement boost::function_requires<VertexHDSConcept<HDS>
+ * >() inside a function body, or BOOST_CLASS_REQUIRE(HDS, boost::hdstl,
     * VertexHDSConcept) inside a class definition body, should trigger a
- * compile-time error if the type HDS does not model the
- * VertexHDSConcept.
- *
- * @par Refinement of
- * @par HDSConcept
- *
- * @par Associated types
- * - X::vertex_descriptor : Must be DefaultConstructible,
- * CopyConstuctible, EqualityComparable, Assignable
- *
- * @par Notation
- * - X A type that is a model of VertexHDSConcept
- * - h halfedge descriptors
- * - v vertex descriptor
- *
- * @par Definitions
- * @e halfedge @e descriptor is a pointer to access the halfedge
- *
- * @par Valid Expressions
- *
- * @par Expression Semantics
- *
- * @par Complexity guarantees
- *
- * @par Invariants
+ * compile-time error if the type HDS does not model the VertexHDSConcept.
     */
    template <class HDS>
    struct VertexHDSConcept {
+ //@{
+ /** @name Required types:
+ * The specialization of hds_traits<HDS> must have the required types
+ * below, obeying the types requirements stated in the detailed
+ * description.
+ */
+ typedef typename hds_traits<HDS>::vertex_descriptor vertex_descriptor;
+ //@}
+
+ /**
+ * @name Defined constraints:
+ */
+ void constraints() {
+ using namespace boost;
+ function_requires<HDSConcept>();
+ function_requires<DefaultConstructibleConcept<vertex_descriptor> >();
+ function_requires<CopyConstructibleConcept<vertex_descriptor> >();
+ function_requires<EqualityComparableConcept<vertex_descriptor> >();
+ function_requires<AssignableConcept<vertex_descriptor> >();
+
+ const_constraints(hds);
+ }
+
+ /**
+ * Defined const constraints:
+ */
+ void const_constraints(HDS const& hds) {
+ }
+ HDS hds;
+ vertex_descriptor v;
    };
-}} //namespaces
+
+} // close namespace concepts
+} // close namespace hdstl
+
+#endif

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/hdstl.conf
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/hdstl.conf (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/hdstl.conf 2007-06-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -106,7 +106,7 @@
 # path before files name in the file list and in the header files. If set
 # to NO the shortest path that makes the file name unique will be used.
 
-FULL_PATH_NAMES = YES
+FULL_PATH_NAMES = NO
 
 # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
 # can be used to strip a user-defined part of the path. Stripping is

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-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -14,16 +14,11 @@
 <div class="tabs">
   <ul>
     <li id="current">Class List</li>
- <li>Class Members</li>
   </ul></div>
 <h1>Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
- <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_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 Sun Jun 10 00:14:10 2007 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Mon Jun 11 02:21:45 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-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -1,6 +1,6 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/backward_hds_concept.hpp Source File</title>
+<title>backward_hds_concept.hpp Source File</title>
 <link href="doxygen.css" rel="stylesheet" type="text/css">
 <link href="tabs.css" rel="stylesheet" type="text/css">
 </head><body>
@@ -8,49 +8,54 @@
 <div class="tabs">
   <ul>
     <li>Main Page</li>
- <li>Classes</li>
     <li id="current">Files</li>
   </ul></div>
-<h1>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/backward_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="l00058"></a>00058 <span class="keyword">template</span> &lt;<span class="keyword">class</span> HDS&gt;
-<a name="l00059"></a><a class="code" href="structhdstl_1_1concepts_1_1BackwardHDSConcept.html">00059</a> <span class="keyword">struct </span><a class="code" href="structhdstl_1_1concepts_1_1BackwardHDSConcept.html">BackwardHDSConcept</a> {
-<a name="l00061"></a>00061
-<a name="l00062"></a>00062
-<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="l00067"></a>00067 <span class="keyword">typedef</span> <span class="keyword">typename</span> hds_traits&lt;HDS&gt;::traversal_category traversal_category;
-<a name="l00068"></a>00068 <span class="keyword">typedef</span> <span class="keyword">typename</span> hds_traits&lt;HDS&gt;::backward_category backward_category;
-<a name="l00070"></a>00070
-<a name="l00074"></a>00074 <span class="keywordtype">void</span> constraints() {
-<a name="l00075"></a>00075 <span class="keyword">using namespace </span>boost;
-<a name="l00076"></a>00076
-<a name="l00077"></a>00077 function_requires&lt;HDSConcept&lt;HDS&gt; &gt;();
-<a name="l00078"></a>00078 function_requires&lt;ConvertibleConcept&lt;traversal_category
-<a name="l00079"></a>00079 ,backwardS&gt; &gt;();
-<a name="l00080"></a>00080 <span class="keyword">const</span> <span class="keywordtype">bool</span> is_valid_storage_tag =
-<a name="l00081"></a>00081 is_convertible&lt;backward_category,prev_at_sourceS&gt;::value ||
-<a name="l00082"></a>00082 is_convertible&lt;backward_category,prev_at_targetS&gt;::value ||
-<a name="l00083"></a>00083 is_convertible&lt;backward_category,prev_in_facetS&gt;::value;
-<a name="l00084"></a>00084 BOOST_STATIC_ASSERT( is_valid_storage_tag );
-<a name="l00085"></a>00085 <span class="comment">// Error message could be improved</span>
-<a name="l00086"></a>00086
-<a name="l00087"></a>00087 h = prev_in_facet(hds,h);
-<a name="l00088"></a>00088 h = prev_at_source(hds,h);
-<a name="l00089"></a>00089 h = prev_at_target(hds,h);
-<a name="l00090"></a>00090 const_constraints(hds);
-<a name="l00091"></a>00091 }
-<a name="l00095"></a>00095 <span class="keywordtype">void</span> const_constraints(HDS <span class="keyword">const</span>&amp; hds){
-<a name="l00096"></a>00096 h = prev_in_facet(hds,h);
-<a name="l00097"></a>00097 h = prev_at_source(hds,h);
-<a name="l00098"></a>00098 h = prev_at_target(hds,h);
-<a name="l00099"></a>00099 }
-<a name="l00100"></a>00100
-<a name="l00101"></a>00101 BackwardHDS hds;
-<a name="l00102"></a>00102 halfedge_descriptor h;
-<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 Sun Jun 10 00:14:10 2007 by&nbsp;
+<h1>backward_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_BACKWARDHDSCONCEPT_HPP</span>
+<a name="l00102"></a>00102 <span class="preprocessor"></span><span class="preprocessor">#define BOOST_HDSTL_CONCEPTS_BACKWARDHDSCONCEPT_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>BackwardHDSConcept {
+<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;::backward_category backward_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 backward_traversal_tag&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;backward_category,prev_at_source_tag&gt;::value ||
+<a name="l00141"></a>00141 is_convertible&lt;backward_category,prev_at_target_tag&gt;::value ||
+<a name="l00142"></a>00142 is_convertible&lt;backward_category,prev_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 = prev_in_facet(hds,h);
+<a name="l00147"></a>00147 h = prev_at_source(hds,h);
+<a name="l00148"></a>00148 h = prev_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 = prev_in_facet(hds,h);
+<a name="l00156"></a>00156 h = prev_at_source(hds,h);
+<a name="l00157"></a>00157 h = prev_at_target(hds,h);
+<a name="l00158"></a>00158 }
+<a name="l00159"></a>00159
+<a name="l00160"></a>00160 BackwardHDS 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 Mon Jun 11 02:25:33 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-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -1,6 +1,6 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/backward_hds_concept.hpp File Reference</title>
+<title>backward_hds_concept.hpp File Reference</title>
 <link href="doxygen.css" rel="stylesheet" type="text/css">
 <link href="tabs.css" rel="stylesheet" type="text/css">
 </head><body>
@@ -8,25 +8,75 @@
 <div class="tabs">
   <ul>
     <li>Main Page</li>
- <li>Classes</li>
     <li id="current">Files</li>
   </ul></div>
-<h1>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/backward_hds_concept.hpp File Reference</h1>
+<h1>backward_hds_concept.hpp File Reference</h1>Backward HDS concept definition. More...
+<p>
+
 <p>
 <a href="backward__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_1BackwardHDSConcept.html">hdstl::concepts::BackwardHDSConcept&lt; HDS &gt;</a></td></tr>
-
-<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 Sun Jun 10 00:14:10 2007 by&nbsp;
+Backward HDS concept definition.
+<p>
+<dl compact><dt><b>Definition</b></dt><dd>This concept refines the HDSConcept, and specifies additional backward category to iterate over the HDS data structure, which means clockwise movement around the facet and counter clockwise movement around the vertex. Possible backward categories are prev_in_facet, prev_at_source, and prev_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 BackwardHDSConcept</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;::backward_traversal_tag.</li><li>hds_traits&lt;HDS&gt;::backward_category: Defines the pointer type for backward 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 backward hds concept, it has to be convertible to hds_traits&lt;HDS&gt;::backward_traversal_tag.</li><li><em>backward</em> <em>category</em> defines the type of the backward iteration.</li></ul>
+</dd></dl>
+<dl compact><dt><b>Valid Expressions</b></dt><dd><ul>
+<li>prev_in_facet(hds,h) : Must return a value assignable to h.</li><li>prev_at_source(hds,h) : Must return a value assignable to h.</li><li>prev_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>prev_in_facet(hds,h) : returns an halfedge descriptor to next halfedge in clockwise order around the facet.</li><li>prev_at_source(hds,h) : returns an halfedge descriptor to next halfedge in counter clockwise order around the source vertex.</li><li>prev_at_target(hds,h) : returns an halfedge descriptor to next halfedge in counter clockwise order around the target vertex.</li></ul>
+</dd></dl>
+<dl compact><dt><b>Complexity guarantees</b></dt><dd><ul>
+<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>prev_in_facet(hds,h) == prev_at_target(opposite(hds,h)) == opposite(prev_at_source(hds,h))</li><li>prev_at_source(hds,h) == opposite(prev_in_facet(hds,h)) == opposite(prev_at_target(opposite(hds,h)))</li><li>prev_at_target(hds,h) == prev_in_facet(opposite(hds,h)) == opposite(prev_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>BackwardHDSConcept {
+ <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;::backward_category backward_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,
+ backward_traversal_tag&gt; &gt;();
+ <span class="keyword">const</span> <span class="keywordtype">bool</span> is_valid_storage_tag =
+ is_convertible&lt;backward_category,prev_at_source_tag&gt;::value ||
+ is_convertible&lt;backward_category,prev_at_target_tag&gt;::value ||
+ is_convertible&lt;backward_category,prev_in_facet_tag&gt;::value;
+ BOOST_STATIC_ASSERT( is_valid_storage_tag );
+ <span class="comment">// Error message could be improved</span>
+ h = prev_in_facet(hds,h);
+ h = prev_at_source(hds,h);
+ h = prev_at_target(hds,h);
+ const_constraints(hds);
+ }
+ <span class="keywordtype">void</span> const_constraints(HDS <span class="keyword">const</span>&amp; hds){
+ h = prev_in_facet(hds,h);
+ h = prev_at_source(hds,h);
+ h = prev_at_target(hds,h);
+ }
+ BackwardHDS hds;
+ halfedge_descriptor h;
+ halfedge_descriptor g;
+ };
+</pre></div> </dd></dl>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Jun 11 02:25:33 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-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -1,6 +1,6 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/bidirectional_hds_concept.hpp Source File</title>
+<title>bidirectional_hds_concept.hpp Source File</title>
 <link href="doxygen.css" rel="stylesheet" type="text/css">
 <link href="tabs.css" rel="stylesheet" type="text/css">
 </head><body>
@@ -8,16 +8,35 @@
 <div class="tabs">
   <ul>
     <li>Main Page</li>
- <li>Classes</li>
     <li id="current">Files</li>
   </ul></div>
-<h1>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/bidirectional_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="l00039"></a>00039 <span class="keyword">template</span> &lt;<span class="keyword">class</span> HDS&gt;
-<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 Sun Jun 10 00:14:10 2007 by&nbsp;
+<h1>bidirectional_hds_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
+<a name="l00069"></a>00069 <span class="preprocessor">#ifdef BOOST_HDSTL_CONCEPTS_BIDIRECTIONALHDSCONCEPT_HPP</span>
+<a name="l00070"></a>00070 <span class="preprocessor"></span><span class="preprocessor">#define BOOST_HDSTL_CONCEPTS_BIDIRECTIONALHDSCONCEPT_HPP 1</span>
+<a name="l00071"></a>00071 <span class="preprocessor"></span>
+<a name="l00072"></a>00072 <span class="keyword">namespace </span>hdstl{
+<a name="l00073"></a>00073 <span class="keyword">namespace </span>concepts{
+<a name="l00088"></a>00088 <span class="keyword">template</span> &lt;<span class="keyword">class</span> HDS&gt;
+<a name="l00089"></a>00089 <span class="keyword">struct </span>BidirectionalHDSConcept {
+<a name="l00091"></a>00091
+<a name="l00095"></a>00095 <span class="keyword">typedef</span> <span class="keyword">typename</span> hds_traits&lt;HDS&gt;::halfedge_descriptor halfedge_descriptor;
+<a name="l00096"></a>00096 <span class="keyword">typedef</span> <span class="keyword">typename</span> hds_traits&lt;HDS&gt;::traversal_category traversal_category;
+<a name="l00098"></a>00098
+<a name="l00102"></a>00102 <span class="keywordtype">void</span> constraints() {
+<a name="l00103"></a>00103 <span class="keyword">using namespace </span>boost;
+<a name="l00104"></a>00104
+<a name="l00105"></a>00105 function_requires&lt;ForwardHDSConcept&lt;HDS&gt; &gt;();
+<a name="l00106"></a>00106 function_requires&lt;BackwardHDSConcept&lt;HDS&gt; &gt;();
+<a name="l00107"></a>00107 function_requires&lt;ConvertibleConcept&lt;traversal_category,
+<a name="l00108"></a>00108 bidirectional_traversal_tag&gt; &gt;();
+<a name="l00109"></a>00109 }
+<a name="l00110"></a>00110 BidirectionalHDS hds;
+<a name="l00111"></a>00111 };
+<a name="l00112"></a>00112 } <span class="comment">// close namespace concepts</span>
+<a name="l00113"></a>00113 } <span class="comment">// close namespace hdstl</span>
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115 <span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Jun 11 02:25:33 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-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -1,6 +1,6 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/bidirectional_hds_concept.hpp File Reference</title>
+<title>bidirectional_hds_concept.hpp File Reference</title>
 <link href="doxygen.css" rel="stylesheet" type="text/css">
 <link href="tabs.css" rel="stylesheet" type="text/css">
 </head><body>
@@ -8,25 +8,56 @@
 <div class="tabs">
   <ul>
     <li>Main Page</li>
- <li>Classes</li>
     <li id="current">Files</li>
   </ul></div>
-<h1>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/bidirectional_hds_concept.hpp File Reference</h1>
+<h1>bidirectional_hds_concept.hpp File Reference</h1>Bidirectional HDS concept definition. More...
+<p>
+
 <p>
 <a href="bidirectional__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_1BidirectionalHDSConcept.html">hdstl::concepts::BidirectionalHDSConcept&lt; HDS &gt;</a></td></tr>
-
-<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 Sun Jun 10 00:14:10 2007 by&nbsp;
+Bidirectional HDS concept definition.
+<p>
+<dl compact><dt><b>Definition</b></dt><dd>This concept refines the ForwardHDSConcept and BackwardHDSConcept, and specifies additional bidirectional traversal category. Bidirectional category requires both the forward_category and the backward_category defined to iterate over the HDS data structure, which means both clockwise &amp; counter clockwise movement around the facet and vertex. From these two categories 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>ForwardHDSConcept</li><li>BackwardHDSConcept</li></ul>
+</dd></dl>
+<dl compact><dt><b>Notation</b></dt><dd><ul>
+<li>HDS A type that is a model of BidirectionalHDSConcept</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;::bidirectional_traversal_tag.</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 bidirectional hds concept, it has to be convertible to hds_traits&lt;HDS&gt;::bidirectional_traversal_tag.</li></ul>
+</dd></dl>
+<dl compact><dt><b>Valid Expressions</b></dt><dd><ul>
+<li>see ForwardHDSConcept and BackwardHDSConcept.</li></ul>
+</dd></dl>
+<dl compact><dt><b>Expression Semantics</b></dt><dd><ul>
+<li>see ForwardHDSConcept and BackwardHDSConcept.</li></ul>
+</dd></dl>
+<dl compact><dt><b>Complexity guarantees</b></dt><dd><ul>
+<li>see ForwardHDSConcept and BackwardHDSConcept.</li></ul>
+</dd></dl>
+<dl compact><dt><b>Invariants </b></dt><dd>The invariants for ForwardHDSConcept, and BackwardHDSConcept should hold for BidirectionalHDSConcept also.</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>BidirectionalHDSConcept {
+ <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="keywordtype">void</span> constraints() {
+ <span class="keyword">using namespace </span>boost;
+ function_requires&lt;ForwardHDSConcept&lt;HDS&gt; &gt;();
+ function_requires&lt;BackwardHDSConcept&lt;HDS&gt; &gt;();
+ function_requires&lt;ConvertibleConcept&lt;traversal_category,
+ bidirectional_traversal_tag&gt; &gt;();
+ }
+ BidirectionalHDS hds;
+ };
+</pre></div> </dd></dl>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Jun 11 02:25:33 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-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -14,7 +14,6 @@
 <div class="tabs">
   <ul>
     <li>Class List</li>
- <li>Class Members</li>
   </ul></div>
 <h1>VectorHDSConcept Class Reference</h1><!-- doxytag: class="VectorHDSConcept" -->Vertex HDS concept definition.
 <a href="#_details">More...</a>
@@ -44,8 +43,8 @@
 
 <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 Sun Jun 10 00:14:10 2007 by&nbsp;
+<li><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 Mon Jun 11 02:21:45 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-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -1,6 +1,6 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/facet_hds_concept.hpp Source File</title>
+<title>facet_hds_concept.hpp Source File</title>
 <link href="doxygen.css" rel="stylesheet" type="text/css">
 <link href="tabs.css" rel="stylesheet" type="text/css">
 </head><body>
@@ -8,16 +8,42 @@
 <div class="tabs">
   <ul>
     <li>Main Page</li>
- <li>Classes</li>
     <li id="current">Files</li>
   </ul></div>
-<h1>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/facet_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="l00042"></a>00042 <span class="keyword">template</span> &lt;<span class="keyword">class</span> HDS&gt;
-<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 Sun Jun 10 00:14:10 2007 by&nbsp;
+<h1>facet_hds_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
+<a name="l00060"></a>00060 <span class="preprocessor">#ifdef BOOST_HDSTL_CONCEPTS_FACETHDSCONCEPT_HPP</span>
+<a name="l00061"></a>00061 <span class="preprocessor"></span><span class="preprocessor">#define BOOST_HDSTL_CONCEPTS_FACETHDSCONCEPT_HPP 1</span>
+<a name="l00062"></a>00062 <span class="preprocessor"></span>
+<a name="l00063"></a>00063 <span class="keyword">namespace </span>hdstl{
+<a name="l00064"></a>00064 <span class="keyword">namespace </span>concepts {
+<a name="l00065"></a>00065
+<a name="l00078"></a>00078 <span class="keyword">template</span> &lt;<span class="keyword">class</span> HDS&gt;
+<a name="l00079"></a>00079 <span class="keyword">struct </span>FacetHDSConcept {
+<a name="l00081"></a>00081
+<a name="l00086"></a>00086 <span class="keyword">typedef</span> <span class="keyword">typename</span> hds_traits&lt;HDS&gt;::facet_descriptor facet_descriptor;
+<a name="l00088"></a>00088
+<a name="l00092"></a>00092 <span class="keywordtype">void</span> constraints() {
+<a name="l00093"></a>00093 <span class="keyword">using namespace </span>boost;
+<a name="l00094"></a>00094 function_requires&lt;HDSConcept&gt;();
+<a name="l00095"></a>00095 function_requires&lt;DefaultConstructibleConcept&lt;facet_descriptor&gt; &gt;();
+<a name="l00096"></a>00096 function_requires&lt;CopyConstructibleConcept&lt;facet_descriptor&gt; &gt;();
+<a name="l00097"></a>00097 function_requires&lt;EqualityComparableConcept&lt;facet_descriptor&gt; &gt;();
+<a name="l00098"></a>00098 function_requires&lt;AssignableConcept&lt;facet_descriptor&gt; &gt;();
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 const_constraints(hds);
+<a name="l00101"></a>00101 }
+<a name="l00102"></a>00102
+<a name="l00106"></a>00106 <span class="keywordtype">void</span> const_constraints(HDS <span class="keyword">const</span>&amp; hds) {
+<a name="l00107"></a>00107 }
+<a name="l00108"></a>00108 HDS hds;
+<a name="l00109"></a>00109 facet_descriptor f;
+<a name="l00110"></a>00110 };
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112 } <span class="comment">// close namespace concepts</span>
+<a name="l00113"></a>00113 } <span class="comment">// close namespace hdstl</span>
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115 <span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Jun 11 02:25:33 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-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -1,6 +1,6 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/facet_hds_concept.hpp File Reference</title>
+<title>facet_hds_concept.hpp File Reference</title>
 <link href="doxygen.css" rel="stylesheet" type="text/css">
 <link href="tabs.css" rel="stylesheet" type="text/css">
 </head><body>
@@ -8,25 +8,52 @@
 <div class="tabs">
   <ul>
     <li>Main Page</li>
- <li>Classes</li>
     <li id="current">Files</li>
   </ul></div>
-<h1>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/facet_hds_concept.hpp File Reference</h1>
+<h1>facet_hds_concept.hpp File Reference</h1>Facet HDS concept definition. More...
+<p>
+
 <p>
 <a href="facet__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_1FacetHDSConcept.html">hdstl::concepts::FacetHDSConcept&lt; HDS &gt;</a></td></tr>
-
-<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 Sun Jun 10 00:14:10 2007 by&nbsp;
+Facet HDS concept definition.
+<p>
+<dl compact><dt><b>Definition</b></dt><dd>This concept refines the HDSConcept, and specifies additional facet descriptor to attach facets to the HDS.</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 FacetHDSConcept</li><li>hds A non-modifiable instance of HDS</li><li>f Facet descriptor, of type X::facet_descriptor</li></ul>
+</dd></dl>
+<dl compact><dt><b>Associated types</b></dt><dd><ul>
+<li>hds_traits&lt;HDS&gt;::facet_descriptor: must be DefaultConstructible and CopyConstructible, EqualityComparable, Assignable.</li></ul>
+</dd></dl>
+<dl compact><dt><b>Definitions</b></dt><dd><em>facet</em> <em>descriptor</em> is a type that contains information to access the facets attached to the halfedge data structure.</dd></dl>
+<dl compact><dt><b>Valid Expressions</b></dt><dd>None.</dd></dl>
+<dl compact><dt><b>Expression Semantics</b></dt><dd>None.</dd></dl>
+<dl compact><dt><b>Complexity guarantees</b></dt><dd>None.</dd></dl>
+<dl compact><dt><b>Invariants</b></dt><dd>None.</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>FacetHDSConcept {
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> hds_traits&lt;HDS&gt;::facet_descriptor facet_descriptor;
+ <span class="keywordtype">void</span> constraints() {
+ <span class="keyword">using namespace </span>boost;
+ function_requires&lt;HDSConcept&gt;();
+ function_requires&lt;DefaultConstructibleConcept&lt;facet_descriptor&gt; &gt;();
+ function_requires&lt;CopyConstructibleConcept&lt;facet_descriptor&gt; &gt;();
+ function_requires&lt;EqualityComparableConcept&lt;facet_descriptor&gt; &gt;();
+ function_requires&lt;AssignableConcept&lt;facet_descriptor&gt; &gt;();
+ const_constraints(hds);
+ }
+ <span class="keywordtype">void</span> const_constraints(HDS <span class="keyword">const</span>&amp; hds) {
+ }
+ HDS hds;
+ facet_descriptor f;
+ };
+</pre></div> </dd></dl>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Jun 11 02:25:33 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-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -8,20 +8,19 @@
 <div class="tabs">
   <ul>
     <li>Main Page</li>
- <li>Classes</li>
     <li id="current">Files</li>
   </ul></div>
 <h1>File List</h1>Here is a list of all documented files with brief descriptions:<table>
- <tr><td class="indexkey">/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/<a class="el" href="hds__concepts_8hpp.html">hds_concepts.hpp</a> [code]</td><td class="indexvalue">This file provides a number of concept checking classes for HDS-related concepts </td></tr>
- <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">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>
+ <tr><td class="indexkey"><a class="el" href="backward__hds__concept_8hpp.html">backward_hds_concept.hpp</a> [code]</td><td class="indexvalue">Backward HDS concept definition </td></tr>
+ <tr><td class="indexkey"><a class="el" href="bidirectional__hds__concept_8hpp.html">bidirectional_hds_concept.hpp</a> [code]</td><td class="indexvalue">Bidirectional HDS concept definition </td></tr>
+ <tr><td class="indexkey"><a class="el" href="facet__hds__concept_8hpp.html">facet_hds_concept.hpp</a> [code]</td><td class="indexvalue">Facet HDS concept definition </td></tr>
+ <tr><td class="indexkey"><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"><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"><a class="el" href="hds__concepts_8hpp.html">hds_concepts.hpp</a> [code]</td><td class="indexvalue">This file provides a number of concept checking classes for HDS-related concepts </td></tr>
+ <tr><td class="indexkey"><a class="el" href="mutable__hds__concept_8hpp.html">mutable_hds_concept.hpp</a> [code]</td><td class="indexvalue">Mutable HDS concept definition </td></tr>
+ <tr><td class="indexkey"><a class="el" href="vertex__hds__concept_8hpp.html">vertex_hds_concept.hpp</a> [code]</td><td class="indexvalue">Vertex HDS concept definition </td></tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Sun Jun 10 00:14:10 2007 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Mon Jun 11 02:25:33 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-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -1,6 +1,6 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/forward_hds_concept.hpp Source File</title>
+<title>forward_hds_concept.hpp Source File</title>
 <link href="doxygen.css" rel="stylesheet" type="text/css">
 <link href="tabs.css" rel="stylesheet" type="text/css">
 </head><body>
@@ -8,10 +8,9 @@
 <div class="tabs">
   <ul>
     <li>Main Page</li>
- <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
+<h1>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>
@@ -28,8 +27,8 @@
 <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="l00137"></a>00137 function_requires&lt;ConvertibleConcept&lt;traversal_category,
+<a name="l00138"></a>00138 forward_traversal_tag&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 ||
@@ -56,7 +55,7 @@
 <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;
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Jun 11 02:25:33 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-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -1,6 +1,6 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/forward_hds_concept.hpp File Reference</title>
+<title>forward_hds_concept.hpp File Reference</title>
 <link href="doxygen.css" rel="stylesheet" type="text/css">
 <link href="tabs.css" rel="stylesheet" type="text/css">
 </head><body>
@@ -8,10 +8,9 @@
 <div class="tabs">
   <ul>
     <li>Main Page</li>
- <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>Forward HDS concept definition. More...
+<h1>forward_hds_concept.hpp File Reference</h1>Forward HDS concept definition. More...
 <p>
 
 <p>
@@ -77,7 +76,7 @@
     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;
+<hr size="1"><address style="align: right;"><small>Generated on Mon Jun 11 02:25:33 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-11 02:33:43 EDT (Mon, 11 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 Sun Jun 10 00:14:10 2007 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Mon Jun 11 00:12:39 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-11 02:33:43 EDT (Mon, 11 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 Sun Jun 10 00:14:10 2007 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Mon Jun 11 00:12:39 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-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -1,6 +1,6 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/hds_concept.hpp Source File</title>
+<title>hds_concept.hpp Source File</title>
 <link href="doxygen.css" rel="stylesheet" type="text/css">
 <link href="tabs.css" rel="stylesheet" type="text/css">
 </head><body>
@@ -8,44 +8,43 @@
 <div class="tabs">
   <ul>
     <li>Main Page</li>
- <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
-<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;
+<h1>hds_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
+<a name="l00072"></a>00072 <span class="preprocessor">#ifdef BOOST_HDSTL_CONCEPTS_HDSCONCEPT_HPP</span>
+<a name="l00073"></a>00073 <span class="preprocessor"></span><span class="preprocessor">#define BOOST_HDSTL_CONCEPTS_HDSCONCEPT_HPP 1</span>
+<a name="l00074"></a>00074 <span class="preprocessor"></span>
+<a name="l00075"></a>00075 <span class="keyword">namespace </span>hdstl{
+<a name="l00076"></a>00076 <span class="keyword">namespace </span>concepts {
+<a name="l00077"></a>00077
+<a name="l00090"></a>00090 <span class="keyword">template</span> &lt;<span class="keyword">class</span> HDS&gt;
+<a name="l00091"></a>00091 <span class="keyword">struct </span>HDSConcept {
+<a name="l00093"></a>00093
+<a name="l00098"></a>00098 <span class="keyword">typedef</span> <span class="keyword">typename</span> hds_traits&lt;HDS&gt;::halfedge_descriptor halfedge_descriptor;
+<a name="l00100"></a>00100
+<a name="l00104"></a>00104 <span class="keywordtype">void</span> constraints() {
+<a name="l00105"></a>00105 <span class="keyword">using namespace </span>boost;
+<a name="l00106"></a>00106 function_requires&lt;DefaultConstructibleConcept&lt;halfedge_descriptor&gt; &gt;();
+<a name="l00107"></a>00107 function_requires&lt;CopyConstructibleConcept&lt;halfedge_descriptor&gt; &gt;();
+<a name="l00108"></a>00108 function_requires&lt;EqualityComparableConcept&lt;halfedge_descriptor&gt; &gt;();
+<a name="l00109"></a>00109 function_requires&lt;AssignableConcept&lt;halfedge_descriptor&gt; &gt;();
+<a name="l00110"></a>00110
+<a name="l00111"></a>00111 h = opposite(hds,h);
+<a name="l00112"></a>00112 const_constraints(hds);
+<a name="l00113"></a>00113 }
+<a name="l00114"></a>00114
+<a name="l00118"></a>00118 <span class="keywordtype">void</span> const_constraints(HDS <span class="keyword">const</span>&amp; hds) {
+<a name="l00119"></a>00119 h = opposite(hds,h);
+<a name="l00120"></a>00120 }
+<a name="l00121"></a>00121 HDS hds;
+<a name="l00122"></a>00122 halfedge_descriptor h;
+<a name="l00123"></a>00123 };
+<a name="l00124"></a>00124
+<a name="l00125"></a>00125 } <span class="comment">// close namespace concepts</span>
+<a name="l00126"></a>00126 } <span class="comment">// close namespace hdstl</span>
+<a name="l00127"></a>00127
+<a name="l00128"></a>00128 <span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Jun 11 02:25:33 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-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -1,6 +1,6 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/hds_concept.hpp File Reference</title>
+<title>hds_concept.hpp File Reference</title>
 <link href="doxygen.css" rel="stylesheet" type="text/css">
 <link href="tabs.css" rel="stylesheet" type="text/css">
 </head><body>
@@ -8,10 +8,9 @@
 <div class="tabs">
   <ul>
     <li>Main Page</li>
- <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>HDS concept definition. More...
+<h1>hds_concept.hpp File Reference</h1>HDS concept definition. More...
 <p>
 
 <p>
@@ -57,8 +56,9 @@
    <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;
+<hr size="1"><address style="align: right;"><small>Generated on Mon Jun 11 02:25:33 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-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -1,6 +1,6 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts.hpp Source File</title>
+<title>hds_concepts.hpp Source File</title>
 <link href="doxygen.css" rel="stylesheet" type="text/css">
 <link href="tabs.css" rel="stylesheet" type="text/css">
 </head><body>
@@ -8,21 +8,20 @@
 <div class="tabs">
   <ul>
     <li>Main Page</li>
- <li>Classes</li>
     <li id="current">Files</li>
   </ul></div>
-<h1>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef HDSTL_HDS_CONCEPTS_HPP</span>
+<h1>hds_concepts.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef HDSTL_HDS_CONCEPTS_HPP</span>
 <a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define HDSTL_HDS_CONCEPTS_HPP</span>
 <a name="l00003"></a>00003 <span class="preprocessor"></span>
 <a name="l00016"></a>00016 <span class="preprocessor">#include &lt;<a class="code" href="hds__concept_8hpp.html">hds_concepts/hds_concept.hpp</a>&gt;</span>
 <a name="l00017"></a>00017 <span class="preprocessor">#include &lt;<a class="code" href="forward__hds__concept_8hpp.html">hds_concepts/forward_hds_concept.hpp</a>&gt;</span>
 <a name="l00018"></a>00018 <span class="preprocessor">#include &lt;<a class="code" href="backward__hds__concept_8hpp.html">hds_concepts/backward_hds_concept.hpp</a>&gt;</span>
 <a name="l00019"></a>00019 <span class="preprocessor">#include &lt;<a class="code" href="bidirectional__hds__concept_8hpp.html">hds_concepts/bidirectional_hds_concept.hpp</a>&gt;</span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;hds_concepts/vertex_hds_concept.hpp&gt;</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;<a class="code" href="vertex__hds__concept_8hpp.html">hds_concepts/vertex_hds_concept.hpp</a>&gt;</span>
 <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="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="mutable__hds__concept_8hpp.html">hds_concepts/mutable_hds_concept.hpp</a>&gt;</span>
 <a name="l00023"></a>00023 <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;
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Jun 11 02:25:33 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-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -1,6 +1,6 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts.hpp File Reference</title>
+<title>hds_concepts.hpp File Reference</title>
 <link href="doxygen.css" rel="stylesheet" type="text/css">
 <link href="tabs.css" rel="stylesheet" type="text/css">
 </head><body>
@@ -8,18 +8,17 @@
 <div class="tabs">
   <ul>
     <li>Main Page</li>
- <li>Classes</li>
     <li id="current">Files</li>
   </ul></div>
-<h1>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts.hpp File Reference</h1>This file provides a number of concept checking classes for HDS-related concepts. More...
+<h1>hds_concepts.hpp File Reference</h1>This file provides a number of concept checking classes for HDS-related concepts. More...
 <p>
 <code>#include &lt;<a class="el" href="hds__concept_8hpp-source.html">hds_concepts/hds_concept.hpp</a>&gt;</code><br>
 <code>#include &lt;<a class="el" href="forward__hds__concept_8hpp-source.html">hds_concepts/forward_hds_concept.hpp</a>&gt;</code><br>
 <code>#include &lt;<a class="el" href="backward__hds__concept_8hpp-source.html">hds_concepts/backward_hds_concept.hpp</a>&gt;</code><br>
 <code>#include &lt;<a class="el" href="bidirectional__hds__concept_8hpp-source.html">hds_concepts/bidirectional_hds_concept.hpp</a>&gt;</code><br>
-<code>#include &lt;hds_concepts/vertex_hds_concept.hpp&gt;</code><br>
+<code>#include &lt;<a class="el" href="vertex__hds__concept_8hpp-source.html">hds_concepts/vertex_hds_concept.hpp</a>&gt;</code><br>
 <code>#include &lt;<a class="el" href="facet__hds__concept_8hpp-source.html">hds_concepts/facet_hds_concept.hpp</a>&gt;</code><br>
-<code>#include &lt;hds_concepts/mutable_hds_concept.hpp&gt;</code><br>
+<code>#include &lt;<a class="el" href="mutable__hds__concept_8hpp-source.html">hds_concepts/mutable_hds_concept.hpp</a>&gt;</code><br>
 
 <p>
 <a href="hds__concepts_8hpp-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
@@ -30,7 +29,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 Sun Jun 10 00:14:10 2007 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Mon Jun 11 02:25:33 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-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -8,12 +8,11 @@
 <div class="tabs">
   <ul>
     <li id="current">Main Page</li>
- <li>Classes</li>
     <li>Files</li>
   </ul></div>
 <h1></h1>
 <p>
-<hr size="1"><address style="align: right;"><small>Generated on Sun Jun 10 00:14:10 2007 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Mon Jun 11 02:25:33 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-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -1,6 +1,6 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/mutable_hds_concept.hpp Source File</title>
+<title>mutable_hds_concept.hpp Source File</title>
 <link href="doxygen.css" rel="stylesheet" type="text/css">
 <link href="tabs.css" rel="stylesheet" type="text/css">
 </head><body>
@@ -8,39 +8,44 @@
 <div class="tabs">
   <ul>
     <li>Main Page</li>
- <li>Classes</li>
     <li id="current">Files</li>
   </ul></div>
-<h1>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/mutable_hds_concept.hpp</h1><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="l00048"></a>00048 <span class="keyword">template</span> &lt;<span class="keyword">class</span> HDS&gt;
-<a name="l00049"></a><a class="code" href="structhdstl_1_1concepts_1_1MutableHDSConcept.html">00049</a> <span class="keyword">struct </span><a class="code" href="structhdstl_1_1concepts_1_1MutableHDSConcept.html">MutableHDSConcept</a> {
-<a name="l00051"></a>00051
-<a name="l00055"></a>00055 <span class="keyword">typedef</span> <span class="keyword">typename</span> hds_traits&lt;HDS&gt;::halfedge_descriptor halfedge_descriptor;
-<a name="l00056"></a>00056 <span class="keyword">typedef</span> <span class="keyword">typename</span> hds_traits&lt;HDS&gt;::traversal_category traversal_category;
-<a name="l00058"></a>00058
-<a name="l00062"></a>00062 <span class="keywordtype">void</span> constraints() {
-<a name="l00063"></a>00063 <span class="keyword">using namespace </span>boost;
-<a name="l00064"></a>00064 function_requires&lt;HDSConcept&lt;HDS&gt; &gt;();
-<a name="l00065"></a>00065
-<a name="l00066"></a>00066 set_opposite(hds,h1,h2);
-<a name="l00067"></a>00067 h = new_edge(h1,h2);
-<a name="l00068"></a>00068 delete_edge(h);
-<a name="l00069"></a>00069 <a class="code" href="structhdstl_1_1concepts_1_1MutableHDSConcept.html#3c0a017321ea292cbf9c7dd216a4882d">const_constraints</a>(hds);
-<a name="l00070"></a>00070 }
-<a name="l00071"></a>00071
-<a name="l00075"></a><a class="code" href="structhdstl_1_1concepts_1_1MutableHDSConcept.html#3c0a017321ea292cbf9c7dd216a4882d">00075</a> <span class="keywordtype">void</span> <a class="code" href="structhdstl_1_1concepts_1_1MutableHDSConcept.html#3c0a017321ea292cbf9c7dd216a4882d">const_constraints</a>(HDS <span class="keyword">const</span>&amp; hds) {
-<a name="l00076"></a>00076 set_opposite(hds,h1,h2);
-<a name="l00077"></a>00077 h = new_edge(h1,h2);
-<a name="l00078"></a>00078 delete_edge(h);
-<a name="l00079"></a>00079 }
-<a name="l00081"></a>00081 MutableHDS hds;
-<a name="l00082"></a>00082 halfedge_descriptor h;
-<a name="l00083"></a>00083 halfedge_descriptor h1;
-<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 Sun Jun 10 00:14:10 2007 by&nbsp;
+<h1>mutable_hds_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
+<a name="l00087"></a>00087 <span class="preprocessor">#ifdef BOOST_HDSTL_CONCEPTS_MUTABLEHDSCONCEPT_HPP</span>
+<a name="l00088"></a>00088 <span class="preprocessor"></span><span class="preprocessor">#define BOOST_HDSTL_CONCEPTS_MUTABLEHDSCONCEPT_HPP 1</span>
+<a name="l00089"></a>00089 <span class="preprocessor"></span>
+<a name="l00090"></a>00090 <span class="keyword">namespace </span>hdstl{
+<a name="l00091"></a>00091 <span class="keyword">namespace </span>concepts {
+<a name="l00092"></a>00092
+<a name="l00105"></a>00105 <span class="keyword">template</span> &lt;<span class="keyword">class</span> HDS&gt;
+<a name="l00106"></a>00106 <span class="keyword">struct </span>MutableHDSConcept {
+<a name="l00108"></a>00108
+<a name="l00113"></a>00113 <span class="keyword">typedef</span> <span class="keyword">typename</span> hds_traits&lt;HDS&gt;::halfedge_descriptor halfedge_descriptor;
+<a name="l00115"></a>00115
+<a name="l00119"></a>00119 <span class="keywordtype">void</span> constraints() {
+<a name="l00120"></a>00120 <span class="keyword">using namespace </span>boost;
+<a name="l00121"></a>00121 function_requires&lt;HDSConcept&lt;HDS&gt; &gt;();
+<a name="l00122"></a>00122
+<a name="l00123"></a>00123 set_opposite(hds,h1,h2);
+<a name="l00124"></a>00124 h = new_edge(hds,h1,h2);
+<a name="l00125"></a>00125 delete_edge(hds,h1,h2);
+<a name="l00126"></a>00126 const_constraints(hds);
+<a name="l00127"></a>00127 }
+<a name="l00128"></a>00128
+<a name="l00132"></a>00132 <span class="keywordtype">void</span> const_constraints(HDS <span class="keyword">const</span>&amp; hds) {
+<a name="l00133"></a>00133 set_opposite(hds,h1,h2);
+<a name="l00134"></a>00134 h = new_edge(hds,h1,h2);
+<a name="l00135"></a>00135 delete_edge(hds,h1,h2);
+<a name="l00136"></a>00136 }
+<a name="l00137"></a>00137 HDS hds;
+<a name="l00138"></a>00138 halfedge_descriptor h1;
+<a name="l00139"></a>00139 halfedge_descriptor h2;
+<a name="l00140"></a>00140 };
+<a name="l00141"></a>00141 } <span class="comment">// close namespace concepts</span>
+<a name="l00142"></a>00142 } <span class="comment">// close namespace hdstl</span>
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144 <span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Jun 11 02:25:33 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>

Added: sandbox/SOC/2007/geometry/libs/hdstl/doc/html/mutable__hds__concept_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/html/mutable__hds__concept_8hpp.html 2007-06-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -0,0 +1,71 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>mutable_hds_concept.hpp File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.7 -->
+<div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li id="current">Files</li>
+ </ul></div>
+<h1>mutable_hds_concept.hpp File Reference</h1>Mutable HDS concept definition. More...
+<p>
+
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Mutable HDS concept definition.
+<p>
+<dl compact><dt><b>Definition</b></dt><dd>This concept is the basic Mutable HDS concept, which all the other Mutable HDS concepts refine. It contains a few requirements which are common to all the graph concepts. One should note that a model of Mutable HDS is not required to be a model of Assignable, so algorithms should pass Mutable HDS objects by reference.</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 MutableHDSConcept</li><li>hds A non-modifiable instance of HDS</li><li>h1,h2 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>set_opposite(hds,h1,h2): Sets the opposite halfedge.</li><li>h = new_edge(hds,h1,h2) : Creates a new edge, with two halfedges.</li><li>delete_edge(hds,h1,h2) : Deletes the edge defined by halfedge pairs h1 and h2.</li></ul>
+</dd></dl>
+<dl compact><dt><b>Expression Semantics</b></dt><dd><ul>
+<li>set_opposite(hds,h1,h2): Sets h1 and h2 as opposites of each other in the data structure hds.</li><li>h = new_edge(hds,h1,h2): Creates a new edge in data structure hds. Since halfedges are actually pairs, the new edge consists of two halfedges, h1 and h2, which are set as opposites of each other.</li><li>delete_edge(hds,h1,h2): Since halfedges are defined as pairs, and a single halfedge is useless, they are deleted as pairs also. Delete edge removes the opposite halfedges h1, and h2 from the data structure hds. Note that only the halfedges that form a pair by validating the opposite function can be deleted by this method.</li></ul>
+</dd></dl>
+<dl compact><dt><b>Complexity guarantees</b></dt><dd><ul>
+<li>set_opposite(hds,h1,h2): Amortized constant time.</li><li>new_edge(hds,h1,h2): Amortized constant time.</li><li>delete_edge(hds,h1,h2): Amortized constant time.</li></ul>
+</dd></dl>
+<dl compact><dt><b>Invariants</b></dt><dd><ul>
+<li>After set_opposite and new_edge functions, h1=opposite(h2), and h2=opposite(h1) should be true.</li><li>Before the delete_edge method, h1=opposite(h2), and h2=opposite(h1) should be true.</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>MutableHDSConcept {
+ <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;HDSConcept&lt;HDS&gt; &gt;();
+ set_opposite(hds,h1,h2);
+ h = new_edge(hds,h1,h2);
+ delete_edge(hds,h1,h2);
+ const_constraints(hds);
+ }
+ <span class="keywordtype">void</span> const_constraints(HDS <span class="keyword">const</span>&amp; hds) {
+ set_opposite(hds,h1,h2);
+ h = new_edge(hds,h1,h2);
+ delete_edge(hds,h1,h2);
+ }
+ HDS hds;
+ halfedge_descriptor h1;
+ halfedge_descriptor h2;
+ };
+</pre></div> </dd></dl>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Jun 11 02:25:33 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>
+</html>

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-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -14,7 +14,6 @@
 <div class="tabs">
   <ul>
     <li>Class List</li>
- <li>Class Members</li>
   </ul></div>
 <div class="nav">
 <b>hdstl</b>::<b>concepts</b>::<a class="el" href="structhdstl_1_1concepts_1_1FacetHDSConcept.html">FacetHDSConcept</a></div>
@@ -49,8 +48,8 @@
 
 <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 Sun Jun 10 00:14:10 2007 by&nbsp;
+<li><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 Mon Jun 11 01:57:27 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-11 02:33:43 EDT (Mon, 11 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 Sun Jun 10 00:14:10 2007 by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Mon Jun 11 00:12:39 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-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -95,8 +95,8 @@
 </div>
 </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 Sun Jun 10 00:14:10 2007 by&nbsp;
+<li><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 Mon Jun 11 00:12:39 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-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -1,6 +1,6 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/vertex_hds_concept.hpp Source File</title>
+<title>vertex_hds_concept.hpp Source File</title>
 <link href="doxygen.css" rel="stylesheet" type="text/css">
 <link href="tabs.css" rel="stylesheet" type="text/css">
 </head><body>
@@ -8,16 +8,42 @@
 <div class="tabs">
   <ul>
     <li>Main Page</li>
- <li>Classes</li>
     <li id="current">Files</li>
   </ul></div>
-<h1>/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/vertex_hds_concept.hpp</h1><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="l00042"></a>00042 <span class="keyword">template</span> &lt;<span class="keyword">class</span> HDS&gt;
-<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 Sun Jun 10 00:14:10 2007 by&nbsp;
+<h1>vertex_hds_concept.hpp</h1>Go to the documentation of this file.<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
+<a name="l00060"></a>00060 <span class="preprocessor">#ifdef BOOST_HDSTL_CONCEPTS_VERTEXHDSCONCEPT_HPP</span>
+<a name="l00061"></a>00061 <span class="preprocessor"></span><span class="preprocessor">#define BOOST_HDSTL_CONCEPTS_VERTEXHDSCONCEPT_HPP 1</span>
+<a name="l00062"></a>00062 <span class="preprocessor"></span>
+<a name="l00063"></a>00063 <span class="keyword">namespace </span>hdstl{
+<a name="l00064"></a>00064 <span class="keyword">namespace </span>concepts {
+<a name="l00065"></a>00065
+<a name="l00078"></a>00078 <span class="keyword">template</span> &lt;<span class="keyword">class</span> HDS&gt;
+<a name="l00079"></a>00079 <span class="keyword">struct </span>VertexHDSConcept {
+<a name="l00081"></a>00081
+<a name="l00086"></a>00086 <span class="keyword">typedef</span> <span class="keyword">typename</span> hds_traits&lt;HDS&gt;::vertex_descriptor vertex_descriptor;
+<a name="l00088"></a>00088
+<a name="l00092"></a>00092 <span class="keywordtype">void</span> constraints() {
+<a name="l00093"></a>00093 <span class="keyword">using namespace </span>boost;
+<a name="l00094"></a>00094 function_requires&lt;HDSConcept&gt;();
+<a name="l00095"></a>00095 function_requires&lt;DefaultConstructibleConcept&lt;vertex_descriptor&gt; &gt;();
+<a name="l00096"></a>00096 function_requires&lt;CopyConstructibleConcept&lt;vertex_descriptor&gt; &gt;();
+<a name="l00097"></a>00097 function_requires&lt;EqualityComparableConcept&lt;vertex_descriptor&gt; &gt;();
+<a name="l00098"></a>00098 function_requires&lt;AssignableConcept&lt;vertex_descriptor&gt; &gt;();
+<a name="l00099"></a>00099
+<a name="l00100"></a>00100 const_constraints(hds);
+<a name="l00101"></a>00101 }
+<a name="l00102"></a>00102
+<a name="l00106"></a>00106 <span class="keywordtype">void</span> const_constraints(HDS <span class="keyword">const</span>&amp; hds) {
+<a name="l00107"></a>00107 }
+<a name="l00108"></a>00108 HDS hds;
+<a name="l00109"></a>00109 vertex_descriptor v;
+<a name="l00110"></a>00110 };
+<a name="l00111"></a>00111
+<a name="l00112"></a>00112 } <span class="comment">// close namespace concepts</span>
+<a name="l00113"></a>00113 } <span class="comment">// close namespace hdstl</span>
+<a name="l00114"></a>00114
+<a name="l00115"></a>00115 <span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Jun 11 02:25:33 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>

Added: sandbox/SOC/2007/geometry/libs/hdstl/doc/html/vertex__hds__concept_8hpp.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/html/vertex__hds__concept_8hpp.html 2007-06-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -0,0 +1,60 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>vertex_hds_concept.hpp File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.7 -->
+<div class="tabs">
+ <ul>
+ <li>Main Page</li>
+ <li id="current">Files</li>
+ </ul></div>
+<h1>vertex_hds_concept.hpp File Reference</h1>Vertex HDS concept definition. More...
+<p>
+
+<p>
+Go to the source code of this file.<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Vertex HDS concept definition.
+<p>
+<dl compact><dt><b>Definition</b></dt><dd>This concept refines the HDSConcept, and specifies additional vertex descriptor to attach vertices to the HDS.</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 VertexHDSConcept</li><li>hds A non-modifiable instance of HDS</li><li>v Vertex descriptor, of type X::vertex_descriptor</li></ul>
+</dd></dl>
+<dl compact><dt><b>Associated types</b></dt><dd><ul>
+<li>hds_traits&lt;HDS&gt;::vertex_descriptor: must be DefaultConstructible and CopyConstructible, EqualityComparable, Assignable.</li></ul>
+</dd></dl>
+<dl compact><dt><b>Definitions</b></dt><dd><em>vertex</em> <em>descriptor</em> is a type that contains information to access the vertices attached to the halfedge data structure.</dd></dl>
+<dl compact><dt><b>Valid Expressions</b></dt><dd>None.</dd></dl>
+<dl compact><dt><b>Expression Semantics</b></dt><dd>None.</dd></dl>
+<dl compact><dt><b>Complexity guarantees</b></dt><dd>None.</dd></dl>
+<dl compact><dt><b>Invariants</b></dt><dd>None.</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>VertexHDSConcept {
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> hds_traits&lt;HDS&gt;::vertex_descriptor vertex_descriptor;
+ <span class="keywordtype">void</span> constraints() {
+ <span class="keyword">using namespace </span>boost;
+ function_requires&lt;HDSConcept&gt;();
+ function_requires&lt;DefaultConstructibleConcept&lt;vertex_descriptor&gt; &gt;();
+ function_requires&lt;CopyConstructibleConcept&lt;vertex_descriptor&gt; &gt;();
+ function_requires&lt;EqualityComparableConcept&lt;vertex_descriptor&gt; &gt;();
+ function_requires&lt;AssignableConcept&lt;vertex_descriptor&gt; &gt;();
+ const_constraints(hds);
+ }
+ <span class="keywordtype">void</span> const_constraints(HDS <span class="keyword">const</span>&amp; hds) {
+ }
+ HDS hds;
+ vertex_descriptor v;
+ };
+</pre></div> </dd></dl>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Jun 11 02:25:33 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>
+</html>

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-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -1,8 +1,4 @@
 \section{Class List}
 Here are the classes, structs, unions and interfaces with brief descriptions:\begin{CompactList}
-\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::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/backward__hds__concept_8hpp.tex
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/backward__hds__concept_8hpp.tex (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/backward__hds__concept_8hpp.tex 2007-06-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -1,17 +1,79 @@
-\section{/home/huseyin/Documents/polytechnic/Projects/GSo\-C07/geometry/libs/hdstl/dev/hds\_\-concepts/backward\_\-hds\_\-concept.hpp File Reference}
-\label{backward__hds__concept_8hpp}\index{/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/backward_hds_concept.hpp@{/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds\_\-concepts/backward\_\-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::Backward\-HDSConcept$<$ HDS $>$}
-\begin{CompactList}\small\item\em Backward HDS concept definition. \item\end{CompactList}\end{CompactItemize}
+\section{backward\_\-hds\_\-concept.hpp File Reference}
+\label{backward__hds__concept_8hpp}\index{backward_hds_concept.hpp@{backward\_\-hds\_\-concept.hpp}}
+Backward HDS concept definition.
+
 
 
 \subsection{Detailed Description}
+Backward HDS concept definition.
+
+\begin{Desc}
+\item[Definition]This concept refines the HDSConcept, and specifies additional backward category to iterate over the HDS data structure, which means clockwise movement around the facet and counter clockwise movement around the vertex. Possible backward categories are prev\_\-in\_\-facet, prev\_\-at\_\-source, and prev\_\-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 Backward\-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$>$::backward\_\-traversal\_\-tag.\item hds\_\-traits$<$HDS$>$::backward\_\-category: Defines the pointer type for backward 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 backward hds concept, it has to be convertible to hds\_\-traits$<$HDS$>$::backward\_\-traversal\_\-tag.\item {\em backward\/} {\em category\/} defines the type of the backward iteration.\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Valid Expressions]\begin{itemize}
+\item prev\_\-in\_\-facet(hds,h) : Must return a value assignable to h.\item prev\_\-at\_\-source(hds,h) : Must return a value assignable to h.\item prev\_\-at\_\-target(hds,h) : Must return a value assignable to h.\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Expression Semantics]\begin{itemize}
+\item prev\_\-in\_\-facet(hds,h) : returns an halfedge descriptor to next halfedge in clockwise order around the facet.\item prev\_\-at\_\-source(hds,h) : returns an halfedge descriptor to next halfedge in counter clockwise order around the source vertex.\item prev\_\-at\_\-target(hds,h) : returns an halfedge descriptor to next halfedge in counter clockwise order around the target vertex.\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Complexity guarantees]\begin{itemize}
+\item prev\_\-in\_\-facet(hds,h) : Amortized constant time\item prev\_\-at\_\-source(hds,h) : Amortized constant time\item prev\_\-at\_\-target(hds,h) : Amortized constant time\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Invariants ]\begin{itemize}
+\item prev\_\-in\_\-facet(hds,h) == prev\_\-at\_\-target(opposite(hds,h)) == opposite(prev\_\-at\_\-source(hds,h))\item prev\_\-at\_\-source(hds,h) == opposite(prev\_\-in\_\-facet(hds,h)) == opposite(prev\_\-at\_\-target(opposite(hds,h)))\item prev\_\-at\_\-target(hds,h) == prev\_\-in\_\-facet(opposite(hds,h)) == opposite(prev\_\-at\_\-source(opposite(hds,h)))\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Concept-checking class]
+
+\begin{Code}\begin{verbatim} template <class HDS>
+ struct BackwardHDSConcept {
+ typedef typename hds_traits<HDS>::halfedge_descriptor halfedge_descriptor;
+ typedef typename hds_traits<HDS>::traversal_category traversal_category;
+ typedef typename hds_traits<HDS>::backward_category backward_category;
+ void constraints() {
+ using namespace boost;
+ function_requires<HDSConcept<HDS> >();
+ function_requires<ConvertibleConcept<traversal_category,
+ backward_traversal_tag> >();
+ const bool is_valid_storage_tag =
+ is_convertible<backward_category,prev_at_source_tag>::value ||
+ is_convertible<backward_category,prev_at_target_tag>::value ||
+ is_convertible<backward_category,prev_in_facet_tag>::value;
+ BOOST_STATIC_ASSERT( is_valid_storage_tag );
+ // Error message could be improved
+ h = prev_in_facet(hds,h);
+ h = prev_at_source(hds,h);
+ h = prev_at_target(hds,h);
+ const_constraints(hds);
+ }
+ void const_constraints(HDS const& hds){
+ h = prev_in_facet(hds,h);
+ h = prev_at_source(hds,h);
+ h = prev_at_target(hds,h);
+ }
+ BackwardHDS hds;
+ halfedge_descriptor h;
+ halfedge_descriptor g;
+ };
+\end{verbatim}\end{Code}
+
+ \end{Desc}

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/bidirectional__hds__concept_8hpp.tex
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/bidirectional__hds__concept_8hpp.tex (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/bidirectional__hds__concept_8hpp.tex 2007-06-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -1,17 +1,60 @@
-\section{/home/huseyin/Documents/polytechnic/Projects/GSo\-C07/geometry/libs/hdstl/dev/hds\_\-concepts/bidirectional\_\-hds\_\-concept.hpp File Reference}
-\label{bidirectional__hds__concept_8hpp}\index{/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/bidirectional_hds_concept.hpp@{/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds\_\-concepts/bidirectional\_\-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::Bidirectional\-HDSConcept$<$ HDS $>$}
-\begin{CompactList}\small\item\em Bidirectional HDS concept definition. \item\end{CompactList}\end{CompactItemize}
+\section{bidirectional\_\-hds\_\-concept.hpp File Reference}
+\label{bidirectional__hds__concept_8hpp}\index{bidirectional_hds_concept.hpp@{bidirectional\_\-hds\_\-concept.hpp}}
+Bidirectional HDS concept definition.
+
 
 
 \subsection{Detailed Description}
+Bidirectional HDS concept definition.
+
+\begin{Desc}
+\item[Definition]This concept refines the Forward\-HDSConcept and Backward\-HDSConcept, and specifies additional bidirectional traversal category. Bidirectional category requires both the forward\_\-category and the backward\_\-category defined to iterate over the HDS data structure, which means both clockwise \& counter clockwise movement around the facet and vertex. From these two categories all others can be accessed with the help of the opposite of a halfedge.\end{Desc}
+\begin{Desc}
+\item[Refinement of]\begin{itemize}
+\item Forward\-HDSConcept\item Backward\-HDSConcept\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Notation]\begin{itemize}
+\item HDS A type that is a model of Bidirectional\-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$>$::bidirectional\_\-traversal\_\-tag.\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 bidirectional hds concept, it has to be convertible to hds\_\-traits$<$HDS$>$::bidirectional\_\-traversal\_\-tag.\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Valid Expressions]\begin{itemize}
+\item see Forward\-HDSConcept and Backward\-HDSConcept.\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Expression Semantics]\begin{itemize}
+\item see Forward\-HDSConcept and Backward\-HDSConcept.\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Complexity guarantees]\begin{itemize}
+\item see Forward\-HDSConcept and Backward\-HDSConcept.\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Invariants ]The invariants for Forward\-HDSConcept, and Backward\-HDSConcept should hold for Bidirectional\-HDSConcept also.\end{Desc}
+\begin{Desc}
+\item[Concept-checking class]
+
+\begin{Code}\begin{verbatim} template <class HDS>
+ struct BidirectionalHDSConcept {
+ typedef typename hds_traits<HDS>::halfedge_descriptor halfedge_descriptor;
+ typedef typename hds_traits<HDS>::traversal_category traversal_category;
+ void constraints() {
+ using namespace boost;
+ function_requires<ForwardHDSConcept<HDS> >();
+ function_requires<BackwardHDSConcept<HDS> >();
+ function_requires<ConvertibleConcept<traversal_category,
+ bidirectional_traversal_tag> >();
+ }
+ BidirectionalHDS hds;
+ };
+\end{verbatim}\end{Code}
+
+ \end{Desc}

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/classVectorHDSConcept.tex
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/classVectorHDSConcept.tex (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/classVectorHDSConcept.tex 2007-06-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -40,4 +40,4 @@
 
 The documentation for this class was generated from the following file:\begin{CompactItemize}
 \item
-/home/huseyin/Documents/polytechnic/Projects/GSo\-C07/geometry/libs/hdstl/dev/hds\_\-concepts/vertex\_\-hds\_\-concept.hpp\end{CompactItemize}
+vertex\_\-hds\_\-concept.hpp\end{CompactItemize}

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-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -10,8 +10,8 @@
         {\fancyplain{}{\bfseries\rightmark}}
 \rhead[\fancyplain{}{\bfseries\leftmark}]
         {\fancyplain{}{\bfseries\thepage}}
-\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 }}
+\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Mon Jun 11 02:25:33 2007 by Doxygen }]{}
+\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Mon Jun 11 02:25:33 2007 by Doxygen }}
 \cfoot{}
 \newenvironment{Code}
 {\footnotesize}

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/facet__hds__concept_8hpp.tex
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/facet__hds__concept_8hpp.tex (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/facet__hds__concept_8hpp.tex 2007-06-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -1,17 +1,56 @@
-\section{/home/huseyin/Documents/polytechnic/Projects/GSo\-C07/geometry/libs/hdstl/dev/hds\_\-concepts/facet\_\-hds\_\-concept.hpp File Reference}
-\label{facet__hds__concept_8hpp}\index{/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts/facet_hds_concept.hpp@{/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds\_\-concepts/facet\_\-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::Facet\-HDSConcept$<$ HDS $>$}
-\begin{CompactList}\small\item\em Facet HDS concept definition. \item\end{CompactList}\end{CompactItemize}
+\section{facet\_\-hds\_\-concept.hpp File Reference}
+\label{facet__hds__concept_8hpp}\index{facet_hds_concept.hpp@{facet\_\-hds\_\-concept.hpp}}
+Facet HDS concept definition.
+
 
 
 \subsection{Detailed Description}
+Facet HDS concept definition.
+
+\begin{Desc}
+\item[Definition]This concept refines the HDSConcept, and specifies additional facet descriptor to attach facets to the HDS.\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 Facet\-HDSConcept\item hds A non-modifiable instance of HDS\item f Facet descriptor, of type X::facet\_\-descriptor\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Associated types]\begin{itemize}
+\item hds\_\-traits$<$HDS$>$::facet\_\-descriptor: must be Default\-Constructible and Copy\-Constructible, Equality\-Comparable, Assignable.\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Definitions]{\em facet\/} {\em descriptor\/} is a type that contains information to access the facets attached to the halfedge data structure.\end{Desc}
+\begin{Desc}
+\item[Valid Expressions]None.\end{Desc}
+\begin{Desc}
+\item[Expression Semantics]None.\end{Desc}
+\begin{Desc}
+\item[Complexity guarantees]None.\end{Desc}
+\begin{Desc}
+\item[Invariants]None.\end{Desc}
+\begin{Desc}
+\item[Concept-checking class]
+
+\begin{Code}\begin{verbatim} template <class HDS>
+ struct FacetHDSConcept {
+ typedef typename hds_traits<HDS>::facet_descriptor facet_descriptor;
+ void constraints() {
+ using namespace boost;
+ function_requires<HDSConcept>();
+ function_requires<DefaultConstructibleConcept<facet_descriptor> >();
+ function_requires<CopyConstructibleConcept<facet_descriptor> >();
+ function_requires<EqualityComparableConcept<facet_descriptor> >();
+ function_requires<AssignableConcept<facet_descriptor> >();
+ const_constraints(hds);
+ }
+ void const_constraints(HDS const& hds) {
+ }
+ HDS hds;
+ facet_descriptor f;
+ };
+\end{verbatim}\end{Code}
+
+ \end{Desc}

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-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -1,11 +1,11 @@
 \section{File List}
 Here is a list of all documented files with brief descriptions:\begin{CompactList}
-\item\contentsline{section}{/home/huseyin/Documents/polytechnic/Projects/GSo\-C07/geometry/libs/hdstl/dev/\bf{hds\_\-concepts.hpp} (This file provides a number of concept checking classes for HDS-related concepts )}{\pageref{hds__concepts_8hpp}}{}
-\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} (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}}{}
+\item\contentsline{section}{\bf{backward\_\-hds\_\-concept.hpp} (Backward HDS concept definition )}{\pageref{backward__hds__concept_8hpp}}{}
+\item\contentsline{section}{\bf{bidirectional\_\-hds\_\-concept.hpp} (Bidirectional HDS concept definition )}{\pageref{bidirectional__hds__concept_8hpp}}{}
+\item\contentsline{section}{\bf{facet\_\-hds\_\-concept.hpp} (Facet HDS concept definition )}{\pageref{facet__hds__concept_8hpp}}{}
+\item\contentsline{section}{\bf{forward\_\-hds\_\-concept.hpp} (Forward HDS concept definition )}{\pageref{forward__hds__concept_8hpp}}{}
+\item\contentsline{section}{\bf{hds\_\-concept.hpp} (HDS concept definition )}{\pageref{hds__concept_8hpp}}{}
+\item\contentsline{section}{\bf{hds\_\-concepts.hpp} (This file provides a number of concept checking classes for HDS-related concepts )}{\pageref{hds__concepts_8hpp}}{}
+\item\contentsline{section}{\bf{mutable\_\-hds\_\-concept.hpp} (Mutable HDS concept definition )}{\pageref{mutable__hds__concept_8hpp}}{}
+\item\contentsline{section}{\bf{vertex\_\-hds\_\-concept.hpp} (Vertex HDS concept definition )}{\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-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -1,5 +1,5 @@
-\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}}
+\section{forward\_\-hds\_\-concept.hpp File Reference}
+\label{forward__hds__concept_8hpp}\index{forward_hds_concept.hpp@{forward\_\-hds\_\-concept.hpp}}
 Forward HDS concept definition.
 
 

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-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -1,5 +1,5 @@
-\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}}
+\section{hds\_\-concept.hpp File Reference}
+\label{hds__concept_8hpp}\index{hds_concept.hpp@{hds\_\-concept.hpp}}
 HDS concept definition.
 
 
@@ -55,6 +55,7 @@
    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/hds__concepts_8hpp.tex
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/hds__concepts_8hpp.tex (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/hds__concepts_8hpp.tex 2007-06-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -1,5 +1,5 @@
-\section{/home/huseyin/Documents/polytechnic/Projects/GSo\-C07/geometry/libs/hdstl/dev/hds\_\-concepts.hpp File Reference}
-\label{hds__concepts_8hpp}\index{/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds_concepts.hpp@{/home/huseyin/Documents/polytechnic/Projects/GSoC07/geometry/libs/hdstl/dev/hds\_\-concepts.hpp}}
+\section{hds\_\-concepts.hpp File Reference}
+\label{hds__concepts_8hpp}\index{hds_concepts.hpp@{hds\_\-concepts.hpp}}
 This file provides a number of concept checking classes for HDS-related concepts.
 
 {\tt \#include $<$hds\_\-concepts/hds\_\-concept.hpp$>$}\par

Added: sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/mutable__hds__concept_8hpp.tex
==============================================================================
--- (empty file)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/mutable__hds__concept_8hpp.tex 2007-06-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -0,0 +1,67 @@
+\section{mutable\_\-hds\_\-concept.hpp File Reference}
+\label{mutable__hds__concept_8hpp}\index{mutable_hds_concept.hpp@{mutable\_\-hds\_\-concept.hpp}}
+Mutable HDS concept definition.
+
+
+
+\subsection{Detailed Description}
+Mutable HDS concept definition.
+
+\begin{Desc}
+\item[Definition]This concept is the basic Mutable HDS concept, which all the other Mutable HDS concepts refine. It contains a few requirements which are common to all the graph concepts. One should note that a model of Mutable HDS is not required to be a model of Assignable, so algorithms should pass Mutable HDS objects by reference.\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 Mutable\-HDSConcept\item hds A non-modifiable instance of HDS\item h1,h2 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 set\_\-opposite(hds,h1,h2): Sets the opposite halfedge.\item h = new\_\-edge(hds,h1,h2) : Creates a new edge, with two halfedges.\item delete\_\-edge(hds,h1,h2) : Deletes the edge defined by halfedge pairs h1 and h2.\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Expression Semantics]\begin{itemize}
+\item set\_\-opposite(hds,h1,h2): Sets h1 and h2 as opposites of each other in the data structure hds.\item h = new\_\-edge(hds,h1,h2): Creates a new edge in data structure hds. Since halfedges are actually pairs, the new edge consists of two halfedges, h1 and h2, which are set as opposites of each other.\item delete\_\-edge(hds,h1,h2): Since halfedges are defined as pairs, and a single halfedge is useless, they are deleted as pairs also. Delete edge removes the opposite halfedges h1, and h2 from the data structure hds. Note that only the halfedges that form a pair by validating the opposite function can be deleted by this method.\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Complexity guarantees]\begin{itemize}
+\item set\_\-opposite(hds,h1,h2): Amortized constant time.\item new\_\-edge(hds,h1,h2): Amortized constant time.\item delete\_\-edge(hds,h1,h2): Amortized constant time.\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Invariants]\begin{itemize}
+\item After set\_\-opposite and new\_\-edge functions, h1=opposite(h2), and h2=opposite(h1) should be true.\item Before the delete\_\-edge method, h1=opposite(h2), and h2=opposite(h1) should be true.\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Concept-checking class]
+
+\begin{Code}\begin{verbatim} template <class HDS>
+ struct MutableHDSConcept {
+ typedef typename hds_traits<HDS>::halfedge_descriptor halfedge_descriptor;
+ void constraints() {
+ using namespace boost;
+ function_requires<HDSConcept<HDS> >();
+ set_opposite(hds,h1,h2);
+ h = new_edge(hds,h1,h2);
+ delete_edge(hds,h1,h2);
+ const_constraints(hds);
+ }
+ void const_constraints(HDS const& hds) {
+ set_opposite(hds,h1,h2);
+ h = new_edge(hds,h1,h2);
+ delete_edge(hds,h1,h2);
+ }
+ HDS hds;
+ halfedge_descriptor h1;
+ halfedge_descriptor h2;
+ };
+\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-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -19,7 +19,7 @@
 \vspace*{1cm}
 {\large Generated by Doxygen 1.4.7}\\
 \vspace*{0.5cm}
-{\small Sun Jun 10 00:14:10 2007}\\
+{\small Mon Jun 11 02:25:33 2007}\\
 \end{center}
 \end{titlepage}
 \clearemptydoublepage
@@ -27,22 +27,16 @@
 \tableofcontents
 \clearemptydoublepage
 \pagenumbering{arabic}
-\chapter{Class Index}
-\input{annotated}
 \chapter{File Index}
 \input{files}
-\chapter{Class Documentation}
-\input{structhdstl_1_1concepts_1_1BackwardHDSConcept}
-\include{structhdstl_1_1concepts_1_1BidirectionalHDSConcept}
-\include{structhdstl_1_1concepts_1_1FacetHDSConcept}
-\include{structhdstl_1_1concepts_1_1MutableHDSConcept}
-\include{classVectorHDSConcept}
 \chapter{File Documentation}
-\input{hds__concepts_8hpp}
-\include{backward__hds__concept_8hpp}
+\input{backward__hds__concept_8hpp}
 \include{bidirectional__hds__concept_8hpp}
 \include{facet__hds__concept_8hpp}
 \include{forward__hds__concept_8hpp}
 \include{hds__concept_8hpp}
+\include{hds__concepts_8hpp}
+\include{mutable__hds__concept_8hpp}
+\include{vertex__hds__concept_8hpp}
 \printindex
 \end{document}

Modified: sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/structhdstl_1_1concepts_1_1FacetHDSConcept.tex
==============================================================================
--- sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/structhdstl_1_1concepts_1_1FacetHDSConcept.tex (original)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/structhdstl_1_1concepts_1_1FacetHDSConcept.tex 2007-06-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -42,4 +42,4 @@
 
 The documentation for this class was generated from the following file:\begin{CompactItemize}
 \item
-/home/huseyin/Documents/polytechnic/Projects/GSo\-C07/geometry/libs/hdstl/dev/hds\_\-concepts/\bf{facet\_\-hds\_\-concept.hpp}\end{CompactItemize}
+\bf{facet\_\-hds\_\-concept.hpp}\end{CompactItemize}

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-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -75,4 +75,4 @@
 
 The documentation for this struct was generated from the following file:\begin{CompactItemize}
 \item
-/home/huseyin/Documents/polytechnic/Projects/GSo\-C07/geometry/libs/hdstl/dev/hds\_\-concepts/mutable\_\-hds\_\-concept.hpp\end{CompactItemize}
+mutable\_\-hds\_\-concept.hpp\end{CompactItemize}

Added: sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/vertex__hds__concept_8hpp.tex
==============================================================================
--- (empty file)
+++ sandbox/SOC/2007/geometry/libs/hdstl/doc/latex/vertex__hds__concept_8hpp.tex 2007-06-11 02:33:43 EDT (Mon, 11 Jun 2007)
@@ -0,0 +1,56 @@
+\section{vertex\_\-hds\_\-concept.hpp File Reference}
+\label{vertex__hds__concept_8hpp}\index{vertex_hds_concept.hpp@{vertex\_\-hds\_\-concept.hpp}}
+Vertex HDS concept definition.
+
+
+
+\subsection{Detailed Description}
+Vertex HDS concept definition.
+
+\begin{Desc}
+\item[Definition]This concept refines the HDSConcept, and specifies additional vertex descriptor to attach vertices to the HDS.\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 Vertex\-HDSConcept\item hds A non-modifiable instance of HDS\item v Vertex descriptor, of type X::vertex\_\-descriptor\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Associated types]\begin{itemize}
+\item hds\_\-traits$<$HDS$>$::vertex\_\-descriptor: must be Default\-Constructible and Copy\-Constructible, Equality\-Comparable, Assignable.\end{itemize}
+\end{Desc}
+\begin{Desc}
+\item[Definitions]{\em vertex\/} {\em descriptor\/} is a type that contains information to access the vertices attached to the halfedge data structure.\end{Desc}
+\begin{Desc}
+\item[Valid Expressions]None.\end{Desc}
+\begin{Desc}
+\item[Expression Semantics]None.\end{Desc}
+\begin{Desc}
+\item[Complexity guarantees]None.\end{Desc}
+\begin{Desc}
+\item[Invariants]None.\end{Desc}
+\begin{Desc}
+\item[Concept-checking class]
+
+\begin{Code}\begin{verbatim} template <class HDS>
+ struct VertexHDSConcept {
+ typedef typename hds_traits<HDS>::vertex_descriptor vertex_descriptor;
+ void constraints() {
+ using namespace boost;
+ function_requires<HDSConcept>();
+ function_requires<DefaultConstructibleConcept<vertex_descriptor> >();
+ function_requires<CopyConstructibleConcept<vertex_descriptor> >();
+ function_requires<EqualityComparableConcept<vertex_descriptor> >();
+ function_requires<AssignableConcept<vertex_descriptor> >();
+ const_constraints(hds);
+ }
+ void const_constraints(HDS const& hds) {
+ }
+ HDS hds;
+ vertex_descriptor v;
+ };
+\end{verbatim}\end{Code}
+
+ \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