mirror of https://github.com/CGAL/cgal
Explicit Point_set_3 parameter in PSP overloads
This commit is contained in:
parent
2dc269bc05
commit
21c95b267c
|
|
@ -35,11 +35,11 @@ namespace CGAL {
|
||||||
/*!
|
/*!
|
||||||
\ingroup PkgPointSet3IO
|
\ingroup PkgPointSet3IO
|
||||||
*/
|
*/
|
||||||
template <typename PointSet>
|
template <typename Point, typename Vector>
|
||||||
bool
|
bool
|
||||||
read_xyz_point_set(
|
read_xyz_point_set(
|
||||||
std::istream& stream, ///< input stream.
|
std::istream& stream, ///< input stream.
|
||||||
PointSet& point_set) ///< point set
|
Point_set_3<Point, Vector>& point_set) ///< point set
|
||||||
{
|
{
|
||||||
point_set.add_normal_map();
|
point_set.add_normal_map();
|
||||||
|
|
||||||
|
|
@ -50,7 +50,7 @@ read_xyz_point_set(
|
||||||
point_set.normal_push_map());
|
point_set.normal_push_map());
|
||||||
|
|
||||||
bool has_normals = false;
|
bool has_normals = false;
|
||||||
for (typename PointSet::const_iterator it = point_set.begin();
|
for (typename Point_set_3<Point, Vector>::const_iterator it = point_set.begin();
|
||||||
it != point_set.end(); ++ it)
|
it != point_set.end(); ++ it)
|
||||||
if (point_set.normal(*it) != CGAL::NULL_VECTOR)
|
if (point_set.normal(*it) != CGAL::NULL_VECTOR)
|
||||||
{
|
{
|
||||||
|
|
@ -67,11 +67,11 @@ read_xyz_point_set(
|
||||||
/*!
|
/*!
|
||||||
\ingroup PkgPointSet3IO
|
\ingroup PkgPointSet3IO
|
||||||
*/
|
*/
|
||||||
template <typename PointSet>
|
template <typename Point, typename Vector>
|
||||||
bool
|
bool
|
||||||
read_off_point_set(
|
read_off_point_set(
|
||||||
std::istream& stream, ///< input stream.
|
std::istream& stream, ///< input stream.
|
||||||
PointSet& point_set) ///< point set
|
Point_set_3<Point, Vector>& point_set) ///< point set
|
||||||
{
|
{
|
||||||
point_set.add_normal_map();
|
point_set.add_normal_map();
|
||||||
|
|
||||||
|
|
@ -82,7 +82,7 @@ read_off_point_set(
|
||||||
point_set.normal_push_map());
|
point_set.normal_push_map());
|
||||||
|
|
||||||
bool has_normals = false;
|
bool has_normals = false;
|
||||||
for (typename PointSet::const_iterator it = point_set.begin();
|
for (typename Point_set_3<Point, Vector>::const_iterator it = point_set.begin();
|
||||||
it != point_set.end(); ++ it)
|
it != point_set.end(); ++ it)
|
||||||
if (point_set.normal(*it) != CGAL::NULL_VECTOR)
|
if (point_set.normal(*it) != CGAL::NULL_VECTOR)
|
||||||
{
|
{
|
||||||
|
|
@ -101,16 +101,12 @@ read_off_point_set(
|
||||||
/*!
|
/*!
|
||||||
\ingroup PkgPointSet3IO
|
\ingroup PkgPointSet3IO
|
||||||
*/
|
*/
|
||||||
template <typename PointSet>
|
template <typename Point, typename Vector>
|
||||||
bool
|
bool
|
||||||
read_ply_point_set(
|
read_ply_point_set(
|
||||||
std::istream& stream, ///< input stream.
|
std::istream& stream, ///< input stream.
|
||||||
PointSet& point_set) ///< point set
|
Point_set_3<Point, Vector>& point_set) ///< point set
|
||||||
{
|
{
|
||||||
|
|
||||||
typedef typename PointSet::Point_type Point;
|
|
||||||
typedef typename PointSet::Vector_type Vector;
|
|
||||||
|
|
||||||
CGAL::Ply_interpreter_point_set_3<Point, Vector> interpreter (point_set);
|
CGAL::Ply_interpreter_point_set_3<Point, Vector> interpreter (point_set);
|
||||||
|
|
||||||
return CGAL::read_ply_custom_points
|
return CGAL::read_ply_custom_points
|
||||||
|
|
@ -121,11 +117,11 @@ read_ply_point_set(
|
||||||
/*!
|
/*!
|
||||||
\ingroup PkgPointSet3IO
|
\ingroup PkgPointSet3IO
|
||||||
*/
|
*/
|
||||||
template <typename PointSet>
|
template <typename Point, typename Vector>
|
||||||
bool
|
bool
|
||||||
write_xyz_point_set(
|
write_xyz_point_set(
|
||||||
std::ostream& stream, ///< output stream.
|
std::ostream& stream, ///< output stream.
|
||||||
const PointSet& point_set) ///< point set
|
const Point_set_3<Point, Vector>& point_set) ///< point set
|
||||||
{
|
{
|
||||||
if (point_set.has_normals())
|
if (point_set.has_normals())
|
||||||
return CGAL::write_xyz_points_and_normals
|
return CGAL::write_xyz_points_and_normals
|
||||||
|
|
@ -140,11 +136,11 @@ write_xyz_point_set(
|
||||||
/*!
|
/*!
|
||||||
\ingroup PkgPointSet3IO
|
\ingroup PkgPointSet3IO
|
||||||
*/
|
*/
|
||||||
template <typename PointSet>
|
template <typename Point, typename Vector>
|
||||||
bool
|
bool
|
||||||
write_off_point_set(
|
write_off_point_set(
|
||||||
std::ostream& stream, ///< output stream.
|
std::ostream& stream, ///< output stream.
|
||||||
const PointSet& point_set) ///< point set
|
const Point_set_3<Point, Vector>& point_set) ///< point set
|
||||||
{
|
{
|
||||||
if (point_set.has_normal_map())
|
if (point_set.has_normal_map())
|
||||||
return CGAL::write_off_points_and_normals
|
return CGAL::write_off_points_and_normals
|
||||||
|
|
@ -159,11 +155,11 @@ write_off_point_set(
|
||||||
/*!
|
/*!
|
||||||
\ingroup PkgPointSet3IO
|
\ingroup PkgPointSet3IO
|
||||||
*/
|
*/
|
||||||
template <typename PointSet>
|
template <typename Point, typename Vector>
|
||||||
bool
|
bool
|
||||||
write_ply_point_set(
|
write_ply_point_set(
|
||||||
std::ostream& stream, ///< output stream.
|
std::ostream& stream, ///< output stream.
|
||||||
const PointSet& point_set) ///< point set
|
const Point_set_3<Point, Vector>& point_set) ///< point set
|
||||||
{
|
{
|
||||||
if (point_set.has_normals())
|
if (point_set.has_normals())
|
||||||
return CGAL::write_ply_points_and_normals
|
return CGAL::write_ply_points_and_normals
|
||||||
|
|
|
||||||
|
|
@ -42,10 +42,11 @@ namespace CGAL {
|
||||||
\ingroup PkgPointSet3PointSetProcessing3
|
\ingroup PkgPointSet3PointSetProcessing3
|
||||||
*/
|
*/
|
||||||
template <typename Concurrency_tag,
|
template <typename Concurrency_tag,
|
||||||
typename PointSet>
|
typename Point,
|
||||||
|
typename Vector>
|
||||||
double
|
double
|
||||||
bilateral_smooth_point_set(
|
bilateral_smooth_point_set(
|
||||||
PointSet& point_set, ///< point set
|
Point_set_3<Point, Vector>& point_set, ///< point set
|
||||||
const unsigned int k, ///< number of neighbors.
|
const unsigned int k, ///< number of neighbors.
|
||||||
double sharpness_angle) ///< control sharpness(0-90)
|
double sharpness_angle) ///< control sharpness(0-90)
|
||||||
{
|
{
|
||||||
|
|
@ -60,10 +61,10 @@ bilateral_smooth_point_set(
|
||||||
\ingroup PkgPointSet3PointSetProcessing3
|
\ingroup PkgPointSet3PointSetProcessing3
|
||||||
*/
|
*/
|
||||||
template <typename Concurrency_tag,
|
template <typename Concurrency_tag,
|
||||||
typename PointSet>
|
typename Point, typename Vector>
|
||||||
double
|
double
|
||||||
compute_average_spacing(
|
compute_average_spacing(
|
||||||
const PointSet& point_set, ///< point set
|
const Point_set_3<Point, Vector>& point_set, ///< point set
|
||||||
unsigned int k) ///< number of neighbors.
|
unsigned int k) ///< number of neighbors.
|
||||||
{
|
{
|
||||||
return CGAL::compute_average_spacing<Concurrency_tag>
|
return CGAL::compute_average_spacing<Concurrency_tag>
|
||||||
|
|
@ -74,10 +75,10 @@ compute_average_spacing(
|
||||||
\ingroup PkgPointSet3PointSetProcessing3
|
\ingroup PkgPointSet3PointSetProcessing3
|
||||||
*/
|
*/
|
||||||
template <typename Concurrency_tag,
|
template <typename Concurrency_tag,
|
||||||
typename PointSet>
|
typename Point, typename Vector>
|
||||||
void
|
void
|
||||||
edge_aware_upsample_point_set(
|
edge_aware_upsample_point_set(
|
||||||
PointSet& point_set, ///< point set
|
Point_set_3<Point, Vector>& point_set, ///< point set
|
||||||
double sharpness_angle = 30, ///< control sharpness(0-90)
|
double sharpness_angle = 30, ///< control sharpness(0-90)
|
||||||
double edge_sensitivity = 1, ///< edge sensitivity(0-5)
|
double edge_sensitivity = 1, ///< edge sensitivity(0-5)
|
||||||
double neighbor_radius = -1, ///< initial size of neighbors.
|
double neighbor_radius = -1, ///< initial size of neighbors.
|
||||||
|
|
@ -96,9 +97,9 @@ edge_aware_upsample_point_set(
|
||||||
\note No iterator is returned, points simplified are directly
|
\note No iterator is returned, points simplified are directly
|
||||||
removed from the point set.
|
removed from the point set.
|
||||||
*/
|
*/
|
||||||
template <typename PointSet>
|
template <typename Point, typename Vector>
|
||||||
void grid_simplify_point_set(
|
void grid_simplify_point_set(
|
||||||
PointSet& point_set, ///< point set
|
Point_set_3<Point, Vector>& point_set, ///< point set
|
||||||
double epsilon) ///< tolerance value when merging 3D points.
|
double epsilon) ///< tolerance value when merging 3D points.
|
||||||
{
|
{
|
||||||
point_set.remove_from
|
point_set.remove_from
|
||||||
|
|
@ -112,9 +113,9 @@ void grid_simplify_point_set(
|
||||||
\note No iterator is returned, points simplified are directly
|
\note No iterator is returned, points simplified are directly
|
||||||
removed from the point set.
|
removed from the point set.
|
||||||
*/
|
*/
|
||||||
template <typename PointSet>
|
template <typename Point, typename Vector>
|
||||||
void hierarchy_simplify_point_set(
|
void hierarchy_simplify_point_set(
|
||||||
PointSet& point_set, ///< point set
|
Point_set_3<Point, Vector>& point_set, ///< point set
|
||||||
const unsigned int size = 10, ///< maximum cluster size
|
const unsigned int size = 10, ///< maximum cluster size
|
||||||
const double var_max = 0.333) ///< maximal surface variation
|
const double var_max = 0.333) ///< maximal surface variation
|
||||||
{
|
{
|
||||||
|
|
@ -131,10 +132,10 @@ void hierarchy_simplify_point_set(
|
||||||
\note This function adds a normal map to the point set.
|
\note This function adds a normal map to the point set.
|
||||||
*/
|
*/
|
||||||
template <typename Concurrency_tag,
|
template <typename Concurrency_tag,
|
||||||
typename PointSet>
|
typename Point, typename Vector>
|
||||||
void
|
void
|
||||||
jet_estimate_normals(
|
jet_estimate_normals(
|
||||||
PointSet& point_set, ///< point set
|
Point_set_3<Point, Vector>& point_set, ///< point set
|
||||||
unsigned int k, ///< number of neighbors.
|
unsigned int k, ///< number of neighbors.
|
||||||
unsigned int degree_fitting = 2) ///< fitting degree
|
unsigned int degree_fitting = 2) ///< fitting degree
|
||||||
{
|
{
|
||||||
|
|
@ -151,10 +152,10 @@ jet_estimate_normals(
|
||||||
\ingroup PkgPointSet3PointSetProcessing3
|
\ingroup PkgPointSet3PointSetProcessing3
|
||||||
*/
|
*/
|
||||||
template <typename Concurrency_tag,
|
template <typename Concurrency_tag,
|
||||||
typename PointSet>
|
typename Point, typename Vector>
|
||||||
void
|
void
|
||||||
jet_smooth_point_set(
|
jet_smooth_point_set(
|
||||||
PointSet& point_set, ///< point set
|
Point_set_3<Point, Vector>& point_set, ///< point set
|
||||||
unsigned int k, ///< number of neighbors.
|
unsigned int k, ///< number of neighbors.
|
||||||
unsigned int degree_fitting = 2, ///< fitting degree
|
unsigned int degree_fitting = 2, ///< fitting degree
|
||||||
unsigned int degree_monge = 2) ///< Monge degree
|
unsigned int degree_monge = 2) ///< Monge degree
|
||||||
|
|
@ -168,10 +169,10 @@ jet_smooth_point_set(
|
||||||
/*!
|
/*!
|
||||||
\ingroup PkgPointSet3PointSetProcessing3
|
\ingroup PkgPointSet3PointSetProcessing3
|
||||||
*/
|
*/
|
||||||
template <typename PointSet>
|
template <typename Point, typename Vector>
|
||||||
typename PointSet::iterator
|
typename Point_set_3<Point, Vector>::iterator
|
||||||
mst_orient_normals(
|
mst_orient_normals(
|
||||||
PointSet& point_set, ///< point set
|
Point_set_3<Point, Vector>& point_set, ///< point set
|
||||||
unsigned int k) ///< number of neighbors
|
unsigned int k) ///< number of neighbors
|
||||||
{
|
{
|
||||||
return CGAL::mst_orient_normals
|
return CGAL::mst_orient_normals
|
||||||
|
|
@ -185,10 +186,10 @@ mst_orient_normals(
|
||||||
\note This function adds a normal map to the point set.
|
\note This function adds a normal map to the point set.
|
||||||
*/
|
*/
|
||||||
template <typename Concurrency_tag,
|
template <typename Concurrency_tag,
|
||||||
typename PointSet>
|
typename Point, typename Vector>
|
||||||
void
|
void
|
||||||
pca_estimate_normals(
|
pca_estimate_normals(
|
||||||
PointSet& point_set, ///< point set
|
Point_set_3<Point, Vector>& point_set, ///< point set
|
||||||
unsigned int k) ///< number of neighbors.
|
unsigned int k) ///< number of neighbors.
|
||||||
{
|
{
|
||||||
point_set.add_normal_map();
|
point_set.add_normal_map();
|
||||||
|
|
@ -205,9 +206,9 @@ pca_estimate_normals(
|
||||||
\note No iterator is returned, points simplified are directly
|
\note No iterator is returned, points simplified are directly
|
||||||
removed from the point set.
|
removed from the point set.
|
||||||
*/
|
*/
|
||||||
template <typename PointSet>
|
template <typename Point, typename Vector>
|
||||||
void random_simplify_point_set(
|
void random_simplify_point_set(
|
||||||
PointSet& point_set, ///< point set
|
Point_set_3<Point, Vector>& point_set, ///< point set
|
||||||
double removed_percentage) ///< percentage of points to remove
|
double removed_percentage) ///< percentage of points to remove
|
||||||
{
|
{
|
||||||
point_set.remove_from
|
point_set.remove_from
|
||||||
|
|
@ -222,9 +223,9 @@ void random_simplify_point_set(
|
||||||
\note No iterator is returned, points simplified are directly
|
\note No iterator is returned, points simplified are directly
|
||||||
removed from the point set.
|
removed from the point set.
|
||||||
*/
|
*/
|
||||||
template <typename PointSet>
|
template <typename Point, typename Vector>
|
||||||
void remove_outliers(
|
void remove_outliers(
|
||||||
PointSet& point_set, ///< point set
|
Point_set_3<Point, Vector>& point_set, ///< point set
|
||||||
unsigned int k, ///< number of neighbors.
|
unsigned int k, ///< number of neighbors.
|
||||||
double threshold_percent) ///< percentage of points to remove
|
double threshold_percent) ///< percentage of points to remove
|
||||||
{
|
{
|
||||||
|
|
@ -238,10 +239,10 @@ void remove_outliers(
|
||||||
|
|
||||||
\note This function adds a normal map to the point set.
|
\note This function adds a normal map to the point set.
|
||||||
*/
|
*/
|
||||||
template <typename PointSet>
|
template <typename Point, typename Vector>
|
||||||
void
|
void
|
||||||
vcm_estimate_normals(
|
vcm_estimate_normals(
|
||||||
PointSet& point_set, ///< point set
|
Point_set_3<Point, Vector>& point_set, ///< point set
|
||||||
double offset_radius, ///< offset radius.
|
double offset_radius, ///< offset radius.
|
||||||
double convolution_radius) ///< convolution radius.
|
double convolution_radius) ///< convolution radius.
|
||||||
{
|
{
|
||||||
|
|
@ -258,10 +259,10 @@ vcm_estimate_normals(
|
||||||
|
|
||||||
\note This function adds a normal map to the point set.
|
\note This function adds a normal map to the point set.
|
||||||
*/
|
*/
|
||||||
template <typename PointSet>
|
template <typename Point, typename Vector>
|
||||||
void
|
void
|
||||||
vcm_estimate_normals(
|
vcm_estimate_normals(
|
||||||
PointSet& point_set, ///< point set
|
Point_set_3<Point, Vector>& point_set, ///< point set
|
||||||
double offset_radius, ///< offset radius.
|
double offset_radius, ///< offset radius.
|
||||||
unsigned int nb_neighbors_convolve) ///< number of neighbors used during the convolution.
|
unsigned int nb_neighbors_convolve) ///< number of neighbors used during the convolution.
|
||||||
{
|
{
|
||||||
|
|
@ -277,11 +278,11 @@ vcm_estimate_normals(
|
||||||
\ingroup PkgPointSet3PointSetProcessing3
|
\ingroup PkgPointSet3PointSetProcessing3
|
||||||
*/
|
*/
|
||||||
template <typename Concurrency_tag,
|
template <typename Concurrency_tag,
|
||||||
typename PointSet>
|
typename Point, typename Vector>
|
||||||
void
|
void
|
||||||
wlop_simplify_and_regularize_point_set(
|
wlop_simplify_and_regularize_point_set(
|
||||||
const PointSet& input_point_set, ///< input point set
|
const Point_set_3<Point, Vector>& input_point_set, ///< input point set
|
||||||
PointSet& output_point_set, ///< output point set
|
Point_set_3<Point, Vector>& output_point_set, ///< output point set
|
||||||
const double select_percentage = 5, ///< percentage of points to retain
|
const double select_percentage = 5, ///< percentage of points to retain
|
||||||
double neighbor_radius = -1, ///< size of neighbors.
|
double neighbor_radius = -1, ///< size of neighbors.
|
||||||
const unsigned int max_iter_number = 35, ///< number of iterations.
|
const unsigned int max_iter_number = 35, ///< number of iterations.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue