44 const std::vector<PointCoordinateType>& sortedRadii,
46 int maxThreadCount = 0,
57 int maxThreadCount = 0,
88 unsigned minPoints4Stats,
92 unsigned probingCount = 1000);
cmdLineReadable * params[]
Array of compressed 3D normals (single index)
A 3D cloud interface with associated features (color, normals, octree, etc.)
A 3D cloud and its associated features (color, normals, scalar fields, etc.)
A scalar field associated to display-related parameters.
The octree structure used throughout the library.
std::vector< PointDescriptor > NeighboursSet
A set of neighbours.
A generic 3D point cloud with index-based point access.
Main application interface (for plugins)
M3C2 normals computation related tools.
ComputationMode
Normals computation mode.
@ USE_CORE_POINTS_NORMALS
static void MakeNormalsHorizontal(NormsIndexesTableType &normsCodes)
Makes all normals horizontal.
static bool ComputeCorePointsNormals(cloudViewer::GenericIndexedCloud *corePoints, NormsIndexesTableType *corePointsNormals, ccGenericPointCloud *sourceCloud, const std::vector< PointCoordinateType > &sortedRadii, bool &invalidNormals, int maxThreadCount=0, ccScalarField *normalScale=nullptr, cloudViewer::GenericProgressCallback *progressCb=nullptr, cloudViewer::DgmOctree *inputOctree=nullptr)
Computes normals on core points only.
static bool UpdateNormalOrientationsWithCloud(cloudViewer::GenericIndexedCloud *normCloud, NormsIndexesTableType &normsCodes, cloudViewer::GenericIndexedCloud *orientationCloud, int maxThreadCount=0, cloudViewer::GenericProgressCallback *progressCb=nullptr)