qCC_db version 2.13.alpha (Qt) - 31 May 2022
CloudCompare 3D entities
|
Fast Marching algorithm for normals direction resolution. More...
#include <ccFastMarchingForNormsDirection.h>
Classes | |
class | DirectionCell |
A Fast Marching grid cell for normals direction resolution. More... | |
Public Member Functions | |
ccFastMarchingForNormsDirection () | |
Default constructor. | |
int | init (ccGenericPointCloud *cloud, NormsIndexesTableType *theNorms, ccOctree *theOctree, unsigned char gridLevel) |
Initializes the grid with a point cloud (and ist corresponding octree) More... | |
unsigned | updateResolvedTable (ccGenericPointCloud *theCloud, std::vector< unsigned char > &resolved, NormsIndexesTableType *theNorms) |
Updates a list of point flags, indicating the points already processed. More... | |
int | propagate () override |
Static Public Member Functions | |
static int | OrientNormals (ccPointCloud *theCloud, unsigned char octreeLevel, ccProgressDialog *progressCb=nullptr) |
Static entry point (helper) | |
Protected Member Functions | |
float | computeTCoefApprox (CCCoreLib::FastMarching::Cell *currentCell, CCCoreLib::FastMarching::Cell *neighbourCell) const override |
int | step () override |
void | initTrialCells () override |
bool | instantiateGrid (unsigned size) override |
float | computePropagationConfidence (DirectionCell *originCell, DirectionCell *destCell) const |
Computes relative 'confidence' between two cells (orientations) More... | |
void | resolveCellOrientation (unsigned index) |
Resolves the direction of a given cell (once and for all) | |
Fast Marching algorithm for normals direction resolution.
Extends the FastMarching class.
|
protected |
Computes relative 'confidence' between two cells (orientations)
int ccFastMarchingForNormsDirection::init | ( | ccGenericPointCloud * | cloud, |
NormsIndexesTableType * | theNorms, | ||
ccOctree * | theOctree, | ||
unsigned char | gridLevel | ||
) |
Initializes the grid with a point cloud (and ist corresponding octree)
The points should be associated to an (active) scalar field. The Fast Marching grid will have the same dimensions as the input octree considered at a given level of subdivision.
cloud | the point cloud |
theNorms | the normals array |
theOctree | the associated octree |
gridLevel | the level of subdivision |
unsigned ccFastMarchingForNormsDirection::updateResolvedTable | ( | ccGenericPointCloud * | theCloud, |
std::vector< unsigned char > & | resolved, | ||
NormsIndexesTableType * | theNorms | ||
) |
Updates a list of point flags, indicating the points already processed.