diff --git a/AABB_tree/doc/AABB_tree/Concepts/AABBTraits.h b/AABB_tree/doc/AABB_tree/Concepts/AABBTraits.h index fe0ff8c6708..123bda80c47 100644 --- a/AABB_tree/doc/AABB_tree/Concepts/AABBTraits.h +++ b/AABB_tree/doc/AABB_tree/Concepts/AABBTraits.h @@ -42,15 +42,16 @@ Bounding box type. typedef unspecified_type Bounding_box; /*! + enum required for axis selection */ enum Axis { - X_AXIS, - Y_AXIS, - Z_AXIS + CGAL_X_AXIS, + CGAL_Y_AXIS, + CGAL_Z_AXIS }; /*! - +3D Point and Primitive Id type */ typedef std::pair Point_and_primitive_id; diff --git a/AABB_tree/include/CGAL/AABB_traits.h b/AABB_tree/include/CGAL/AABB_traits.h index 638153dc6c1..da2fd2da756 100644 --- a/AABB_tree/include/CGAL/AABB_traits.h +++ b/AABB_tree/include/CGAL/AABB_traits.h @@ -249,7 +249,7 @@ public: /// \bug This is not documented for now in the AABBTraits concept. typedef typename GeomTraits::Iso_cuboid_3 Iso_cuboid_3; - /// + /// Bounding box type. typedef typename CGAL::Bbox_3 Bounding_box; /// @} diff --git a/AABB_tree/include/CGAL/AABB_tree.h b/AABB_tree/include/CGAL/AABB_tree.h index 7ef32c172ab..a3b0a928e6d 100644 --- a/AABB_tree/include/CGAL/AABB_tree.h +++ b/AABB_tree/include/CGAL/AABB_tree.h @@ -91,7 +91,7 @@ namespace CGAL { typedef typename Primitives::size_type size_type; /// Type of bounding box. typedef typename AABBTraits::Bounding_box Bounding_box; - /// + /// 3D Point and Primitive Id type typedef typename AABBTraits::Point_and_primitive_id Point_and_primitive_id; /// \deprecated typedef typename AABBTraits::Object_and_primitive_id Object_and_primitive_id; @@ -412,12 +412,14 @@ public: boost::optional< typename Intersection_and_primitive_id::Type > first_intersection(const Ray& query, const SkipFunctor& skip) const; + /// \cond template boost::optional< typename Intersection_and_primitive_id::Type > first_intersection(const Ray& query) const { return first_intersection(query, boost::lambda::constant(false)); } + /// \endcond /// Returns the primitive id closest to the source point of the ray /// query. @@ -435,12 +437,14 @@ public: boost::optional first_intersected_primitive(const Ray& query, const SkipFunctor& skip) const; + /// \cond template boost::optional first_intersected_primitive(const Ray& query) const { return first_intersected_primitive(query, boost::lambda::constant(false)); } + /// \endcond ///@} /// \name Distance Queries diff --git a/Circulator/doc/Circulator/Concepts/Circulator.h b/Circulator/doc/Circulator/Concepts/Circulator.h index 4f84c9db7c1..ea46df78ae5 100644 --- a/Circulator/doc/Circulator/Concepts/Circulator.h +++ b/Circulator/doc/Circulator/Concepts/Circulator.h @@ -10,7 +10,7 @@ A Circulator is similar to an Iterator, with the difference that it is designed for circular data structures.

