qCC_db version 2.13.alpha (Qt) - 31 May 2022
CloudCompare 3D entities
Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
ccFastMarchingForNormsDirection Class Reference

Fast Marching algorithm for normals direction resolution. More...

#include <ccFastMarchingForNormsDirection.h>

Inheritance diagram for ccFastMarchingForNormsDirection:
Inheritance graph
[legend]
Collaboration diagram for ccFastMarchingForNormsDirection:
Collaboration graph
[legend]

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)
 

Detailed Description

Fast Marching algorithm for normals direction resolution.

Extends the FastMarching class.

Member Function Documentation

◆ computePropagationConfidence()

float ccFastMarchingForNormsDirection::computePropagationConfidence ( DirectionCell originCell,
DirectionCell destCell 
) const
protected

Computes relative 'confidence' between two cells (orientations)

Returns
confidence between 0 and 1

◆ init()

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.

Parameters
cloudthe point cloud
theNormsthe normals array
theOctreethe associated octree
gridLevelthe level of subdivision
Returns
a negative value if something went wrong

◆ updateResolvedTable()

unsigned ccFastMarchingForNormsDirection::updateResolvedTable ( ccGenericPointCloud theCloud,
std::vector< unsigned char > &  resolved,
NormsIndexesTableType theNorms 
)

Updates a list of point flags, indicating the points already processed.

Returns
the number of resolved points

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