qCC  version 2.5.4 (Qt) - 19 Apr. 2014
 All Classes Functions Variables Typedefs Enumerations
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, CCLib::DgmOctree *theOctree, uchar gridLevel)
 Initializes the grid with a point cloud (and ist corresponding octree) More...
 
unsigned updateResolvedTable (ccGenericPointCloud *theCloud, GenericChunkedArray< 1, uchar > &resolved, NormsIndexesTableType *theNorms)
 Updates a list of point flags, indicating the points already processed. More...
 
int propagate ()
 

Static Public Member Functions

static int ResolveNormsDirectionByFrontPropagation (ccPointCloud *theCloud, NormsIndexesTableType *theNorms, uchar octreeLevel, CCLib::GenericProgressCallback *progressCb=0, CCLib::DgmOctree *inputOctree=0)
 Static entry point (helper)
 

Protected Member Functions

virtual float computeTCoefApprox (CCLib::FastMarching::Cell *currentCell, CCLib::FastMarching::Cell *neighbourCell) const
 
virtual int step ()
 
virtual void initTrialCells ()
 
virtual bool instantiateGrid (unsigned size)
 
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

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

Computes relative 'confidence' between two cells (orientations)

Returns
confidence between 0 and 1
int ccFastMarchingForNormsDirection::init ( ccGenericPointCloud *  cloud,
NormsIndexesTableType *  theNorms,
CCLib::DgmOctree *  theOctree,
uchar  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
unsigned ccFastMarchingForNormsDirection::updateResolvedTable ( ccGenericPointCloud *  theCloud,
GenericChunkedArray< 1, uchar > &  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: