mirror of https://github.com/CGAL/cgal
Fixed declaration of templated methods
This commit is contained in:
parent
f7c1e0df6d
commit
7cba4b3f28
|
|
@ -41,14 +41,13 @@ The full template declaration is:
|
|||
%START-AUTO(\ccParameters)
|
||||
|
||||
template$<$ \\
|
||||
class Gt, \\
|
||||
class \ccc{PointWithNormal_3}$>$ \\
|
||||
class Gt$>$ \\
|
||||
class \ccc{APSS_implicit_function};
|
||||
|
||||
\begin{description}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[Gt]Geometric traits class. \item[\ccc{PointWithNormal_3}]Model of \ccc{PointWithNormal_3} concept. \end{description}
|
||||
\item[Gt]Geometric traits class. \end{description}
|
||||
\end{description}
|
||||
|
||||
%END-AUTO(\ccParameters)
|
||||
|
|
@ -58,7 +57,7 @@ class \ccc{APSS_implicit_function};
|
|||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccIsModel)
|
||||
|
||||
Model of the \ccc{Reconstruction_implicit_function} concept.
|
||||
Model of the ReconstructionImplicitFunction concept.
|
||||
|
||||
%END-AUTO(\ccIsModel)
|
||||
|
||||
|
|
@ -99,12 +98,10 @@ Kernel's geometric traits.
|
|||
\ccGlue
|
||||
\ccNestedType{Point_with_normal}
|
||||
{
|
||||
Model of \ccc{PointWithNormal_3} concept.
|
||||
}
|
||||
\ccGlue
|
||||
\ccNestedType{Normal}
|
||||
{
|
||||
Model of \ccc{Kernel::Vector_3} concept.
|
||||
}
|
||||
\ccGlue
|
||||
\ccNestedType{Vector}
|
||||
|
|
@ -123,7 +120,7 @@ Model of \ccc{Kernel::Vector_3} concept.
|
|||
\ccConstructor{APSS_implicit_function(InputIterator first, InputIterator beyond, unsigned int k, FT projection_error = 3.16e-4);}
|
||||
{
|
||||
Create an APSS implicit function from a point set.
|
||||
Precondition: the value type of InputIterator must be convertible to \ccc{Point_with_normal}.
|
||||
Precondition: the value type of InputIterator must be convertible to \ccc{Point_with_normal_3}.
|
||||
}
|
||||
\ccGlue
|
||||
\begin{description}
|
||||
|
|
@ -132,7 +129,7 @@ Precondition: the value type of InputIterator must be convertible to \ccc{Point_
|
|||
\item[first]First point of point set. \item[beyond]Past-the-end point of point set. \item[k]Number of nearest neighbours. \item[\ccc{projection_error}]Dichotomy error when projecting point. \end{description}
|
||||
\end{description}
|
||||
\ccGlue
|
||||
\ccConstructor{APSS_implicit_function(const APSS_implicit_function<Gt, PointWithNormal_3>& other);}
|
||||
\ccConstructor{APSS_implicit_function(const APSS_implicit_function<Gt>& other);}
|
||||
{
|
||||
}
|
||||
\ccGlue
|
||||
|
|
@ -144,7 +141,7 @@ Precondition: the value type of InputIterator must be convertible to \ccc{Point_
|
|||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccOperations)
|
||||
|
||||
\ccMethod{APSS_implicit_function& operator=(const APSS_implicit_function<Gt, PointWithNormal_3>& other);}
|
||||
\ccMethod{APSS_implicit_function& operator=(const APSS_implicit_function<Gt>& other);}
|
||||
{
|
||||
}
|
||||
\ccGlue
|
||||
|
|
|
|||
|
|
@ -115,7 +115,7 @@ Vector is (0,0,0) by default.
|
|||
Copy constructor.
|
||||
}
|
||||
\ccGlue
|
||||
\ccConstructor{Lightweight_vector_3(const Lightweight_vector_3<K>& that);}
|
||||
\ccConstructor{template<class K>Lightweight_vector_3(const Lightweight_vector_3<K>& that);}
|
||||
{
|
||||
}
|
||||
\ccGlue
|
||||
|
|
@ -225,18 +225,17 @@ Get (a copy of) the actual vector.
|
|||
|
||||
%END-AUTO(\ccOperations)
|
||||
|
||||
\ccHeading{Friends And Related Functions}
|
||||
\ccHeading{Related Functions}
|
||||
|
||||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccHeading{Friends And Related Functions})
|
||||
%START-AUTO(\ccHeading{Related Functions})
|
||||
|
||||
\ccFunction{Vector operator*(FT c, const Lightweight_vector_3<Gt>& vector);}
|
||||
{
|
||||
[friend] \\
|
||||
}
|
||||
\ccGlue
|
||||
|
||||
%END-AUTO(\ccHeading{Friends And Related Functions})
|
||||
%END-AUTO(\ccHeading{Related Functions})
|
||||
|
||||
\ccSeeAlso
|
||||
|
||||
|
|
|
|||
|
|
@ -124,7 +124,7 @@ Normal vector is (0,0,0) by default. Normal is oriented by default.
|
|||
Copy constructor.
|
||||
}
|
||||
\ccGlue
|
||||
\ccConstructor{Orientable_normal_3(const Orientable_normal_3<K>& that);}
|
||||
\ccConstructor{template<class K>Orientable_normal_3(const Orientable_normal_3<K>& that);}
|
||||
{
|
||||
}
|
||||
\ccGlue
|
||||
|
|
|
|||
|
|
@ -132,7 +132,7 @@ Point is (0,0,0) by default. Normal is (0,0,0) by default. Normal is oriented by
|
|||
Copy constructor.
|
||||
}
|
||||
\ccGlue
|
||||
\ccConstructor{Point_with_normal_3(const Point_with_normal_3<K, N>& pwn);}
|
||||
\ccConstructor{template<class K, class N>Point_with_normal_3(const Point_with_normal_3<K, N>& pwn);}
|
||||
{
|
||||
}
|
||||
\ccGlue
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ class \ccc{Poisson_implicit_function};
|
|||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccIsModel)
|
||||
|
||||
Model of the \ccc{Reconstruction_implicit_function} concept.
|
||||
Model of the ReconstructionImplicitFunction concept.
|
||||
|
||||
%END-AUTO(\ccIsModel)
|
||||
|
||||
|
|
@ -135,7 +135,7 @@ Create a Poisson indicator function f() piecewise-linear over the tetrahedra of
|
|||
\item[pdt]\ccc{ImplicitFctDelaunayTriangulation_3} base of the Poisson indicator function. \end{description}
|
||||
\end{description}
|
||||
\ccGlue
|
||||
\ccConstructor{Poisson_implicit_function(Triangulation& pdt, InputIterator first, InputIterator beyond);}
|
||||
\ccConstructor{template<class InputIterator>Poisson_implicit_function(Triangulation& pdt, InputIterator first, InputIterator beyond);}
|
||||
{
|
||||
Create an implicit function from a point set. Insert the first...beyond point set into pdt and create a Poisson indicator function f() piecewise-linear over the tetrahedra of pdt.
|
||||
Precondition: the value type of InputIterator must be convertible to \ccc{Point_with_normal}.
|
||||
|
|
@ -155,7 +155,7 @@ Precondition: the value type of InputIterator must be convertible to \ccc{Point_
|
|||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccOperations)
|
||||
|
||||
\ccMethod{int insert(InputIterator first, InputIterator beyond);}
|
||||
\ccMethod{template<class InputIterator>int insert(InputIterator first, InputIterator beyond);}
|
||||
{
|
||||
Insert points.
|
||||
Precondition: the value type of InputIterator must be convertible to \ccc{Point_with_normal}.
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ Model of \ccc{Kernel::Vector_3} concept.
|
|||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccCreation)
|
||||
|
||||
\ccConstructor{ReconstructionImplicitFunction(InputIterator first, InputIterator beyond);}
|
||||
\ccConstructor{template<class InputIterator>ReconstructionImplicitFunction(InputIterator first, InputIterator beyond);}
|
||||
{
|
||||
Create an implicit function from a point set.
|
||||
Precondition: the value type of InputIterator must be convertible to \ccc{Point_with_normal}.
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ Precondition: KNN $>$= 2.
|
|||
\item[query]3D point whose spacing we want to compute \item[tree]KD-tree \item[KNN]number of neighbors \end{description}
|
||||
\end{description}
|
||||
\ccGlue
|
||||
\ccFunction{Kernel::FT average_spacing_3(InputIterator first, InputIterator beyond, unsigned int KNN, const Kernel &);}
|
||||
\ccFunction{Kernel::FT average_spacing_3(InputIterator first, InputIterator beyond, unsigned int KNN, const Kernel& );}
|
||||
{
|
||||
Compute average spacing from K nearest neighbors. This variant requires the kernel.
|
||||
Precondition: KNN $>$= 2.
|
||||
|
|
@ -95,13 +95,13 @@ template$<$ \\
|
|||
typename Kernel, \\
|
||||
typename Tree$>$ \\
|
||||
\ccc{Kernel::FT} \\
|
||||
\ccc{average_spacing_3} (const typename \ccc{Kernel::Point_3} \&query, Tree \&tree, unsigned int KNN); \\
|
||||
\ccc{average_spacing_3} (const typename \ccc{Kernel::Point_3}\& query, Tree\& tree, unsigned int KNN); \\
|
||||
\\
|
||||
template$<$ \\
|
||||
typename InputIterator, \\
|
||||
typename Kernel$>$ \\
|
||||
\ccc{Kernel::FT} \\
|
||||
\ccc{average_spacing_3} (InputIterator first, InputIterator beyond, unsigned int KNN, const Kernel \&); \\
|
||||
\ccc{average_spacing_3} (InputIterator first, InputIterator beyond, unsigned int KNN, const Kernel\& ); \\
|
||||
\\
|
||||
template$<$ \\
|
||||
typename InputIterator, \\
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccDefinition)
|
||||
|
||||
\ccFunction{OutputIterator estimate_normals_jet_fitting_3(InputIterator first, InputIterator beyond, OutputIterator normals, const unsigned int KNN, const Kernel &, const unsigned int degre_fitting = 2);}
|
||||
\ccFunction{OutputIterator estimate_normals_jet_fitting_3(InputIterator first, InputIterator beyond, OutputIterator normals, const unsigned int KNN, const Kernel& , const unsigned int degre_fitting = 2);}
|
||||
{
|
||||
Estimate normal directions using jet fitting on the KNN nearest neighbors. This variant requires the kernel.
|
||||
Precondition: KNN $>$= 2.
|
||||
|
|
@ -77,7 +77,7 @@ typename InputIterator, \\
|
|||
typename OutputIterator, \\
|
||||
typename Kernel$>$ \\
|
||||
OutputIterator \\
|
||||
\ccc{estimate_normals_jet_fitting_3} (InputIterator first, InputIterator beyond, OutputIterator normals, const unsigned int KNN, const Kernel \&, const unsigned int \ccc{degre_fitting}=2); \\
|
||||
\ccc{estimate_normals_jet_fitting_3} (InputIterator first, InputIterator beyond, OutputIterator normals, const unsigned int KNN, const Kernel\& , const unsigned int \ccc{degre_fitting}=2); \\
|
||||
\\
|
||||
template$<$ \\
|
||||
typename InputIterator, \\
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccDefinition)
|
||||
|
||||
\ccFunction{OutputIterator estimate_normals_pca_3(InputIterator first, InputIterator beyond, OutputIterator normals, const unsigned int KNN, const Kernel &);}
|
||||
\ccFunction{OutputIterator estimate_normals_pca_3(InputIterator first, InputIterator beyond, OutputIterator normals, const unsigned int KNN, const Kernel& );}
|
||||
{
|
||||
Estimate normals direction using linear least squares fitting of a plane on the K nearest neighbors. This variant requires the kernel.
|
||||
Precondition: KNN $>$= 2.
|
||||
|
|
@ -77,7 +77,7 @@ typename InputIterator, \\
|
|||
typename OutputIterator, \\
|
||||
typename Kernel$>$ \\
|
||||
OutputIterator \\
|
||||
\ccc{estimate_normals_pca_3} (InputIterator first, InputIterator beyond, OutputIterator normals, const unsigned int KNN, const Kernel \&); \\
|
||||
\ccc{estimate_normals_pca_3} (InputIterator first, InputIterator beyond, OutputIterator normals, const unsigned int KNN, const Kernel\& ); \\
|
||||
\\
|
||||
template$<$ \\
|
||||
typename InputIterator, \\
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccDefinition)
|
||||
|
||||
\ccFunction{OutputIterator merge_epsilon_nearest_points_3(InputIterator first, InputIterator beyond, OutputIterator output, double epsilon, const Kernel &);}
|
||||
\ccFunction{OutputIterator merge_epsilon_nearest_points_3(InputIterator first, InputIterator beyond, OutputIterator output, double epsilon, const Kernel& );}
|
||||
{
|
||||
Merge points which belong to the same cell of a grid of cell size = epsilon. This variant requires the kernel.
|
||||
Precondition: epsilon $>$ 0.
|
||||
|
|
@ -41,7 +41,7 @@ Precondition: epsilon $>$ 0.
|
|||
\item[first]input points \item[output]output points \item[epsilon]tolerance value when comparing 3D points \end{description}
|
||||
\end{description}
|
||||
\ccGlue
|
||||
\ccFunction{ForwardIterator merge_epsilon_nearest_points_3(ForwardIterator first, ForwardIterator beyond, double epsilon, const Kernel &);}
|
||||
\ccFunction{ForwardIterator merge_epsilon_nearest_points_3(ForwardIterator first, ForwardIterator beyond, double epsilon, const 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.
|
||||
Warning: This method modifies the order of points, thus Precondition: epsilon $>$ 0.
|
||||
|
|
@ -115,13 +115,13 @@ typename InputIterator, \\
|
|||
typename OutputIterator, \\
|
||||
typename Kernel$>$ \\
|
||||
OutputIterator \\
|
||||
\ccc{merge_epsilon_nearest_points_3} (InputIterator first, InputIterator beyond, OutputIterator output, double epsilon, const Kernel \&); \\
|
||||
\ccc{merge_epsilon_nearest_points_3} (InputIterator first, InputIterator beyond, OutputIterator output, double epsilon, const Kernel\& ); \\
|
||||
\\
|
||||
template$<$ \\
|
||||
typename ForwardIterator, \\
|
||||
typename Kernel$>$ \\
|
||||
ForwardIterator \\
|
||||
\ccc{merge_epsilon_nearest_points_3} (ForwardIterator first, ForwardIterator beyond, double epsilon, const Kernel \&); \\
|
||||
\ccc{merge_epsilon_nearest_points_3} (ForwardIterator first, ForwardIterator beyond, double epsilon, const Kernel\& ); \\
|
||||
\\
|
||||
template$<$ \\
|
||||
typename InputIterator, \\
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
% The section below is automatically generated. Do not edit!
|
||||
%START-AUTO(\ccDefinition)
|
||||
|
||||
\ccFunction{OutputIterator remove_outliers_wrt_avg_knn_sq_distance_3(InputIterator first, InputIterator beyond, OutputIterator output, unsigned int KNN, const Kernel &, double threshold_percent);}
|
||||
\ccFunction{OutputIterator remove_outliers_wrt_avg_knn_sq_distance_3(InputIterator first, InputIterator beyond, OutputIterator output, unsigned int KNN, const Kernel& , double threshold_percent);}
|
||||
{
|
||||
Remove outliers:\begin{itemize}
|
||||
\item compute average squared distance to the K nearest neighbors,\item percentage of points to remove. This variant requires the kernel.\end{itemize}
|
||||
|
|
@ -42,7 +42,7 @@ Precondition: KNN $>$= 2.
|
|||
\item[first]input points \item[output]output points \item[KNN]number of neighbors \item[\ccc{threshold_percent}]percentage of points to remove \end{description}
|
||||
\end{description}
|
||||
\ccGlue
|
||||
\ccFunction{ForwardIterator remove_outliers_wrt_avg_knn_sq_distance_3(ForwardIterator first, ForwardIterator beyond, unsigned int KNN, const Kernel &, double threshold_percent);}
|
||||
\ccFunction{ForwardIterator remove_outliers_wrt_avg_knn_sq_distance_3(ForwardIterator first, ForwardIterator beyond, unsigned int KNN, const Kernel& , double threshold_percent);}
|
||||
{
|
||||
Remove outliers:\begin{itemize}
|
||||
\item compute average squared distance to the K nearest neighbors,\item percentage of points to remove. This function is mutating the input point set. This variant requires the kernel.\end{itemize}
|
||||
|
|
@ -119,13 +119,13 @@ typename InputIterator, \\
|
|||
typename OutputIterator, \\
|
||||
typename Kernel$>$ \\
|
||||
OutputIterator \\
|
||||
\ccc{remove_outliers_wrt_avg_knn_sq_distance_3} (InputIterator first, InputIterator beyond, OutputIterator output, unsigned int KNN, const Kernel \&, double \ccc{threshold_percent}); \\
|
||||
\ccc{remove_outliers_wrt_avg_knn_sq_distance_3} (InputIterator first, InputIterator beyond, OutputIterator output, unsigned int KNN, const Kernel\& , double \ccc{threshold_percent}); \\
|
||||
\\
|
||||
template$<$ \\
|
||||
typename ForwardIterator, \\
|
||||
typename Kernel$>$ \\
|
||||
ForwardIterator \\
|
||||
\ccc{remove_outliers_wrt_avg_knn_sq_distance_3} (ForwardIterator first, ForwardIterator beyond, unsigned int KNN, const Kernel \&, double \ccc{threshold_percent}); \\
|
||||
\ccc{remove_outliers_wrt_avg_knn_sq_distance_3} (ForwardIterator first, ForwardIterator beyond, unsigned int KNN, const Kernel\& , double \ccc{threshold_percent}); \\
|
||||
\\
|
||||
template$<$ \\
|
||||
typename InputIterator, \\
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ Precondition: KNN $>$= 2.
|
|||
\item[query]3D point to project \item[tree]KD-tree \end{description}
|
||||
\end{description}
|
||||
\ccGlue
|
||||
\ccFunction{OutputIterator smooth_jet_fitting_3(InputIterator first, InputIterator beyond, OutputIterator output, const unsigned int KNN, const Kernel &, const unsigned int degre_fitting = 2, const unsigned int degree_monge = 2);}
|
||||
\ccFunction{OutputIterator smooth_jet_fitting_3(InputIterator first, InputIterator beyond, OutputIterator output, const unsigned int KNN, const Kernel& , const unsigned int degre_fitting = 2, const unsigned int degree_monge = 2);}
|
||||
{
|
||||
Smooth a point set using jet fitting on the KNN nearest neighbors and reprojection onto the jet. This variant requires the kernel.
|
||||
Precondition: KNN $>$= 2.
|
||||
|
|
@ -60,7 +60,7 @@ Precondition: KNN $>$= 2.
|
|||
\item[first]input points \item[output]output points \item[KNN]number of neighbors \end{description}
|
||||
\end{description}
|
||||
\ccGlue
|
||||
\ccFunction{void smooth_jet_fitting_3(ForwardIterator first, ForwardIterator beyond, unsigned int KNN, const Kernel &, const unsigned int degre_fitting = 2, const unsigned int degree_monge = 2);}
|
||||
\ccFunction{void smooth_jet_fitting_3(ForwardIterator first, ForwardIterator beyond, unsigned int KNN, const Kernel& , const unsigned int degre_fitting = 2, const unsigned int degree_monge = 2);}
|
||||
{
|
||||
Smooth a point set using jet fitting on the KNN nearest neighbors and reprojection onto the jet. This function is mutating the input point set. This variant requires the kernel.
|
||||
Warning: This method moves the points, thus Precondition: KNN $>$= 2.
|
||||
|
|
@ -124,20 +124,20 @@ template$<$ \\
|
|||
typename Kernel, \\
|
||||
typename Tree$>$ \\
|
||||
\ccc{Kernel::Point_3} \\
|
||||
\ccc{smooth_jet_fitting_3} (const typename \ccc{Kernel::Point_3} \&query, Tree \&tree, const unsigned int KNN, const unsigned int \ccc{degre_fitting}, const unsigned int \ccc{degree_monge}); \\
|
||||
\ccc{smooth_jet_fitting_3} (const typename \ccc{Kernel::Point_3}\& query, Tree\& tree, const unsigned int KNN, const unsigned int \ccc{degre_fitting}, const unsigned int \ccc{degree_monge}); \\
|
||||
\\
|
||||
template$<$ \\
|
||||
typename InputIterator, \\
|
||||
typename OutputIterator, \\
|
||||
typename Kernel$>$ \\
|
||||
OutputIterator \\
|
||||
\ccc{smooth_jet_fitting_3} (InputIterator first, InputIterator beyond, OutputIterator output, const unsigned int KNN, const Kernel \&, const unsigned int \ccc{degre_fitting}=2, const unsigned int \ccc{degree_monge}=2); \\
|
||||
\ccc{smooth_jet_fitting_3} (InputIterator first, InputIterator beyond, OutputIterator output, const unsigned int KNN, const Kernel\& , const unsigned int \ccc{degre_fitting}=2, const unsigned int \ccc{degree_monge}=2); \\
|
||||
\\
|
||||
template$<$ \\
|
||||
typename ForwardIterator, \\
|
||||
typename Kernel$>$ \\
|
||||
void \\
|
||||
\ccc{smooth_jet_fitting_3} (ForwardIterator first, ForwardIterator beyond, unsigned int KNN, const Kernel \&, const unsigned int \ccc{degre_fitting}=2, const unsigned int \ccc{degree_monge}=2); \\
|
||||
\ccc{smooth_jet_fitting_3} (ForwardIterator first, ForwardIterator beyond, unsigned int KNN, const Kernel\& , const unsigned int \ccc{degre_fitting}=2, const unsigned int \ccc{degree_monge}=2); \\
|
||||
\\
|
||||
template$<$ \\
|
||||
typename InputIterator, \\
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ CGAL_BEGIN_NAMESPACE
|
|||
/// See "Algebraic Point Set Surfaces" by Guennebaud and Gross (2007).
|
||||
///
|
||||
/// @heading Is Model for the Concepts:
|
||||
/// Model of the Reconstruction_implicit_function concept.
|
||||
/// Model of the ReconstructionImplicitFunction concept.
|
||||
///
|
||||
/// @heading Design Pattern:
|
||||
/// A model of ReconstructionImplicitFunction is a
|
||||
|
|
@ -99,7 +99,7 @@ private:
|
|||
typedef Search_traits_3<KdTreeGT> TreeTraits;
|
||||
typedef Orthogonal_k_neighbor_search<TreeTraits> Neighbor_search;
|
||||
typedef typename Neighbor_search::Tree Tree;
|
||||
typedef typename Neighbor_search::Point_with_transformed_distance
|
||||
typedef typename Neighbor_search::Point_with_transformed_distance
|
||||
Point_with_transformed_distance;
|
||||
|
||||
// Public methods
|
||||
|
|
@ -141,13 +141,13 @@ public:
|
|||
FT maxdist2 = (--search.end())->second; // squared distance to furthest neighbor
|
||||
m->radii.push_back(sqrt(maxdist2)/2.);
|
||||
}
|
||||
|
||||
|
||||
// Compute barycenter, bounding box, bounding sphere and standard deviation.
|
||||
update_bounding_box(first, beyond);
|
||||
|
||||
// Find a point inside the surface.
|
||||
find_inner_point();
|
||||
|
||||
|
||||
// Dichotomy error when projecting point (squared)
|
||||
m->sqError = projection_error * projection_error * Gt().compute_squared_radius_3_object()(m->bounding_sphere);
|
||||
}
|
||||
|
|
@ -259,7 +259,7 @@ public:
|
|||
FT operator()(const Point& p) const
|
||||
{
|
||||
// Is 'p' close to the surface?
|
||||
// Optimization: test first if 'p' is close to one of the neighbors
|
||||
// Optimization: test first if 'p' is close to one of the neighbors
|
||||
// computed during the previous call.
|
||||
typename Geom_traits::Compute_squared_distance_3 sqd;
|
||||
m->cached_nearest_neighbor.second = sqd(p, m->cached_nearest_neighbor.first);
|
||||
|
|
@ -269,7 +269,7 @@ public:
|
|||
KdTreeElement query(p);
|
||||
Neighbor_search search_1nn(*(m->tree), query, 1);
|
||||
m->cached_nearest_neighbor = *(search_1nn.begin());
|
||||
|
||||
|
||||
// Is 'p' close to the surface?
|
||||
if (!isValid(m->cached_nearest_neighbor, p))
|
||||
{
|
||||
|
|
@ -283,16 +283,16 @@ public:
|
|||
return length(h) * ( dot(n,h)>0. ? 1. : -1.);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Compute k nearest neighbors and cache the first one
|
||||
KdTreeElement query(p);
|
||||
Neighbor_search search_knn(*(m->tree), query, m->nofNeighbors);
|
||||
m->cached_nearest_neighbor = *(search_knn.begin());
|
||||
|
||||
// If 'p' is close to the surface, fit an algebraic sphere
|
||||
|
||||
// If 'p' is close to the surface, fit an algebraic sphere
|
||||
// on a set of neigbors in a Moving Least Square sense.
|
||||
fit(search_knn);
|
||||
|
||||
|
||||
// return the distance to the sphere
|
||||
return m->as.euclideanDistance(p);
|
||||
}
|
||||
|
|
@ -576,7 +576,7 @@ private:
|
|||
// Try random points until we find a point / value < 0
|
||||
Point center = m->bounding_sphere.center();
|
||||
FT radius = sqrt(m->bounding_sphere.squared_radius());
|
||||
CGAL::Random_points_in_sphere_3<Point> rnd(radius);
|
||||
CGAL::Random_points_in_sphere_3<Point> rnd(radius);
|
||||
while (min_f > 0)
|
||||
{
|
||||
// Create random point in bounding sphere
|
||||
|
|
@ -593,17 +593,17 @@ private:
|
|||
// Data members
|
||||
private:
|
||||
|
||||
struct Private
|
||||
struct Private
|
||||
{
|
||||
Private()
|
||||
: tree(NULL), count(1)
|
||||
{}
|
||||
|
||||
|
||||
~Private()
|
||||
{
|
||||
delete tree; tree = NULL;
|
||||
}
|
||||
|
||||
|
||||
Tree* tree;
|
||||
std::vector<KdTreeElement> treeElements;
|
||||
std::vector<FT> radii;
|
||||
|
|
|
|||
|
|
@ -108,7 +108,7 @@ public:
|
|||
/// solver. One vertex must be constrained.
|
||||
///
|
||||
/// @heading Is Model for the Concepts:
|
||||
/// Model of the Reconstruction_implicit_function concept.
|
||||
/// Model of the ReconstructionImplicitFunction concept.
|
||||
///
|
||||
/// @heading Design Pattern:
|
||||
/// A model of ReconstructionImplicitFunction is a
|
||||
|
|
@ -420,7 +420,7 @@ public:
|
|||
#endif
|
||||
|
||||
m_dt.invalidate_bounding_box();
|
||||
|
||||
|
||||
CGAL_TRACE("End of delaunay_refinement()\n");
|
||||
|
||||
return nb_vertices_added;
|
||||
|
|
@ -673,7 +673,7 @@ public:
|
|||
{
|
||||
if(!v->constrained())
|
||||
{
|
||||
B[v->index()] = is_normalized ? div_normalized(v)
|
||||
B[v->index()] = is_normalized ? div_normalized(v)
|
||||
: div(v); // rhs -> divergent
|
||||
assemble_poisson_row(solver,v,B,lambda);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue