Small documentation fixes

This commit is contained in:
Laurent Saboret 2009-04-22 15:06:24 +00:00
parent 685664588b
commit 7ca11c448a
28 changed files with 123 additions and 323 deletions

View File

@ -19,7 +19,9 @@
\ccDefinition
\ccc{CGAL::jet_smooth_point_set()} smooths a point set by fitting for each point a jet surface and projecting it onto the jet. The default jet surfaces are quadrics. The function exists in four variants: it may either alter (mutate) the input point set or create a copy; and it may either require a kernel or deduce it from input data.
\ccc{CGAL::jet_smooth_point_set()} smooths a point set by fitting for each point a jet surface and projecting it onto the jet. The default jet surfaces are quadrics.
The function exists in four variants: it may either alter (mutate) the input point set or create a copy; and it may either require a kernel or deduce it from input data.
\ccInclude{CGAL/jet_smooth_point_set.h}
@ -41,7 +43,7 @@ Smooth a point set using jet fitting on the k nearest neighbors and reprojection
\ccGlue
\ccFunction{template<typename ForwardIterator, typename Kernel> void jet_smooth_point_set(ForwardIterator first, ForwardIterator beyond, unsigned int k, const Kernel& kernel, const unsigned int degree_fitting = 2, const unsigned int degree_monge = 2);}
{
Smooth a point set using jet fitting on the k nearest neighbors and reprojection onto the jet. This function is mutating the input point set. This variant requires the kernel.
Smooth a point set using jet fitting on the k nearest neighbors and reprojection onto the jet. This variant is mutating the input point set and requires the kernel.
Warning: This method moves the points, thus should not be called on containers sorted wrt points position.
\ccPrecond k $>$= 2.
\ccCommentHeading{Template Parameters}
@ -67,7 +69,7 @@ Smooths points by fitting jet surfaces over their k nearest neighbors and projec
\ccGlue
\ccFunction{template<typename ForwardIterator> void jet_smooth_point_set(ForwardIterator first, ForwardIterator beyond, unsigned int k, const unsigned int degree_fitting = 2, const unsigned int degree_monge = 2);}
{
Smooths points by fitting jet surfaces over their k nearest neighbors and projecting onto the jets. This function is mutating the input point set. This variant deduces the kernel from iterator types.
Smooths points by fitting jet surfaces over their k nearest neighbors and projecting onto the jets. This function is mutating the input point set and deduces the kernel from iterator types.
Warning: As this method relocates the points, it should not be called on containers sorted w.r.t. point locations.
\ccPrecond k $>$= 2.
\ccCommentHeading{Template Parameters}

View File

@ -45,7 +45,7 @@ Merge points which belong to the same cell of a grid of cell size = epsilon. Thi
\ccGlue
\ccFunction{template<typename ForwardIterator, typename Kernel> ForwardIterator merge_simplify_point_set(ForwardIterator first, ForwardIterator beyond, double epsilon, const Kernel& kernel);}
{
Merge points which belong to the same cell of a grid of cell size = epsilon. This function is mutating the input point set. This variant requires the kernel.
Merge points which belong to the same cell of a grid of cell size = epsilon. This variant is mutating the input point set and requires the kernel.
Warning: This method modifies the order of points, thus should not be called on sorted containers.
\ccPrecond epsilon $>$ 0.
\ccCommentHeading{Template Parameters}
@ -72,7 +72,7 @@ Merge points which belong to the same cell of a grid of cell size = epsilon. Thi
\ccGlue
\ccFunction{template<typename ForwardIterator> ForwardIterator merge_simplify_point_set(ForwardIterator first, ForwardIterator beyond, double epsilon);}
{
Merge points which belong to the same cell of a grid of cell size = epsilon. This function is mutating the input point set. This variant deduces the kernel from iterator types.
Merge points which belong to the same cell of a grid of cell size = epsilon. This variant is mutating the input point set and deduces the kernel from iterator types.
Warning: This method modifies the order of points, thus should not be called on sorted containers.
\ccPrecond epsilon $>$ 0.
\ccCommentHeading{Template Parameters}

View File

@ -43,7 +43,7 @@ Randomly deletes a user-specified fraction of the input points. This variant req
\ccGlue
\ccFunction{template<typename ForwardIterator, typename Kernel> ForwardIterator random_simplify_point_set(ForwardIterator first, ForwardIterator beyond, double threshold_percent, const Kernel& kernel);}
{
Randomly deletes a user-specified fraction of the input points. This function is mutating the input point set. This variant requires the kernel.
Randomly deletes a user-specified fraction of the input points. This variant is mutating the input point set and requires the kernel.
Warning: This method modifies the order of points, thus should not be called on sorted containers.
\ccCommentHeading{Template Parameters}
\begin{description}
@ -68,7 +68,7 @@ Randomly deletes a user-specified fraction of the input points. This variant ded
\ccGlue
\ccFunction{template<typename ForwardIterator> ForwardIterator random_simplify_point_set(ForwardIterator first, ForwardIterator beyond, double threshold_percent);}
{
Randomly deletes a user-specified fraction of the input points. This function is mutating the input point set. This variant deduces the kernel from iterator types.
Randomly deletes a user-specified fraction of the input points. This variant is mutating the input point set and deduces the kernel from iterator types.
Warning: This method modifies the order of points, thus should not be called on sorted containers.
\ccCommentHeading{Template Parameters}
\ccc{ForwardIterator}: \ccc{value_type} must be convertible to \ccc{Point_3<Kernel>}.

View File

@ -47,7 +47,7 @@ Remove outliers:\begin{itemize}
\ccFunction{template<typename ForwardIterator, typename Kernel> ForwardIterator remove_outliers(ForwardIterator first, ForwardIterator beyond, unsigned int k, const Kernel& kernel, double threshold_percent);}
{
Remove outliers:\begin{itemize}
\item compute average squared distance to the K nearest neighbors,\item sort the points in increasing order of average distance. This function is mutating the input point set. This variant requires the kernel.\end{itemize}
\item compute average squared distance to the K nearest neighbors,\item sort the points in increasing order of average distance. This variant is mutating the input point set and requires the kernel.\end{itemize}
Warning: This method modifies the order of points, thus should not be called on sorted containers.
\ccPrecond k $>$= 2.
\ccCommentHeading{Template Parameters}
@ -76,7 +76,7 @@ Remove outliers:\begin{itemize}
\ccFunction{template<typename ForwardIterator> ForwardIterator remove_outliers(ForwardIterator first, ForwardIterator beyond, unsigned int k, double threshold_percent);}
{
Remove outliers:\begin{itemize}
\item compute average squared distance to the k nearest neighbors,\item sort the points in increasing order of average distance. This function is mutating the input point set. This variant deduces the kernel from iterator types.\end{itemize}
\item compute average squared distance to the k nearest neighbors,\item sort the points in increasing order of average distance. This variant is mutating the input point set and deduces the kernel from iterator types.\end{itemize}
Warning: This method modifies the order of points, thus should not be called on sorted containers.
\ccPrecond k $>$= 2.
\ccCommentHeading{Template Parameters}

View File

@ -283,8 +283,7 @@ improved_laplacian_smooth_point_set(
/// Improved Laplacian smoothing (Vollmer et al)
/// on the k nearest neighbors.
/// This function is mutating the input point set.
/// This variant requires the kernel.
/// This variant is mutating the input point set and requires the kernel.
///
/// Warning:
/// This method moves the points, thus
@ -405,8 +404,7 @@ improved_laplacian_smooth_point_set(
/// Improved Laplacian smoothing (Vollmer et al)
/// on the k nearest neighbors.
/// This function is mutating the input point set.
/// This variant deduces the kernel from iterator types.
/// This variant is mutating the input point set and deduces the kernel from iterator types.
///
/// Warning:
/// As this method relocates the points, it

View File

@ -161,8 +161,7 @@ jet_smooth_point_set(InputIterator first, ///< iterator over the first input
/// Smooth a point set using jet fitting on the k
/// nearest neighbors and reprojection onto the jet.
/// This function is mutating the input point set.
/// This variant requires the kernel.
/// This variant is mutating the input point set and requires the kernel.
///
/// Warning:
/// This method moves the points, thus
@ -241,8 +240,7 @@ jet_smooth_point_set(InputIterator first, ///< iterator over the first input poi
/// Smooths points by fitting jet surfaces over their k
/// nearest neighbors and projecting onto the jets.
/// This function is mutating the input point set.
/// This variant deduces the kernel from iterator types.
/// This function is mutating the input point set and deduces the kernel from iterator types.
///
/// Warning:
/// As this method relocates the points, it

View File

@ -147,8 +147,7 @@ merge_simplify_point_set(
}
/// Merge points which belong to the same cell of a grid of cell size = epsilon.
/// This function is mutating the input point set.
/// This variant requires the kernel.
/// This variant is mutating the input point set and requires the kernel.
///
/// Warning:
/// This method modifies the order of points, thus
@ -222,8 +221,7 @@ merge_simplify_point_set(
}
/// Merge points which belong to the same cell of a grid of cell size = epsilon.
/// This function is mutating the input point set.
/// This variant deduces the kernel from iterator types.
/// This variant is mutating the input point set and deduces the kernel from iterator types.
///
/// Warning:
/// This method modifies the order of points, thus

View File

@ -65,8 +65,7 @@ random_simplify_point_set(
}
/// Randomly deletes a user-specified fraction of the input points.
/// This function is mutating the input point set.
/// This variant requires the kernel.
/// This variant is mutating the input point set and requires the kernel.
///
/// Warning:
/// This method modifies the order of points, thus
@ -127,8 +126,7 @@ random_simplify_point_set(
}
/// Randomly deletes a user-specified fraction of the input points.
/// This function is mutating the input point set.
/// This variant deduces the kernel from iterator types.
/// This variant is mutating the input point set and deduces the kernel from iterator types.
///
/// Warning:
/// This method modifies the order of points, thus

View File

@ -170,8 +170,7 @@ remove_outliers(
/// Remove outliers:
/// - compute average squared distance to the K nearest neighbors,
/// - sort the points in increasing order of average distance.
/// This function is mutating the input point set.
/// This variant requires the kernel.
/// This variant is mutating the input point set and requires the kernel.
///
/// Warning:
/// This method modifies the order of points, thus
@ -276,8 +275,7 @@ remove_outliers(
/// Remove outliers:
/// - compute average squared distance to the k nearest neighbors,
/// - sort the points in increasing order of average distance.
/// This function is mutating the input point set.
/// This variant deduces the kernel from iterator types.
/// This variant is mutating the input point set and deduces the kernel from iterator types.
///
/// Warning:
/// This method modifies the order of points, thus

View File

@ -227,8 +227,7 @@ remove_outliers_wrt_median_knn_sq_distance(
/// Remove outliers:
/// - compute median squared distance to the K nearest neighbors,
/// - sort the points in increasing order of computed distance.
/// This function is mutating the input point set.
/// This variant requires the kernel.
/// This variant is mutating the input point set and requires the kernel.
///
/// Warning:
/// This method modifies the order of points, thus
@ -333,8 +332,7 @@ remove_outliers_wrt_median_knn_sq_distance(
/// Remove outliers:
/// - compute median squared distance to the K nearest neighbors,
/// - sort the points in increasing order of computed distance.
/// This function is mutating the input point set.
/// This variant deduces the kernel from iterator types.
/// This variant is mutating the input point set and deduces the kernel from iterator types.
///
/// Warning:
/// This method modifies the order of points, thus

View File

@ -37,10 +37,12 @@ private:
// Public types
public:
/// Geometric traits class / Point_3 is a model of PointWithNormal_3.
typedef Gt Geom_traits;
// Repeat Reconstruction_triangulation_3 public types
/// @cond SKIP_IN_MANUAL
typedef Tds Triangulation_data_structure;
typedef Gt Geom_traits; ///< Geometric traits class / Point_3 is a model of PointWithNormal_3.
typedef typename Base::Segment Segment;
typedef typename Base::Triangle Triangle;
typedef typename Base::Tetrahedron Tetrahedron;
@ -72,7 +74,6 @@ public:
typedef typename Base::Normal_iterator Normal_iterator;
/// @endcond
/// The geometric traits class's Point_3 type is a model of PointWithNormal_3
typedef typename Geom_traits::Point_3 Point; ///< Model of PointWithNormal_3
typedef typename Geom_traits::Point_3 Point_with_normal; ///< Model of PointWithNormal_3
typedef typename Point_with_normal::Normal Normal; ///< Model of Kernel::Vector_3 concept.

View File

@ -46,7 +46,6 @@ public:
typedef typename Geom_traits::Vector_3 Vector;
typedef typename Geom_traits::Sphere_3 Sphere;
/// The geometric traits class's Point_3 type is a model of PointWithNormal_3
typedef typename Geom_traits::Point_3 Point; ///< Model of PointWithNormal_3
typedef typename Geom_traits::Point_3 Point_with_normal; ///< Model of PointWithNormal_3
typedef typename Point_with_normal::Normal Normal; ///< Model of Kernel::Vector_3 concept.
@ -89,9 +88,9 @@ public:
/// Get the bounding sphere of input points.
Sphere input_points_bounding_sphere() const;
/// Insert point (model of PointWithNormal_3) in the triangulation.
/// Insert point in the triangulation.
/// Default type is INPUT.
Vertex_handle insert(const Point& p,
Vertex_handle insert(const Point_with_normal& p,
Point_type type = INPUT,
Cell_handle start = Cell_handle());
@ -112,7 +111,7 @@ public:
/// insert STEINER point in the triangulation.
template <class CellIt>
Vertex_handle
insert_in_hole(const Point & p, CellIt cell_begin, CellIt cell_end,
insert_in_hole(const Point_with_normal & p, CellIt cell_begin, CellIt cell_end,
Cell_handle begin, int i,
Point_type type = STEINER);

View File

@ -50,8 +50,8 @@ public:
public:
ReconstructionVertexBase_3();
ReconstructionVertexBase_3(const Point & p);
ReconstructionVertexBase_3(const Point & p, Cell_handle c);
ReconstructionVertexBase_3(const Point_with_normal & p);
ReconstructionVertexBase_3(const Point_with_normal & p, Cell_handle c);
ReconstructionVertexBase_3(Cell_handle c);
/// Is vertex constrained, i.e.

View File

@ -22,7 +22,11 @@
% The section below is automatically generated. Do not edit!
%START-AUTO(\ccDefinition)
\ccc{APSS_reconstruction_function} computes an implicit function that defines a Point Set Surface (PSS) based on moving least squares (MLS) fitting of algebraic spheres. See {\em Algebraic Point Set Surfaces} by Guennebaud and Gross \cite{Guennebaud07}.
\ccc{APSS_reconstruction_function} computes an implicit function that defines a Point Set Surface (PSS) based on moving least squares (MLS) fitting of algebraic spheres.
See {\em Algebraic Point Set Surfaces} by Guennebaud and Gross \cite{Guennebaud07}.
Note that APSS reconstruction may create small {\em ghost} connected components close to the reconstructed surface that you should delete. For this purpose, you may call \ccc{erase_small_polyhedron_connected_components}() after \ccc{make_surface_mesh}().
%END-AUTO(\ccDefinition)
@ -74,14 +78,12 @@ Kernel's geometric traits.
\ccGlue
\ccNestedType{Point}
{
== \ccc{Point_3<Gt>}
}
\ccGlue
\ccNestedType{Vector}
{
}
\ccGlue
\ccNestedType{Iso_cuboid}
{
== \ccc{Vector_3<Gt>}
}
\ccGlue
\ccNestedType{Sphere}
@ -95,7 +97,7 @@ Kernel's geometric traits.
\ccGlue
\ccNestedType{Normal}
{
== \ccc{Vector_3}
== \ccc{Vector_3<Gt>}
}
\ccGlue
@ -109,11 +111,11 @@ Kernel's geometric traits.
\ccConstructor{template<class InputIterator> APSS_reconstruction_function(InputIterator first, InputIterator beyond, unsigned int k);}
{
Create an APSS implicit function from a point set.
Creates an APSS implicit function from a set of oriented points.
\ccPrecond InputIterator \ccc{value_type} must be convertible to \ccc{Point_with_normal}.
\ccCommentHeading{Parameters}
\begin{description}
\item \ccc{first}: Iterator over first point to add. \item \ccc{beyond}: Past-the-end iterator to add. \item \ccc{k}: neighbors for APSS sphere fitting. \end{description}
\item \ccc{first}: Iterator over first point. \item \ccc{beyond}: Past-the-end iterator. \item \ccc{k}: number of neighbors for APSS sphere fitting. \end{description}
}
\ccGlue
\ccConstructor{APSS_reconstruction_function(const APSS_reconstruction_function<Gt>& other);}
@ -136,11 +138,7 @@ operator =()
\ccGlue
\ccMethod{void set_numbers_of_neighbors(unsigned int k);}
{
}
\ccGlue
\ccMethod{Iso_cuboid bounding_box() const;}
{
Get the bounding box.
Set number of neighbors for APSS sphere fitting.
}
\ccGlue
\ccMethod{const Sphere& bounding_sphere() const;}
@ -148,14 +146,9 @@ Get the bounding box.
Returns a sphere bounding the inferred surface.
}
\ccGlue
\ccMethod{Sphere region_of_interest() const;}
{
Get the region of interest, ignoring the outliers. This method is used to define the OpenGL arcball sphere.
}
\ccGlue
\ccMethod{FT operator()(const Point& p) const;}
{
Evaluate implicit function for any 3D point. (\ccc{ImplicitFunction} interface)
\ccc{ImplicitFunction} interface: evaluate implicit function for any 3D point.
}
\ccGlue
\ccMethod{Point get_inner_point() const;}

View File

@ -22,7 +22,9 @@
% The section below is automatically generated. Do not edit!
%START-AUTO(\ccDefinition)
\ccc{Poisson_reconstruction_function} computes an indicator function f() piecewise-linear over the tetrahedra. We solve the Poisson equation Laplacian(f) = divergent(normals field) at each vertex of the triangulation via the TAUCS sparse linear solver. One vertex outside of the surface will be constrained to a value of 0.0.
Kazhdan, Bolitho and Hoppe introduced the Poisson Surface Reconstruction algorithm \cite{Kazhdan06}. Given a set of 3D points with oriented normals sampled on the boundary of a 3D solid, this method solves for an approximate indicator function of the inferred solid, whose gradient best matches the input normals. The output scalar function, represented in an adaptive octree, is then iso-contoured using an adaptive marching cubes.
\ccc{Poisson_reconstruction_function} implements a variant of this algorithm which solves for a piecewise linear function on a 3D Delaunay triangulation instead of an adaptive octree the TAUCS sparse linear solver. In order to get a unique solution, one vertex outside of the surface is constrained to a value of 0.0.
%END-AUTO(\ccDefinition)
@ -47,7 +49,7 @@ class \ccc{Poisson_reconstruction_function};
\ccCommentHeading{Parameters}
\begin{description}
\item \ccc{Gt}: Geometric traits class \item \ccc{ReconstructionTriangulation_3}: 3D Delaunay triangulation, model of \ccc{ReconstructionTriangulation_3} concept. \end{description}
\item \ccc{Gt}: Geometric traits class. \item \ccc{ReconstructionTriangulation_3}: 3D Delaunay triangulation, model of \ccc{ReconstructionTriangulation_3} concept. \end{description}
%END-AUTO(\ccParameters)
@ -86,10 +88,6 @@ Kernel's geometric traits.
{
}
\ccGlue
\ccNestedType{Iso_cuboid}
{
}
\ccGlue
\ccNestedType{Sphere}
{
}
@ -127,7 +125,7 @@ Creates a scalar function from a set of oriented points. Inserts the iterator ra
\ccPrecond InputIterator \ccc{value_type} must be convertible to \ccc{Point_with_normal}.
\ccCommentHeading{Parameters}
\begin{description}
\item \ccc{tr}: \ccc{ReconstructionTriangulation_3} base of the Poisson indicator function. \item \ccc{first}: Iterator over first point to add to \ccc{tr}. \item \ccc{beyond}: Past-the-end iterator to add to \ccc{tr}. \end{description}
\item \ccc{tr}: \ccc{ReconstructionTriangulation_3} base of the Poisson indicator function. \item \ccc{first}: Iterator over first point to add. \item \ccc{beyond}: Past-the-end iterator to add. \end{description}
}
\ccGlue
@ -144,7 +142,7 @@ Insert points.
\ccPrecond InputIterator \ccc{value_type} must be convertible to \ccc{Point_with_normal}.
\ccCommentHeading{Parameters}
\begin{description}
\item \ccc{first}: Iterator over first point to add to \ccc{tr}. \item \ccc{beyond}: Past-the-end iterator to add to \ccc{tr}. \end{description}
\item \ccc{first}: Iterator over first point to add. \item \ccc{beyond}: Past-the-end iterator to add. \end{description}
\ccCommentHeading{Returns} the number of inserted points.
}
\ccGlue
@ -162,21 +160,11 @@ Get embedded triangulation.
{
}
\ccGlue
\ccMethod{Iso_cuboid bounding_box() const;}
{
Returns a bounding box of the inferred surface.
}
\ccGlue
\ccMethod{Sphere bounding_sphere() const;}
{
Returns a sphere bounding the inferred surface.
}
\ccGlue
\ccMethod{Sphere region_of_interest() const;}
{
Get the region of interest, ignoring the outliers. This method is used to define the OpenGL arcball sphere.
}
\ccGlue
\ccMethod{bool compute_implicit_function();}
{
The function \ccc{compute_implicit_function}() must be called after each insertion of oriented points. It computes the piecewise linear scalar function \ccc{f} by:\begin{itemize}
@ -184,52 +172,6 @@ The function \ccc{compute_implicit_function}() must be called after each inserti
Returns false if the linear solver fails.
}
\ccGlue
\ccMethod{void average_spacing_avg_knn_sq_distance_3();}
{
}
\ccGlue
\ccMethod{unsigned int delaunay_refinement(FT radius_edge_ratio_bound, FT cell_radius_bound, unsigned int max_vertices, FT enlarge_ratio);}
{
Delaunay refinement (break bad tetrahedra, where bad means badly shaped or too big). The normal of Steiner points is set to zero. Return the number of vertices inserted.
\ccCommentHeading{Parameters}
\begin{description}
\item \ccc{radius_edge_ratio_bound}: radius edge ratio bound (ignored if zero) \item \ccc{cell_radius_bound}: cell radius bound (ignored if zero) \item \ccc{max_vertices}: number of vertices bound \item \ccc{enlarge_ratio}: bounding box enlarge ratio \end{description}
}
\ccGlue
\ccMethod{unsigned int delaunay_refinement_shell(FT size_shell, FT sizing, unsigned int max_vertices);}
{
}
\ccGlue
\ccMethod{void extrapolate_normals();}
{
Extrapolate the normals field: compute null normals by averaging neighbor normals.
}
\ccGlue
\ccMethod{FT gaussian_function(FT sigma, FT distance);}
{
}
\ccGlue
\ccMethod{int extrapolate_normals_using_gaussian_kernel();}
{
Extrapolate the normals field. Return the number of normals computed.
}
\ccGlue
\ccMethod{bool solve_poisson(double lambda, double * duration_assembly, double * duration_factorization, double * duration_solve, bool is_normalized = false);}
{
Poisson reconstruction. Return false on error.
}
\ccGlue
\ccMethod{void SaveAsMeshFile();}
{
}
\ccGlue
\ccMethod{FT set_contouring_value(FT contouring_value);}
{
Shift and orient the implicit function such that:\begin{itemize}
\item the implicit function = 0 for points / f() = \ccc{contouring_value},\item the implicit function $<$ 0 inside the surface.\end{itemize}
Return the minimum value of the implicit function.
}
\ccGlue
\ccMethod{FT f(const Point& p) const;}
{
Evaluates the implicit function at a given 3D query point.
@ -237,7 +179,7 @@ Evaluates the implicit function at a given 3D query point.
\ccGlue
\ccMethod{FT operator()(const Point& p) const;}
{
Evaluates the implicit function at a given 3D query point. (\ccc{ImplicitFunction} interface)
\ccc{ImplicitFunction} interface: evaluate implicit function for any 3D point.
}
\ccGlue
\ccMethod{Point get_inner_point() const;}
@ -245,43 +187,12 @@ Evaluates the implicit function at a given 3D query point. (\ccc{ImplicitFunctio
Returns a point located inside the inferred surface.
}
\ccGlue
\ccMethod{FT average_value_at_input_vertices() const;}
{
Get average value of the implicit function over input vertices.
}
\ccGlue
\ccMethod{FT median_value_at_input_vertices() const;}
{
Get median value of the implicit function over input vertices.
}
\ccGlue
\ccMethod{FT min_value_at_input_vertices() const;}
{
Get min value of the implicit function over input vertices.
}
\ccGlue
\ccMethod{FT max_value_at_input_vertices() const;}
{
Get max value of the implicit function over input vertices.
}
\ccGlue
\ccMethod{FT median_value_at_convex_hull() const;}
{
Get median value of the implicit function over convex hull vertices.
}
\ccGlue
\ccMethod{FT average_value_at_convex_hull() const;}
{
Get average value of the implicit function over convex hull vertices.
}
\ccGlue
%END-AUTO(\ccOperations)
\ccSeeAlso
\ccRefIdfierPage{CGAL::Reconstruction_triangulation_3<GeomTraits, TriangulationDataStructure_3>} \\
\ccRefIdfierPage{CGAL::Reconstruction_cell_base_3<GeomTraits, TriangulationCellBase_3>} \\
\ccRefIdfierPage{CGAL::Reconstruction_vertex_base_3<GeomTraits, TriangulationVertexBase_3>} \\
\ccRefIdfierPage{CGAL::APSS_reconstruction_function<GeomTraits>} \\

View File

@ -22,13 +22,10 @@
% The section below is automatically generated. Do not edit!
%START-AUTO(\ccDefinition)
The \ccc{ReconstructionTriangulation_3} concept defines the interface of a 3D Delaunay triangulation requested by the \ccc{Poisson_reconstruction_function} class. The cell class must be a model of \ccc{ReconstructionCellBase_3} and the vertex class must be a model of \ccc{ReconstructionVertexBase_3}.
The \ccc{ReconstructionTriangulation_3} concept defines the interface of a 3D Delaunay triangulation requested by the \ccc{Poisson_reconstruction_function} class. The vertex class must be a model of \ccc{ReconstructionVertexBase_3}.
It provides the interface requested by the \ccc{Poisson_reconstruction_function} class:\begin{itemize}
\item Each vertex stores a normal vector.\item A vertex is either an input point or a Steiner point added by Delaunay refinement.\item In order to solve a linear system over the triangulation, a vertex may be constrained or not (i.e. contributes to the right or left member of the linear system), and has a unique index.\end{itemize}
CAUTION: User is responsible to call \ccc{invalidate_bounds}() after adding or removing points.
\item Each vertex stores a normal vector.\item A vertex is either an input point or a Steiner point added by Delaunay refinement.\item In order to solve a linear system over the triangulation, a vertex may be constrained or not (i.e. may contribute to the right or left member of the linear system), and has a unique index.\end{itemize}
%END-AUTO(\ccDefinition)
@ -46,6 +43,11 @@ CAUTION: User is responsible to call \ccc{invalidate_bounds}() after adding or r
% The section below is automatically generated. Do not edit!
%START-AUTO(\ccTypes)
\ccNestedType{Geom_traits}
{
Geometric traits class / \ccc{Point_3} is a model of \ccc{PointWithNormal_3}.
}
\ccGlue
\ccNestedType{FT}
{
}
@ -54,18 +56,13 @@ CAUTION: User is responsible to call \ccc{invalidate_bounds}() after adding or r
{
}
\ccGlue
\ccNestedType{Iso_cuboid}
{
}
\ccGlue
\ccNestedType{Sphere}
{
}
\ccGlue
\ccNestedType{Point}
{
The geometric traits class's \ccc{Point_3} type is a model of \ccc{PointWithNormal_3}.
Model of \ccc{PointWithNormal_3}
Model of \ccc{PointWithNormal_3}.
}
\ccGlue
\ccNestedType{Point_with_normal}
@ -108,7 +105,7 @@ Point type.
\ccGlue
\ccCommentHeading{Values}
\begin{description}
\item \ccc{INPUT}: Input point. \item \ccc{STEINER}: \end{description}
\item \ccc{INPUT}: Input point. \item \ccc{STEINER}: Steiner point created by Delaunay refinement. \end{description}
\ccGlue
%END-AUTO(\ccConstants)
@ -151,16 +148,6 @@ Get iterator over the first input point.
Get past-the-end iterator over input points.
}
\ccGlue
\ccMethod{Iso_cuboid bounding_box() const;}
{
Get the bounding box of all points.
}
\ccGlue
\ccMethod{Iso_cuboid input_points_bounding_box() const;}
{
Get the bounding box of input points.
}
\ccGlue
\ccMethod{Sphere bounding_sphere() const;}
{
Get the bounding sphere of all points.
@ -171,21 +158,6 @@ Get the bounding sphere of all points.
Get the bounding sphere of input points.
}
\ccGlue
\ccMethod{Point barycenter() const;}
{
Get the barycenter of all points.
}
\ccGlue
\ccMethod{FT diameter_standard_deviation() const;}
{
Get the standard deviation of the distance to barycenter (for all points).
}
\ccGlue
\ccMethod{void invalidate_bounds();}
{
Update barycenter, bounding box, bounding sphere and standard deviation. User is responsible to call \ccc{invalidate_bounds}() after adding or removing points.
}
\ccGlue
\ccMethod{Vertex_handle insert(const Point& p, Point_type type = INPUT, Cell_handle start = Cell_handle());}
{
Insert point (model of \ccc{PointWithNormal_3}) in the triangulation. Default type is INPUT.
@ -206,12 +178,6 @@ Insert points in the triangulation using a spatial sort. Default type is INPUT.
Delaunay refinement callback: insert STEINER point in the triangulation.
}
\ccGlue
\ccMethod{unsigned int index_vertices();}
{
Index all finite vertices following the order of \ccc{Finite_vertices_iterator}.
\ccCommentHeading{Returns} the number of finite vertices.
}
\ccGlue
\ccMethod{unsigned int index_unconstrained_vertices();}
{
Index unconstrained vertices following the order of \ccc{Finite_vertices_iterator}.

View File

@ -23,7 +23,7 @@
%START-AUTO(\ccDefinition)
The \ccc{ReconstructionVertexBase_3} concept defines the interface of the vertex class of the \ccc{ReconstructionTriangulation_3} concept. It provides the interface requested by the \ccc{Poisson_reconstruction_function} class:\begin{itemize}
\item Each vertex stores a normal vector.\item A vertex is either an input point or a Steiner point added by Delaunay refinement.\item In order to solve a linear system over the triangulation, a vertex may be constrained or not (i.e. contributes to the right or left member of the linear system), and has a unique index.\end{itemize}
\item Each vertex stores a normal vector.\item A vertex is either an input point or a Steiner point added by Delaunay refinement.\item In order to solve a linear system over the triangulation, a vertex may be constrained or not (i.e. may contribute to the right or left member of the linear system), and has a unique index.\end{itemize}
@ -45,6 +45,11 @@ The \ccc{ReconstructionVertexBase_3} concept defines the interface of the vertex
% The section below is automatically generated. Do not edit!
%START-AUTO(\ccTypes)
\ccNestedType{Geom_traits}
{
Geometric traits class / \ccc{Point_3} is a model of \ccc{PointWithNormal_3}.
}
\ccGlue
\ccNestedType{FT}
{
}
@ -115,15 +120,6 @@ Get/set the value of the implicit function. Default value is 0.0.
{
}
\ccGlue
\ccMethod{double average_spacing() const;}
{
Get/set average spacing at each input point.
}
\ccGlue
\ccMethod{double& average_spacing();}
{
}
\ccGlue
\ccMethod{unsigned char type() const;}
{
Get/set the type = INPUT or STEINER.
@ -151,15 +147,6 @@ Get/set normal (vector + orientation). Default value is null vector.
{
}
\ccGlue
\ccMethod{int tag() const;}
{
General purpose tag.
}
\ccGlue
\ccMethod{int& tag();}
{
}
\ccGlue
%END-AUTO(\ccOperations)

View File

@ -22,13 +22,10 @@
% The section below is automatically generated. Do not edit!
%START-AUTO(\ccDefinition)
The \ccc{Reconstruction_triangulation_3} class is the default implementation of the \ccc{ReconstructionTriangulation_3} concept. The cell class must be a model of \ccc{ReconstructionCellBase_3} and the vertex class must be a model of \ccc{ReconstructionVertexBase_3}.
The \ccc{Reconstruction_triangulation_3} class is the default implementation of the \ccc{ReconstructionTriangulation_3} concept. The vertex class must be a model of \ccc{ReconstructionVertexBase_3}.
It provides the interface requested by the \ccc{Poisson_reconstruction_function} class:\begin{itemize}
\item Each vertex stores a normal vector.\item A vertex is either an input point or a Steiner point added by Delaunay refinement.\item In order to solve a linear system over the triangulation, a vertex may be constrained or not (i.e. contributes to the right or left member of the linear system), and has a unique index.\end{itemize}
CAUTION: User is responsible to call \ccc{invalidate_bounds}() after adding or removing points.
\item Each vertex stores a normal vector.\item A vertex is either an input point or a Steiner point added by Delaunay refinement.\item In order to solve a linear system over the triangulation, a vertex may be constrained or not (i.e. may contribute to the right or left member of the linear system), and has a unique index.\end{itemize}
%END-AUTO(\ccDefinition)
@ -49,12 +46,12 @@ The full template declaration is:
template$<$ \\
class BaseGt, \\
class Gt = \ccc{Reconstruction_triangulation_default_geom_traits_3<BaseGt>}, \\
class Tds = \ccc{Triangulation_data_structure_3<Reconstruction_vertex_base_3<Gt>}, \ccc{Reconstruction_cell_base_3<Gt>} $>$$>$ \\
class Tds = \ccc{Triangulation_data_structure_3<Reconstruction_vertex_base_3<Gt>} $>$$>$ \\
class \ccc{Reconstruction_triangulation_3};
\ccCommentHeading{Parameters}
\begin{description}
\item \ccc{BaseGt}: Kernel's geometric traits. \item \ccc{Gt}: Geometric traits class / \ccc{Point_3} is a model of \ccc{PointWithNormal_3}. \item \ccc{Tds}: Model of \ccc{TriangulationDataStructure_3}. The cell class must be a model of \ccc{ReconstructionCellBase_3} and the vertex class must be a model of \ccc{ReconstructionVertexBase_3}. \end{description}
\item \ccc{BaseGt}: Kernel's geometric traits. \item \ccc{Gt}: Geometric traits class / \ccc{Point_3} is a model of \ccc{PointWithNormal_3}. \item \ccc{Tds}: Model of \ccc{TriangulationDataStructure_3}. The vertex class must be a model of \ccc{ReconstructionVertexBase_3}. \end{description}
%END-AUTO(\ccParameters)
@ -81,6 +78,11 @@ Model of the \ccc{ReconstructionTriangulation_3} concept.
% The section below is automatically generated. Do not edit!
%START-AUTO(\ccTypes)
\ccNestedType{Geom_traits}
{
Geometric traits class / \ccc{Point_3} is a model of \ccc{PointWithNormal_3}.
}
\ccGlue
\ccNestedType{FT}
{
}
@ -89,18 +91,13 @@ Model of the \ccc{ReconstructionTriangulation_3} concept.
{
}
\ccGlue
\ccNestedType{Iso_cuboid}
{
}
\ccGlue
\ccNestedType{Sphere}
{
}
\ccGlue
\ccNestedType{Point}
{
The geometric traits class's \ccc{Point_3} type is a model of \ccc{PointWithNormal_3}.
Model of \ccc{PointWithNormal_3}
Model of \ccc{PointWithNormal_3}.
}
\ccGlue
\ccNestedType{Point_with_normal}
@ -143,7 +140,7 @@ Point type.
\ccGlue
\ccCommentHeading{Values}
\begin{description}
\item \ccc{INPUT}: Input point. \item \ccc{STEINER}: \end{description}
\item \ccc{INPUT}: Input point. \item \ccc{STEINER}: Steiner point created by Delaunay refinement. \end{description}
\ccGlue
%END-AUTO(\ccConstants)
@ -197,16 +194,6 @@ Get iterator over the first input point.
Get past-the-end iterator over input points.
}
\ccGlue
\ccMethod{Iso_cuboid bounding_box() const;}
{
Get the bounding box of all points.
}
\ccGlue
\ccMethod{Iso_cuboid input_points_bounding_box() const;}
{
Get the bounding box of input points.
}
\ccGlue
\ccMethod{Sphere bounding_sphere() const;}
{
Get the bounding sphere of all points.
@ -217,21 +204,6 @@ Get the bounding sphere of all points.
Get the bounding sphere of input points.
}
\ccGlue
\ccMethod{Point barycenter() const;}
{
Get the barycenter of all points.
}
\ccGlue
\ccMethod{FT diameter_standard_deviation() const;}
{
Get the standard deviation of the distance to barycenter (for all points).
}
\ccGlue
\ccMethod{void invalidate_bounds();}
{
Update barycenter, bounding box, bounding sphere and standard deviation. User is responsible to call \ccc{invalidate_bounds}() after adding or removing points.
}
\ccGlue
\ccMethod{Vertex_handle insert(const Point& p, Point_type type = INPUT, Cell_handle start = Cell_handle());}
{
Insert point (model of \ccc{PointWithNormal_3}) in the triangulation. Default type is INPUT.
@ -252,12 +224,6 @@ Insert points in the triangulation using a spatial sort. Default type is INPUT.
Delaunay refinement callback: insert STEINER point in the triangulation.
}
\ccGlue
\ccMethod{unsigned int index_vertices();}
{
Index all finite vertices following the order of \ccc{Finite_vertices_iterator}.
\ccCommentHeading{Returns} the number of finite vertices.
}
\ccGlue
\ccMethod{unsigned int index_unconstrained_vertices();}
{
Index unconstrained vertices following the order of \ccc{Finite_vertices_iterator}.

View File

@ -32,7 +32,7 @@
The \ccc{Reconstruction_vertex_base_3} class is the default vertex class of the \ccc{Reconstruction_triangulation_3} class.
It provides the interface requested by the \ccc{Poisson_reconstruction_function} class:\begin{itemize}
\item Each vertex stores a normal vector.\item A vertex is either an input point or a Steiner point added by Delaunay refinement.\item In order to solve a linear system over the triangulation, a vertex may be constrained or not (i.e. contributes to the right or left member of the linear system), and has a unique index.\end{itemize}
\item Each vertex stores a normal vector.\item A vertex is either an input point or a Steiner point added by Delaunay refinement.\item In order to solve a linear system over the triangulation, a vertex may be constrained or not (i.e. may contribute to the right or left member of the linear system), and has a unique index.\end{itemize}
%END-AUTO(\ccDefinition)
@ -75,6 +75,11 @@ Model of the \ccc{ReconstructionVertexBase_3} concept.
% The section below is automatically generated. Do not edit!
%START-AUTO(\ccTypes)
\ccNestedType{Geom_traits}
{
Geometric traits class / \ccc{Point_3} is a model of \ccc{PointWithNormal_3}.
}
\ccGlue
\ccNestedType{FT}
{
}
@ -145,15 +150,6 @@ Get/set the value of the implicit function. Default value is 0.0.
{
}
\ccGlue
\ccMethod{double average_spacing() const;}
{
Get/set average spacing at each input point.
}
\ccGlue
\ccMethod{double& average_spacing();}
{
}
\ccGlue
\ccMethod{unsigned char type() const;}
{
Get/set the type = INPUT or STEINER.
@ -181,22 +177,12 @@ Get/set normal (vector + orientation). Default value is null vector.
{
}
\ccGlue
\ccMethod{int tag() const;}
{
General purpose tag.
}
\ccGlue
\ccMethod{int& tag();}
{
}
\ccGlue
%END-AUTO(\ccOperations)
\ccSeeAlso
\ccRefIdfierPage{CGAL::Reconstruction_triangulation_3<GeomTraits, TriangulationDataStructure_3>} \\
\ccRefIdfierPage{CGAL::Reconstruction_cell_base_3<GeomTraits, TriangulationCellBase_3>} \\
\ccRefIdfierPage{CGAL::Poisson_reconstruction_function<GeomTraits, ReconstructionTriangulation_3>} \\
\end{ccRefClass}

View File

@ -26,7 +26,7 @@
\ccFunction{template<class Polyhedron> unsigned int erase_small_polyhedron_connected_components(Polyhedron& polyhedron);}
{
Erase small connected components of a polyhedron: erase all connected components but the largest.
Erases small connected components of a polyhedron: It calls \ccc{get_polyhedron_connected_components}(), then \ccc{erase_connected_component}() on all connected components but the largest.
\ccCommentHeading{Template Parameters}
\ccc{Polyhedron}: an instance of \ccc{Polyhedron_3<Traits>} that supports vertices and removal operation.
\ccCommentHeading{Returns} the number of connected components erased.

View File

@ -32,8 +32,7 @@ Get reconstructed surface out of a \ccc{SurfaceMeshComplex_2InTriangulation_3} o
This variant exports the surface as a polyhedron. It requires the surface to be manifold. For this purpose, you may call \ccc{make_surface_mesh}() with \ccc{Manifold_tag} or \ccc{Manifold_with_boundary_tag} parameter.
\ccCommentHeading{Template Parameters}
\begin{description}
\item \ccc{SurfaceMeshComplex_2InTriangulation_3}: model of the \ccc{SurfaceMeshComplex_2InTriangulation_3} concept. \item \ccc{Polyhedron}: an instance of \ccc{Polyhedron_3<Traits>}.\end{description}
\ccCommentHeading{Returns} true on success.
\item \ccc{SurfaceMeshComplex_2InTriangulation_3}: model of the \ccc{SurfaceMeshComplex_2InTriangulation_3} concept. \item \ccc{Polyhedron}: an instance of \ccc{Polyhedron_3<Traits>}. \end{description}
\ccCommentHeading{Parameters}
\begin{description}
\item \ccc{c2t3}: Input surface. \item \ccc{output_polyhedron}: Output polyhedron. \end{description}
@ -45,6 +44,7 @@ This variant exports the surface as a polyhedron. It requires the surface to be
\ccSeeAlso
\ccRefIdfierPage{CGAL::output_surface_facets_to_off} \\
\ccRefIdfierPage{CGAL::output_surface_facets_to_triangle_soup} \\
\ccExample

View File

@ -32,8 +32,7 @@ Get reconstructed surface out of a \ccc{SurfaceMeshComplex_2InTriangulation_3} o
This variant exports the surface as a triangle soup.
\ccCommentHeading{Template Parameters}
\begin{description}
\item \ccc{SurfaceMeshComplex_2InTriangulation_3}: model of the \ccc{SurfaceMeshComplex_2InTriangulation_3} concept. \item \ccc{OutputIterator}: \ccc{value_type} must be convertible from \ccc{Triangle_3<Kernel>}.\end{description}
\ccCommentHeading{Returns} true on success.
\item \ccc{SurfaceMeshComplex_2InTriangulation_3}: model of the \ccc{SurfaceMeshComplex_2InTriangulation_3} concept. \item \ccc{OutputIterator}: \ccc{value_type} must be convertible from \ccc{Triangle_3<Kernel>}. \end{description}
\ccCommentHeading{Parameters}
\begin{description}
\item \ccc{c2t3}: Input surface. \item \ccc{output_iterator}: Output iterator. \end{description}
@ -45,6 +44,7 @@ This variant exports the surface as a triangle soup.
\ccSeeAlso
\ccRefIdfierPage{CGAL::output_surface_facets_to_off} \\
\ccRefIdfierPage{CGAL::output_surface_facets_to_polyhedron} \\
\ccExample

View File

@ -38,8 +38,14 @@ CGAL_BEGIN_NAMESPACE
/// APSS_reconstruction_function computes an implicit function
/// that defines a Point Set Surface (PSS) based on
/// moving least squares (MLS) fitting of algebraic spheres.
///
/// See "Algebraic Point Set Surfaces" by Guennebaud and Gross [Guennebaud07].
///
/// Note that APSS reconstruction may create small "ghost" connected components
/// close to the reconstructed surface that you should delete.
/// For this purpose, you may call erase_small_polyhedron_connected_components()
/// after make_surface_mesh().
///
/// @heading Is Model for the Concepts:
/// Model of the 'ImplicitFunction' concept.
///
@ -55,12 +61,11 @@ public:
typedef Gt Geom_traits; ///< Kernel's geometric traits
typedef typename Geom_traits::FT FT;
typedef typename Geom_traits::Point_3 Point;
typedef typename Geom_traits::Vector_3 Vector;
typedef typename Geom_traits::Point_3 Point; ///< == Point_3<Gt>
typedef typename Geom_traits::Vector_3 Vector; ///< == Vector_3<Gt>
typedef typename Geom_traits::Sphere_3 Sphere;
typedef Point_with_normal_3<Gt> Point_with_normal; ///< == Point_with_normal_3<Gt>
typedef typename Point_with_normal::Normal Normal; ///< == Vector_3
// Private types
private:
@ -114,7 +119,7 @@ public:
///
/// @param first Iterator over first point.
/// @param beyond Past-the-end iterator.
/// @param k #neighbors for APSS sphere fitting.
/// @param k number of neighbors for APSS sphere fitting.
template < class InputIterator >
APSS_reconstruction_function(InputIterator first, InputIterator beyond,
unsigned int k)
@ -180,7 +185,7 @@ public:
delete m;
}
/// Set #neighbors for APSS sphere fitting.
/// Set number of neighbors for APSS sphere fitting.
void set_numbers_of_neighbors(unsigned int k) {m->nofNeighbors = k;}
/// Returns a sphere bounding the inferred surface.

View File

@ -35,8 +35,6 @@ CGAL_BEGIN_NAMESPACE
/// @commentheading Template Parameters:
/// @param SurfaceMeshComplex_2InTriangulation_3 model of the SurfaceMeshComplex_2InTriangulation_3 concept.
/// @param Polyhedron an instance of CGAL::Polyhedron_3<Traits>.
///
/// @return true on success.
template <class SurfaceMeshComplex_2InTriangulation_3,
class Polyhedron>
void

View File

@ -33,8 +33,6 @@ CGAL_BEGIN_NAMESPACE
/// @commentheading Template Parameters:
/// @param SurfaceMeshComplex_2InTriangulation_3 model of the SurfaceMeshComplex_2InTriangulation_3 concept.
/// @param OutputIterator value_type must be convertible from Triangle_3<Kernel>.
///
/// @return true on success.
template <class SurfaceMeshComplex_2InTriangulation_3,
typename OutputIterator>
void

View File

@ -39,8 +39,8 @@ CGAL_BEGIN_NAMESPACE
/// Kazhdan, Bolitho and Hoppe introduced the Poisson Surface Reconstruction algorithm [Kazhdan06].
/// Given a set of 3D points with oriented normals (denoted oriented points in the sequel)
/// sampled on the boundary of a 3D solid, this method solves for an approximate indicator function
/// Given a set of 3D points with oriented normals sampled on the boundary of a 3D solid,
/// this method solves for an approximate indicator function
/// of the inferred solid, whose gradient best matches the input normals.
/// The output scalar function, represented in an adaptive octree, is then iso-contoured
/// using an adaptive marching cubes.
@ -48,7 +48,7 @@ CGAL_BEGIN_NAMESPACE
/// Poisson_reconstruction_function implements a variant of this algorithm which solves
/// for a piecewise linear function on a 3D Delaunay triangulation instead of an adaptive octree
/// the TAUCS sparse linear solver.
/// One vertex outside of the surface will be constrained to a value of 0.0.
/// In order to get a unique solution, one vertex outside of the surface is constrained to a value of 0.0.
///
/// @heading Is Model for the Concepts:
/// Model of the 'ImplicitFunction' concept.
@ -69,8 +69,8 @@ public:
typedef Gt Geom_traits; ///< Kernel's geometric traits
typedef typename Geom_traits::FT FT;
typedef typename Geom_traits::Point_3 Point;
typedef typename Geom_traits::Vector_3 Vector;
typedef typename Geom_traits::Point_3 Point; ///< == Point_3<Gt>
typedef typename Geom_traits::Vector_3 Vector; ///< == Vector_3<Gt>
typedef typename Geom_traits::Sphere_3 Sphere;
typedef typename Triangulation::Point_with_normal Point_with_normal;
@ -599,7 +599,7 @@ private:
return div;
}
FT div_normalized(Vertex_handle v)
FT div_normalized(Vertex_handle v)
{
std::vector<Cell_handle> cells;
m_tr.incident_cells(v,std::back_inserter(cells));

View File

@ -97,7 +97,7 @@ public:
m_index = 0;
}
Reconstruction_vertex_base_3(const Point& p)
Reconstruction_vertex_base_3(const Point_with_normal& p)
: Vb(p)
{
m_f = 0.0f;
@ -107,7 +107,7 @@ public:
}
Reconstruction_vertex_base_3(const Point& p, Cell_handle c)
Reconstruction_vertex_base_3(const Point_with_normal& p, Cell_handle c)
: Vb(p,c)
{
m_f = (FT)0.0;
@ -267,7 +267,6 @@ public:
typedef typename Geom_traits::Vector_3 Vector;
typedef typename Geom_traits::Sphere_3 Sphere;
/// The geometric traits class's Point_3 type is a model of PointWithNormal_3
typedef typename Geom_traits::Point_3 Point; ///< Model of PointWithNormal_3
typedef typename Geom_traits::Point_3 Point_with_normal; ///< Model of PointWithNormal_3
typedef typename Point_with_normal::Normal Normal; ///< Model of Kernel::Vector_3 concept.
@ -360,9 +359,9 @@ public:
return Sphere(input_points_ms3.center(), input_points_ms3.squared_radius());
}
/// Insert point (model of PointWithNormal_3) in the triangulation.
/// Insert point in the triangulation.
/// Default type is INPUT.
Vertex_handle insert(const Point& p,
Vertex_handle insert(const Point_with_normal& p,
Point_type type = INPUT,
Cell_handle start = Cell_handle())
{
@ -387,12 +386,12 @@ public:
int n = number_of_vertices();
// spatial sorting
std::vector<Point> points (first, beyond);
std::vector<Point_with_normal> points (first, beyond);
std::random_shuffle (points.begin(), points.end());
spatial_sort (points.begin(), points.end(), geom_traits());
Cell_handle hint;
for (typename std::vector<Point>::const_iterator p = points.begin();
for (typename std::vector<Point_with_normal>::const_iterator p = points.begin();
p != points.end(); ++p)
{
Vertex_handle v = insert(*p, type, hint);
@ -406,7 +405,7 @@ public:
/// insert STEINER point in the triangulation.
template <class CellIt>
Vertex_handle
insert_in_hole(const Point & p, CellIt cell_begin, CellIt cell_end,
insert_in_hole(const Point_with_normal & p, CellIt cell_begin, CellIt cell_end,
Cell_handle begin, int i,
Point_type type = STEINER)
{

View File

@ -170,8 +170,9 @@ get_polyhedron_connected_components(Polyhedron& polyhedron)
}
/// Erase small connected components of a polyhedron:
/// erase all connected components but the largest.
/// Erases small connected components of a polyhedron:
/// It calls get_polyhedron_connected_components(), then erase_connected_component()
/// on all connected components but the largest.
///
/// @commentheading Template Parameters:
/// @param Polyhedron an instance of CGAL::Polyhedron_3<Traits> that supports