ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
CGAL_Normal_Estimator Class Reference

Class grouping different variant of the algorithm. More...

#include <CGAL_normEst.h>

Classes

class  My_Triplet
 simple class for triplet of points More...
 

Public Types

enum  {
  MEAN = 0 , BEST = 1 , CLUSTER = 2 , POINTS = 100 ,
  UNIF = 101 , CUBES = 102 , KNN = 200 , RADIUS = 201
}
 
typedef CGAL::Simple_cartesian< float > Kernel
 
typedef CGAL::Point_3< KernelPoint3
 
typedef CGAL::Vector_3< KernelVector3
 
typedef CGAL::Aff_transformation_3< KernelMatrix3
 
typedef CGAL::Search_traits_3< KernelTreeTraits
 
typedef My_Triplet< Point3Triplet
 
typedef CGAL::Orthogonal_k_neighbor_search< TreeTraitsNeighbor_search
 
typedef CGAL::Kd_tree< TreeTraitsTree
 
typedef CGAL::Fuzzy_sphere< TreeTraitsFuzzy_sphere
 
typedef std::vector< Point3 >::iterator vecPt3Iterator
 
typedef std::vector< Vector3 >::iterator vecVec3Iterator
 
typedef std::vector< Triplet >::iterator vecTripIterator
 
typedef Neighbor_search::iterator Neighbor_search_iterator
 

Public Member Functions

 CGAL_Normal_Estimator (std::vector< Point3 > &points, std::vector< Vector3 > &normals)
 Constructor. More...
 
int & number_of_planes ()
 
int number_of_planes () const
 
int & accum_slices ()
 
int accum_slices () const
 
int & rotation_number ()
 
int rotation_number () const
 
int & normal_selection_mode ()
 
int normal_selection_mode () const
 
float & cluster_angle_rad ()
 
float cluster_angle_rad () const
 
int & minimal_neighbor_number_for_range_search ()
 
int minimal_neighbor_number_for_range_search () const
 
float & small_radius_fact ()
 
float small_radius_fact () const
 
int & number_of_cubes ()
 
int number_of_cubes () const
 
std::vector< Point3 > & point_cloud ()
 
std::vector< Point3point_cloud () const
 
std::vector< Vector3 > & normal_cloud ()
 
std::vector< Vector3normal_cloud () const
 
void estimate (int method=POINTS, int neighborhood_type=KNN, float neighborhood_size=200)
 

Detailed Description

Class grouping different variant of the algorithm.

Definition at line 63 of file CGAL_normEst.h.

Member Typedef Documentation

◆ Fuzzy_sphere

typedef CGAL::Fuzzy_sphere<TreeTraits> CGAL_Normal_Estimator::Fuzzy_sphere

Definition at line 95 of file CGAL_normEst.h.

◆ Kernel

typedef CGAL::Simple_cartesian<float> CGAL_Normal_Estimator::Kernel

Definition at line 86 of file CGAL_normEst.h.

◆ Matrix3

typedef CGAL::Aff_transformation_3<Kernel> CGAL_Normal_Estimator::Matrix3

Definition at line 89 of file CGAL_normEst.h.

◆ Neighbor_search

typedef CGAL::Orthogonal_k_neighbor_search<TreeTraits> CGAL_Normal_Estimator::Neighbor_search

Definition at line 93 of file CGAL_normEst.h.

◆ Neighbor_search_iterator

typedef Neighbor_search::iterator CGAL_Normal_Estimator::Neighbor_search_iterator

Definition at line 99 of file CGAL_normEst.h.

◆ Point3

typedef CGAL::Point_3<Kernel> CGAL_Normal_Estimator::Point3

Definition at line 87 of file CGAL_normEst.h.

◆ Tree

typedef CGAL::Kd_tree<TreeTraits> CGAL_Normal_Estimator::Tree

Definition at line 94 of file CGAL_normEst.h.

◆ TreeTraits

typedef CGAL::Search_traits_3<Kernel> CGAL_Normal_Estimator::TreeTraits

Definition at line 90 of file CGAL_normEst.h.

◆ Triplet

Definition at line 91 of file CGAL_normEst.h.

◆ vecPt3Iterator

typedef std::vector<Point3>::iterator CGAL_Normal_Estimator::vecPt3Iterator

Definition at line 96 of file CGAL_normEst.h.

◆ Vector3

typedef CGAL::Vector_3<Kernel> CGAL_Normal_Estimator::Vector3

Definition at line 88 of file CGAL_normEst.h.

◆ vecTripIterator

typedef std::vector<Triplet>::iterator CGAL_Normal_Estimator::vecTripIterator

Definition at line 98 of file CGAL_normEst.h.

◆ vecVec3Iterator

typedef std::vector<Vector3>::iterator CGAL_Normal_Estimator::vecVec3Iterator

Definition at line 97 of file CGAL_normEst.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
MEAN 

MEAN value 0, used for normal computation by mean