-# Circulators # {#circulatorConceptsIntro} +\section circulatorConceptsIntro Circulators Iterators in the \stl were tailored for linear sequences. The specialization for circular data structures leads to slightly different requirements which we will summarize in the @@ -26,7 +26,7 @@ to the circulator requirements: A comparison `c == NULL` for a circulator `c` is true for an empty sequence. As for \cpp, we recommend the use of 0 instead of `NULL`. -## Circulators ## {#circulatorConceptsCirculators} +\subsection circulatorConceptsCirculators Circulators Similar to \stl iterators, we distinguish between forward, bidirectional, and random access circulators\cgalFootnote{Input circulators are a contradiction, since any circulator is supposed to @@ -103,7 +103,7 @@ circulator category. -## Forward Circulators ## {#circulatorConceptsForward} +\subsection circulatorConceptsForward Forward Circulators In the following, we assume that a and b are circulators of type C, r is of type C& (is @@ -164,7 +164,7 @@ circulator category Forward_circulator_tag. -## Bidirectional Circulators ## {#circulatorConceptsBidirectional} +\subsection circulatorConceptsBidirectional Bidirectional Circulators The same requirements as for the forward circulators hold for bidirectional iterators with the following change of the iterator @@ -177,7 +177,7 @@ circulator category Bidirectional_circulator_tag. -## Random Access Circulators ## {#sectionRandomAccessCirculatorRequ} +\subsection circulatorConceptsRandomAccessCirculators Random Access Circulators \anchor sectionMinCircleRequ @@ -223,14 +223,14 @@ circulator category Random_access_circulator_tag. -## Const Circulators ## +\subsection circulatorConceptsConstCirculators Const Circulators As with iterators, we distinguish between circulators and const circulators. The expression *a = t with t of type T is valid for mutable circulators. It is invalid for const circulators. -## Circulators in Container Classes ## +\subsection subsec_CircContClass Circulators in Container Classes For a container x of type X that supports circulators c the following naming convention is recommended: @@ -266,7 +266,7 @@ of iterators and circulators simultaneously is not recommended, since it would lead to fat interfaces. The natural choice should be supported, the other concept will be available through adaptors. -## Example ## +\subsection subsec_Circ_ex Example A generic contains function accepts a range of circulators and a value. It returns `true` if the value is contained in the @@ -320,7 +320,7 @@ class BidirectionalCirculator { /*! \ingroup PkgHandlesAndCirculatorsConcepts - See Subsection \ref sectionRandomAccessCirculatorRequ in the page on Circulators. + See Subsection \ref sectionMinCircleRequ in the page on Circulators. \cgalConcept */ class RandomAccessCirculator { diff --git a/Interpolation/doc/Interpolation/CGAL/surface_neighbor_coordinates_3.h b/Interpolation/doc/Interpolation/CGAL/surface_neighbor_coordinates_3.h index 40fddc7b39d..01af70aca08 100644 --- a/Interpolation/doc/Interpolation/CGAL/surface_neighbor_coordinates_3.h +++ b/Interpolation/doc/Interpolation/CGAL/surface_neighbor_coordinates_3.h @@ -53,7 +53,7 @@ with the regular triangulation and `p` as arguments. /*! The sample points \f$ \mathcal{P}\f$ are provided in the range -`[first`, beyond)`. +`[first, beyond)`. The value type of `InputIterator` is the point type `Kernel::Point_3`. The tangent plane is defined by the point `p` and the vector `normal`. The parameter `K` diff --git a/Jet_fitting_3/doc/Jet_fitting_3/Jet_fitting_3.txt b/Jet_fitting_3/doc/Jet_fitting_3/Jet_fitting_3.txt index 20760ae2745..36d39ebf838 100644 --- a/Jet_fitting_3/doc/Jet_fitting_3/Jet_fitting_3.txt +++ b/Jet_fitting_3/doc/Jet_fitting_3/Jet_fitting_3.txt @@ -181,11 +181,11 @@ is performed; and if \f$ N >N_d\f$, approximation is used. As explained in Section \ref secintro , the output consists of a coordinate system, the Monge basis, together with the Monge -coefficients which are stored in the `Monge_via_jet_fitting::Monge_form` class. In +coefficients which are stored in the `::CGAL::Monge_via_jet_fitting::Monge_form` class. In addition, more information on the computational issues are stored in the `Monge_via_jet_fitting` class. -The `Monge_via_jet_fitting::Monge_form` class provides the following information. +The `::CGAL::Monge_via_jet_fitting::Monge_form` class provides the following information.
  • %Origin. This is the point on the fitted polynomial surface @@ -224,7 +224,7 @@ In addition, the class `Monge_via_jet_fitting` stores This concept provides the types for the input sample points, together with \f$ 3d\f$ vectors and a number type. It is used as template for the class `Monge_via_jet_fitting`. Typically, one can use -`Cartesian`. +`Cartesian< double >`. \subsubsection Jet_fitting_3TemplateparameterLocalKernel Template parameter LocalKernel @@ -234,11 +234,11 @@ This concept defines the vector and number types used for local computations and to store the PCA basis data. Input points of type -`DataKernel::Point_3` are converted to -`LocalKernel::Point_3`. For output of the `Monge_via_jet_fitting::Monge_form` class, +`DataKernel::%Point_3` are converted to +`LocalKernel::%Point_3`. For output of the `::CGAL::Monge_via_jet_fitting::Monge_form` class, these types are converted back to `DataKernel` ones. Typically, one can use -`Cartesian` which is the default. +`Cartesian< double >` which is the default. \subsubsection Jet_fitting_3TemplateparameterSvdTraits Template parameter SvdTraits @@ -253,8 +253,8 @@ To solve the fitting problem, the sample points are first converted from the `DataKernel` to the `LocalKernel` (this is done using the `Cartesian_converter`). Then change of coordinate systems and linear algebra operations are performed with this -kernel. This implies that the number types `LocalKernel::FT` and -`SvdTraits::FT` must be identical. +kernel. This implies that the number types `LocalKernel::%FT` and +`SvdTraits::%FT` must be identical. Second the Monge basis and coefficients, computed with the `LocalKernel`, are converted back to the `DataKernel` (this is done using the `Cartesian_converter` and the @@ -278,7 +278,7 @@ illustrates the computation of local differential quantities for all vertices of a given mesh. The neighborhood of a given vertex is computed using rings on the triangulation. Results are twofold:
      -
    • a human readable text file featuring the `Monge_via_jet_fitting::Monge_form` and +
    • a human readable text file featuring the `::CGAL::Monge_via_jet_fitting::Monge_form` and numerical informations on the computation: condition number and the PCA basis;
    • another text file that records raw data (better for a vizualization diff --git a/Polygon/doc/Polygon/Concepts/PolygonTraits_2.h b/Polygon/doc/Polygon/Concepts/PolygonTraits_2.h index 9064c4450c8..9cff9a47e10 100644 --- a/Polygon/doc/Polygon/Concepts/PolygonTraits_2.h +++ b/Polygon/doc/Polygon/Concepts/PolygonTraits_2.h @@ -12,6 +12,8 @@ The requirements of `PolygonTraits_2` are a subset of the kernel requirements. We only list the types and methods which are required and refer to the description of the kernel concept for details. +\cgalRefines `DefaultConstructible` and `CopyConstructable` + \cgalHasModel The kernels supplied by \cgal are models of `PolygonTraits_2`. \cgalHasModel `CGAL::Projection_traits_xy_3` \cgalHasModel `CGAL::Projection_traits_yz_3` @@ -24,19 +26,11 @@ and refer to the description of the kernel concept for details. class PolygonTraits_2 { public: -/// \name Creation -/// @{ - /// - PolygonTraits_2(); - /// - PolygonTraits_2(const PolygonTraits_2&); -/// @} - /// \name Types /// @{ /*! - +number type */ typedef unspecified_type FT; @@ -51,37 +45,39 @@ The segment type. typedef unspecified_type Segment_2; /*! - +functor providing `Segment_2 operator()(Point_2, Point_2)` to construct a segment from two points. */ typedef unspecified_type Construct_segment_2; /*! - +functor providing `bool operator()(Point_2, Point_2)` to test equality of two points. */ typedef unspecified_type Equal_2; /*! - +functor providing `bool operator()(Point_2, Point_2)` to compare lexicographically of two points. */ typedef unspecified_type Less_xy_2; /*! - +functor providing `bool operator()(Point_2, Point_2)` to compare inverse-lexicographically of two points. */ typedef unspecified_type Less_yx_2; /*! - +functor providing `bool operator()(Point_2, Point_2)` to compare the x-coordinate of two points. */ typedef unspecified_type Compare_x_2; /*! - +functor providing `bool operator()(Point_2, Point_2)` to compare the y-coordinate of two points. */ typedef unspecified_type Compare_y_2; /*! - +functor providing `Oriention operator()(Point_2 p, Point_2 q, Point_2 r)` +that returns CGAL::LEFT_TURN, if r lies to the left of the oriented line l defined by p and q, +CGAL::RIGHT_TURN if r lies to the right of l, and CGAL::COLLINEAR if r lies on l. */ typedef unspecified_type Orientation_2; @@ -98,43 +94,43 @@ typedef unspecified_type Compute_area_2; /// @{ /*! - -*/ +returns the corresponding function object +*/ Equal_2 equal_2_object(); /*! - -*/ +returns the corresponding function object +*/ Less_xy_2 less_xy_2_object(); /*! - -*/ +returns the corresponding function object +*/ Less_yx_2 less_yx_2_object(); /*! - -*/ +returns the corresponding function object +*/ Compare_y_2 compare_y_2_object(); /*! - -*/ +returns the corresponding function object +*/ Compare_x_2 compare_x_2_object(); /*! - -*/ +returns the corresponding function object +*/ Orientation_2 orientation_2_object(); /*! - -*/ +returns the corresponding function object +*/ Compute_area_2 compute_area_2_object(); /*! - -*/ +returns the corresponding function object +*/ Construct_segment_2 construct_segment_2_object(); /// @} diff --git a/Polygon/include/CGAL/General_polygon_with_holes_2.h b/Polygon/include/CGAL/General_polygon_with_holes_2.h index 1d4802aead0..3e896d71c6f 100644 --- a/Polygon/include/CGAL/General_polygon_with_holes_2.h +++ b/Polygon/include/CGAL/General_polygon_with_holes_2.h @@ -55,6 +55,7 @@ public: /// \name Definition /// @{ + /// polygon without hole type typedef Polygon_ General_polygon_2; /// @} diff --git a/Polygon/include/CGAL/Polygon_2.h b/Polygon/include/CGAL/Polygon_2.h index e02f83300d9..443cefca305 100644 --- a/Polygon/include/CGAL/Polygon_2.h +++ b/Polygon/include/CGAL/Polygon_2.h @@ -122,26 +122,24 @@ class Polygon_2 { /// /// @{ - /// + /// vertex iterator type typedef typename Container::iterator Vertex_iterator; //typedef typename Container::const_iterator Vertex_const_iterator; ?? #ifdef DOXYGEN_RUNNING + /// vertex circulator type typedef unspecified_type Vertex_circulator; - typedef unspecified_type Edge_const_iterator; - - typedef unspecified_type Edge_const_circulator; -#else - typedef Vertex_const_circulator Vertex_circulator; - /// - typedef Polygon_2_edge_iterator - Edge_const_iterator; - - /// - typedef Polygon_2_const_edge_circulator - Edge_const_circulator; + /// edge circulator type + typedef unspecified_type Edge_const_iterator; + /// edge circular type + typedef unspecified_type Edge_const_circulator; +#else + typedef Vertex_const_circulator Vertex_circulator; + typedef Polygon_2_edge_iterator Edge_const_iterator; + typedef Polygon_2_const_edge_circulator Edge_const_circulator; #endif // DOXYGEN_RUNNING /// @} @@ -177,10 +175,12 @@ class Polygon_2 { void set(Vertex_iterator i, const Point_2& q) { *i = q; } + /// \cond void set(Polygon_circulatorconst &i, const Point_2& q) { *i.mod_iterator() = q; } + /// \endcond /// Inserts the vertex `q` before `i`. The return value points to /// the inserted vertex. @@ -189,6 +189,8 @@ class Polygon_2 { return d_container.insert(i,q); } + /// Inserts the vertex `q` before `i`. The return value points to + /// the inserted vertex. Vertex_iterator insert(Vertex_circulator i, const Point_2& q) { return d_container.insert(i.mod_iterator(),q); @@ -203,6 +205,9 @@ class Polygon_2 { InputIterator last) { d_container.insert(i, first, last); } + /// Inserts the vertices in the range `[first, last)` + /// before `i`. The value type of points in the range + /// `[first,last)` must be `Point_2`. template void insert(Vertex_circulator i, InputIterator first, @@ -219,6 +224,7 @@ class Polygon_2 { return d_container.erase(i); } + /// Erases the vertex pointed to by `i`. Vertex_circulator erase(Vertex_circulator i) { return Vertex_circulator(&d_container, @@ -389,31 +395,32 @@ class Polygon_2 { /// @} - /// \name + /// \name Convenience Orientation Functions /// For convenience we provide the following Boolean functions: /// @{ + /// returns `orientation() == COUNTERCLOCKWISE` bool is_counterclockwise_oriented() const { return orientation() == COUNTERCLOCKWISE; } - + /// returns `orientation() == CLOCKWISE` bool is_clockwise_oriented() const { return orientation() == CLOCKWISE; } - + /// returns `orientation() == COLLINEAR` bool is_collinear_oriented() const { return orientation() == COLLINEAR; } - + /// returns `oriented_side(q) == ON_POSITIVE_SIDE` bool has_on_positive_side(const Point_2& q) const { return oriented_side(q) == ON_POSITIVE_SIDE; } - + /// returns `oriented_side(q) == ON_NEGATIVE_SIDE` bool has_on_negative_side(const Point_2& q) const { return oriented_side(q) == ON_NEGATIVE_SIDE; } - + /// returns `bounded_side(q) == ON_BOUNDARY` bool has_on_boundary(const Point_2& q) const { return bounded_side(q) == ON_BOUNDARY; } - + /// returns `bounded_side(q) == ON_BOUNDED_SIDE` bool has_on_bounded_side(const Point_2& q) const { return bounded_side(q) == ON_BOUNDED_SIDE; } - + /// returns `bounded_side(q) == ON_UNBOUNDED_SIDE` bool has_on_unbounded_side(const Point_2& q) const { return bounded_side(q) == ON_UNBOUNDED_SIDE; } diff --git a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt index 1006dc6226b..de632eeadf7 100644 --- a/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt +++ b/Polygon_mesh_processing/doc/Polygon_mesh_processing/Polygon_mesh_processing.txt @@ -468,7 +468,7 @@ with duplicated border edges. \cgalExample{Polygon_mesh_processing/stitch_borders_example.cpp} ******************* - +\endcond ******************* \subsection PolygonSoups Polygon Soups diff --git a/Surface_mesh_deformation/doc/Surface_mesh_deformation/Concepts/DeformationClosestRotationTraits_3.h b/Surface_mesh_deformation/doc/Surface_mesh_deformation/Concepts/DeformationClosestRotationTraits_3.h index 1dc0027556b..c4a67edc2af 100644 --- a/Surface_mesh_deformation/doc/Surface_mesh_deformation/Concepts/DeformationClosestRotationTraits_3.h +++ b/Surface_mesh_deformation/doc/Surface_mesh_deformation/Concepts/DeformationClosestRotationTraits_3.h @@ -7,6 +7,8 @@ The definition of close depends on the model. The fact that some basic operations are hidden behind a function is to allow to benefit from optimizations like expression template from libraries used to implement models of this concept. +\cgalRefines `DefaultConstructible` + \cgalHasModel `CGAL::Deformation_Eigen_closest_rotation_traits_3` \cgalHasModel `CGAL::Deformation_Eigen_polar_closest_rotation_traits_3` @@ -21,12 +23,6 @@ public: typedef unspecified_type Vector; /// @} -/// \name Creation -/// @{ -/// Default constructor. - DeformationClosestRotationTraits_3(); -/// @} - /// \name Operations /// @{ diff --git a/Surface_mesh_deformation/doc/Surface_mesh_deformation/Concepts/RawPoint_3.h b/Surface_mesh_deformation/doc/Surface_mesh_deformation/Concepts/RawPoint_3.h index 8ac64d9a608..7ac7398f121 100644 --- a/Surface_mesh_deformation/doc/Surface_mesh_deformation/Concepts/RawPoint_3.h +++ b/Surface_mesh_deformation/doc/Surface_mesh_deformation/Concepts/RawPoint_3.h @@ -9,6 +9,7 @@ class RawPoint_3 public: /// \name Creation /// @{ + /// constructor from Cartesian coordinates RawPoint_3(double x, double y, double z); /// @} diff --git a/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h b/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h index 44cab528588..c9d2b7576f0 100644 --- a/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h +++ b/Surface_mesh_deformation/include/CGAL/Surface_mesh_deformation.h @@ -216,8 +216,11 @@ public: /// @{ // typedefed template parameters, main reason is doxygen creates autolink to typedefs but not template parameters /// + /// Triangle mesh type typedef TM Triangle_mesh; + /// \cond typedef TM Halfedge_graph; + /// \endcond // Index maps #ifndef DOXYGEN_RUNNING @@ -230,9 +233,9 @@ public: typename boost::property_map::type >::type Hedge_index_map; #else - /// + /// vertex index map type typedef VIM Vertex_index_map; - /// + /// halfedge index map type typedef HIM Hedge_index_map; #endif @@ -243,7 +246,7 @@ public: typename internal::Types_selectors::Weight_calculator >::type Weight_calculator; #else - /// + /// weight calculator functor type typedef WC Weight_calculator; #endif @@ -261,7 +264,7 @@ public: #endif >::type Sparse_linear_solver; #else - /// + /// sparse linear solver type typedef ST Sparse_linear_solver; #endif @@ -276,7 +279,7 @@ public: #endif >::type Closest_rotation_traits; #else - /// + /// closest rotation traits type typedef CR Closest_rotation_traits; #endif @@ -287,7 +290,7 @@ public: typename boost::property_map::type >::type Vertex_point_map; #else - /// + /// vertex point map type typedef VPM Vertex_point_map; #endif @@ -955,8 +958,10 @@ public: const Triangle_mesh& triangle_mesh() const { return m_triangle_mesh; } + /// \cond const Triangle_mesh& halfedge_graph() const { return m_triangle_mesh; } + /// \endcond /** * Sets the alpha coefficient that determines the weight of the bending term (rotation smoothness) for the SRE-ARAP deformation technique. diff --git a/Surface_mesh_shortest_path/doc/Surface_mesh_shortest_path/Concepts/SurfaceMeshShortestPathTraits.h b/Surface_mesh_shortest_path/doc/Surface_mesh_shortest_path/Concepts/SurfaceMeshShortestPathTraits.h index 2c6080ee22e..811ad3de64c 100644 --- a/Surface_mesh_shortest_path/doc/Surface_mesh_shortest_path/Concepts/SurfaceMeshShortestPathTraits.h +++ b/Surface_mesh_shortest_path/doc/Surface_mesh_shortest_path/Concepts/SurfaceMeshShortestPathTraits.h @@ -7,6 +7,7 @@ The concept `SurfaceMeshShortestPathTraits` describes the types, predicates, and constructions required by the traits class parameter of `CGAL::Surface_mesh_shortest_path`. +\cgalRefines `CopyConstructible` and `Assignable` \cgalHasModel `CGAL::Surface_mesh_shortest_path_traits` */ @@ -330,19 +331,11 @@ public: /// @} -/// \name Creation -/// @{ - /*! - */ - SurfaceMeshShortestPathTraits(SurfaceMeshShortestPathTraits& copy); - -/// @} - /// \name Operations /// For all of the above predicate and construction types, e.g. `Func_obj_type`, a function must exist with the name `func_obj_type_object()` that creates an instance of the construction or predicate object type. /// For example: /// @{ - + /// returns the point construction functor. Construct_point_2 construct_point_2_object(); /// @} diff --git a/Surface_mesh_shortest_path/include/CGAL/Surface_mesh_shortest_path/Surface_mesh_shortest_path.h b/Surface_mesh_shortest_path/include/CGAL/Surface_mesh_shortest_path/Surface_mesh_shortest_path.h index d9a4afa291a..68bd9b9327c 100644 --- a/Surface_mesh_shortest_path/include/CGAL/Surface_mesh_shortest_path/Surface_mesh_shortest_path.h +++ b/Surface_mesh_shortest_path/include/CGAL/Surface_mesh_shortest_path/Surface_mesh_shortest_path.h @@ -146,6 +146,7 @@ public: #ifndef CGAL_NO_DEPRECATED_CODE // deprecated in CGAL 4.10 + /// \deprecated typedef Barycentric_coordinates Barycentric_coordinate; #endif @@ -2596,7 +2597,7 @@ public: /// \name Nearest Face Location Queries /// @{ - /* + /*! \brief Returns the nearest face location to the given point. Note that this will (re-)build an `AABB_tree` on each call. If you need to call this function more than once, use `build_aabb_tree()` to cache a @@ -2661,7 +2662,7 @@ public: /// \endcond - /* + /*! \brief Returns the face location along `ray` nearest to its source point. Note that this will (re-)build an `AABB_tree` on each call. If you need to call this function more than once, use `build_aabb_tree()` to cache a diff --git a/Surface_mesh_skeletonization/doc/Surface_mesh_skeletonization/Concepts/MeanCurvatureSkeletonizationTraits.h b/Surface_mesh_skeletonization/doc/Surface_mesh_skeletonization/Concepts/MeanCurvatureSkeletonizationTraits.h index fa35c727b58..31dbe628baf 100644 --- a/Surface_mesh_skeletonization/doc/Surface_mesh_skeletonization/Concepts/MeanCurvatureSkeletonizationTraits.h +++ b/Surface_mesh_skeletonization/doc/Surface_mesh_skeletonization/Concepts/MeanCurvatureSkeletonizationTraits.h @@ -127,45 +127,59 @@ typedef unspecified_type Compute_z_3; /// \name Access to Function Objects /// @{ +/// Function object creator Construct_point_3 construct_point_3_object(); +/// Function object creator Construct_vector_3 construct_vector_3_object(); +/// Function object creator Construct_scaled_vector_3 construct_scaled_vector_3_object(); +/// Function object creator Construct_divided_vector_3 construct_divided_vector_3_object(); +/// Function object creator Construct_cross_product_vector_3 construct_cross_product_vector_3_object(); +/// Function object creator Construct_sum_of_vectors_3 construct_sum_of_vectors_3_object(); +/// Function object creator Construct_midpoint_3 construct_midpoint_3_object(); +/// Function object creator Compute_squared_distance_3 compute_squared_distance_3_object(); +/// Function object creator Compute_squared_length_3 compute_squared_length_3_object(); +/// Function object creator Compute_area_3 compute_area_3_object(); +/// Function object creator Compute_scalar_product_3 compute_scalar_product_3_object(); +/// Function object creator Compute_x_3 compute_x_3_object(); +/// Function object creator Compute_y_3 compute_y_3_object(); +/// Function object creator Compute_z_3 compute_z_3_object(); diff --git a/Surface_mesh_skeletonization/include/CGAL/Mean_curvature_flow_skeletonization.h b/Surface_mesh_skeletonization/include/CGAL/Mean_curvature_flow_skeletonization.h index ae2f5d77a0e..9e1da64c8f3 100644 --- a/Surface_mesh_skeletonization/include/CGAL/Mean_curvature_flow_skeletonization.h +++ b/Surface_mesh_skeletonization/include/CGAL/Mean_curvature_flow_skeletonization.h @@ -414,11 +414,13 @@ public: return m_min_edge_length; } - void set_max_triangle_angle(double value) + /// set function for `max_triangle_angle()` + void set_max_triangle_angle(double value) { m_alpha_TH = value; } + /// set function for `min_edge_length()` void set_min_edge_length(double value) { m_min_edge_length = value; @@ -443,11 +445,13 @@ public: return m_delta_area; } + /// set function for `max_iterations()` void set_max_iterations(std::size_t value) { m_max_iterations = value; } + /// set function for `area_variation_factor()` void set_area_variation_factor(double value) { m_delta_area = value; @@ -489,16 +493,19 @@ public: return m_omega_P; } + /// set function for `quality_speed_tradeoff()` void set_quality_speed_tradeoff(double value) { m_omega_H = value; } + /// set function for `is_medially_centered()` void set_is_medially_centered(bool value) { m_is_medially_centered = value; } + /// set function for `medially_centered_speed_tradeoff()` void set_medially_centered_speed_tradeoff(double value) { m_omega_P = value; diff --git a/Triangulation/doc/Triangulation/Triangulation.txt b/Triangulation/doc/Triangulation/Triangulation.txt index 962ec2bfe97..63861571602 100644 --- a/Triangulation/doc/Triangulation/Triangulation.txt +++ b/Triangulation/doc/Triangulation/Triangulation.txt @@ -181,7 +181,7 @@ corresponding to a face \f$ f \f$ stores a reference to a full cell `c` containing \f$ f \f$, and the indices of the vertices of `c` that belong to \f$ f \f$. - +\endcond ###Template Parameters###