BEST 

BEST value 1, used for normal computation by best confidence

CLUSTER 

CLUSTER value 2, used for normal computation by clustering

POINTS 
UNIF 

UNIF value 101, used for method choice, triplets by uniform selection in the neighborhood sphere

CUBES 

CUBES value 102, used for method choice, triplets by selection with cubes discretization

KNN 

KNN value 200, neighborhood selection type, k-nearest neighbors

RADIUS 

RADIUS value 201, neighborhood selection type, range search

Definition at line 101 of file CGAL_normEst.h.

Constructor & Destructor Documentation

◆ CGAL_Normal_Estimator()

CGAL_Normal_Estimator::CGAL_Normal_Estimator ( std::vector< Point3 > &  points,
std::vector< Vector3 > &  normals 
)
inline

Constructor.

Parameters
points
normals

Definition at line 124 of file CGAL_normEst.h.

Member Function Documentation

◆ accum_slices() [1/2]

int& CGAL_Normal_Estimator::accum_slices ( )
inline

Definition at line 132 of file CGAL_normEst.h.

◆ accum_slices() [2/2]

int CGAL_Normal_Estimator::accum_slices ( ) const
inline

Definition at line 133 of file CGAL_normEst.h.

◆ cluster_angle_rad() [1/2]

float& CGAL_Normal_Estimator::cluster_angle_rad ( )
inline

Definition at line 138 of file CGAL_normEst.h.

◆ cluster_angle_rad() [2/2]

float CGAL_Normal_Estimator::cluster_angle_rad ( ) const
inline

Definition at line 139 of file CGAL_normEst.h.

◆ estimate()

void CGAL_Normal_Estimator::estimate ( int  method = POINTS,
int  neighborhood_type = KNN,
float  neighborhood_size = 200 
)
inline

Definition at line 158 of file CGAL_normEst.h.

References CUBES, QtCompat::endl(), KNN, POINTS, RADIUS, and UNIF.

◆ minimal_neighbor_number_for_range_search() [1/2]

int& CGAL_Normal_Estimator::minimal_neighbor_number_for_range_search ( )
inline

Definition at line 141 of file CGAL_normEst.h.

◆ minimal_neighbor_number_for_range_search() [2/2]

int CGAL_Normal_Estimator::minimal_neighbor_number_for_range_search ( ) const
inline

Definition at line 144 of file CGAL_normEst.h.

◆ normal_cloud() [1/2]

std::vector<Vector3>& CGAL_Normal_Estimator::normal_cloud ( )
inline

Definition at line 155 of file CGAL_normEst.h.

◆ normal_cloud() [2/2]

std::vector<Vector3> CGAL_Normal_Estimator::normal_cloud ( ) const
inline

Definition at line 156 of file CGAL_normEst.h.

◆ normal_selection_mode() [1/2]

int& CGAL_Normal_Estimator::normal_selection_mode ( )
inline

Definition at line 136 of file CGAL_normEst.h.

◆ normal_selection_mode() [2/2]

int CGAL_Normal_Estimator::normal_selection_mode ( ) const
inline

Definition at line 137 of file CGAL_normEst.h.

◆ number_of_cubes() [1/2]

int& CGAL_Normal_Estimator::number_of_cubes ( )
inline

Definition at line 150 of file CGAL_normEst.h.

◆ number_of_cubes() [2/2]

int CGAL_Normal_Estimator::number_of_cubes ( ) const
inline

Definition at line 151 of file CGAL_normEst.h.

◆ number_of_planes() [1/2]

int& CGAL_Normal_Estimator::number_of_planes ( )
inline

Definition at line 130 of file CGAL_normEst.h.

◆ number_of_planes() [2/2]

int CGAL_Normal_Estimator::number_of_planes ( ) const
inline

Definition at line 131 of file CGAL_normEst.h.

◆ point_cloud() [1/2]

std::vector<Point3>& CGAL_Normal_Estimator::point_cloud ( )
inline

Definition at line 153 of file CGAL_normEst.h.

◆ point_cloud() [2/2]

std::vector<Point3> CGAL_Normal_Estimator::point_cloud ( ) const
inline

Definition at line 154 of file CGAL_normEst.h.

◆ rotation_number() [1/2]

int& CGAL_Normal_Estimator::rotation_number ( )
inline

Definition at line 134 of file CGAL_normEst.h.

◆ rotation_number() [2/2]

int CGAL_Normal_Estimator::rotation_number ( ) const
inline

Definition at line 135 of file CGAL_normEst.h.

◆ small_radius_fact() [1/2]

float& CGAL_Normal_Estimator::small_radius_fact ( )
inline

Definition at line 148 of file CGAL_normEst.h.

◆ small_radius_fact() [2/2]

float CGAL_Normal_Estimator::small_radius_fact ( ) const
inline

Definition at line 149 of file CGAL_normEst.h.


The documentation for this class was generated from the following file: