![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
Container of in/out parameters for nearest neighbour(s) search. More...
#include <DgmOctree.h>


Public Member Functions | |
| NearestNeighboursSearchStruct () | |
| Default constructor. More... | |
Public Attributes | |
| CCVector3 | queryPoint |
| Query point. More... | |
| unsigned char | level |
| Level of subdivision of the octree at which to start the search. More... | |
| unsigned | minNumberOfNeighbors |
| Minimal number of neighbours to find. More... | |
| Tuple3i | cellPos |
| Position in the octree of the cell including the query point. More... | |
| CCVector3 | cellCenter |
| Coordinates of the center of the cell including the query point. More... | |
| double | maxSearchSquareDistd |
| Maximum neihgbours distance. More... | |
| cellIndexesContainer | minimalCellsSetToVisit |
| NeighboursSet | pointsInNeighbourhood |
| int | alreadyVisitedNeighbourhoodSize |
| unsigned | theNearestPointIndex |
| The nearest point. More... | |
Container of in/out parameters for nearest neighbour(s) search.
This structure is generic and can be used in multiple cases. It is particularly useful when searching nearest neighbours around points that lie in the same octree cell. In this case, several informations about this cell should be given to the search algorithm through this structure, but only once,before the first search. Then the search algorithm can be called multiple times, and only few informations need to be updated (the query point, etc.).
Definition at line 161 of file DgmOctree.h.
|
inline |
Default constructor.
Definition at line 236 of file DgmOctree.h.
| int cloudViewer::DgmOctree::NearestNeighboursSearchStruct::alreadyVisitedNeighbourhoodSize |
Size of the cell neighbourhood that has been already visited by the algorithm This field is updated by the search algorithm. It should only be reset to 0 when the cell that includes the query point changes. A value of 0 means that no cell has been visited yet, 1 means that only the cell that includes the query point has been visited, 2 means that this cell and its 27 neighbourhing cells have been visited, etc.
Definition at line 225 of file DgmOctree.h.
Referenced by cloudViewer::GeometricalAnalysisTools::ComputeApproxPointsDensityInACellAtLevel(), cloudViewer::ScalarFieldTools::computeCellGaussianFilter(), cloudViewer::DistanceComputationTools::computeCellHausdorffDistance(), cloudViewer::DistanceComputationTools::computeCellHausdorffDistanceWithLocalModel(), cloudViewer::GeometricalAnalysisTools::ComputeGeomCharacteristicAtLevel(), cloudViewer::StatisticalTestingTools::computeLocalChi2DistAtLevel(), cloudViewer::ScalarFieldTools::computeMeanGradientOnPatch(), cloudViewer::DgmOctree::findNearestNeighborsStartingFromCell(), cloudViewer::DgmOctree::findNeighborsInASphereStartingFromCell(), cloudViewer::DgmOctree::findPointNeighbourhood(), cloudViewer::DgmOctree::findTheNearestNeighborStartingFromCell(), and cloudViewer::DgmOctree::getPointsInNeighbourCellsAround().
| CCVector3 cloudViewer::DgmOctree::NearestNeighboursSearchStruct::cellCenter |
Coordinates of the center of the cell including the query point.
Use DgmOctree::computeCellCenter to determine these coordinates. This information should only be updated if the cell changes.
Definition at line 189 of file DgmOctree.h.
Referenced by cloudViewer::CloudSamplingTools::applyNoiseFilterAtLevel(), cloudViewer::GeometricalAnalysisTools::ComputeApproxPointsDensityInACellAtLevel(), cloudViewer::ScalarFieldTools::computeCellGaussianFilter(), cloudViewer::DistanceComputationTools::computeCellHausdorffDistance(), cloudViewer::DistanceComputationTools::computeCellHausdorffDistanceWithLocalModel(), cloudViewer::GeometricalAnalysisTools::ComputeGeomCharacteristicAtLevel(), cloudViewer::StatisticalTestingTools::computeLocalChi2DistAtLevel(), cloudViewer::ScalarFieldTools::computeMeanGradientOnPatch(), cloudViewer::DgmOctree::findNearestNeighborsStartingFromCell(), cloudViewer::DgmOctree::findNeighborsInASphereStartingFromCell(), cloudViewer::DgmOctree::findPointNeighbourhood(), cloudViewer::DgmOctree::findTheNearestNeighborStartingFromCell(), cloudViewer::GeometricalAnalysisTools::FlagDuplicatePointsInACellAtLevel(), and masc::Tools::PrepareFeatures().
| Tuple3i cloudViewer::DgmOctree::NearestNeighboursSearchStruct::cellPos |
Position in the octree of the cell including the query point.
The position is expressed for the level of subdivision at which the search will be processed. Use see DgmOctree::getCellPos to determine this position. This information should only be updated if the cell changes.
Definition at line 184 of file DgmOctree.h.
Referenced by cloudViewer::CloudSamplingTools::applyNoiseFilterAtLevel(), cloudViewer::GeometricalAnalysisTools::ComputeApproxPointsDensityInACellAtLevel(), cloudViewer::ScalarFieldTools::computeCellGaussianFilter(), cloudViewer::DistanceComputationTools::computeCellHausdorffDistance(), cloudViewer::DistanceComputationTools::computeCellHausdorffDistanceWithLocalModel(), cloudViewer::GeometricalAnalysisTools::ComputeGeomCharacteristicAtLevel(), cloudViewer::StatisticalTestingTools::computeLocalChi2DistAtLevel(), cloudViewer::ScalarFieldTools::computeMeanGradientOnPatch(), cloudViewer::DgmOctree::findNearestNeighborsStartingFromCell(), cloudViewer::DgmOctree::findPointNeighbourhood(), cloudViewer::DgmOctree::findTheNearestNeighborStartingFromCell(), cloudViewer::GeometricalAnalysisTools::FlagDuplicatePointsInACellAtLevel(), cloudViewer::DgmOctree::getPointsInNeighbourCellsAround(), and masc::Tools::PrepareFeatures().
| unsigned char cloudViewer::DgmOctree::NearestNeighboursSearchStruct::level |
Level of subdivision of the octree at which to start the search.
Should be set once and for all.
Definition at line 171 of file DgmOctree.h.
Referenced by cloudViewer::CloudSamplingTools::applyNoiseFilterAtLevel(), cloudViewer::CloudSamplingTools::applySORFilterAtLevel(), cloudViewer::GeometricalAnalysisTools::ComputeApproxPointsDensityInACellAtLevel(), cloudViewer::ScalarFieldTools::computeCellGaussianFilter(), cloudViewer::DistanceComputationTools::computeCellHausdorffDistance(), cloudViewer::DistanceComputationTools::computeCellHausdorffDistanceWithLocalModel(), cloudViewer::GeometricalAnalysisTools::ComputeGeomCharacteristicAtLevel(), cloudViewer::StatisticalTestingTools::computeLocalChi2DistAtLevel(), cloudViewer::ScalarFieldTools::computeMeanGradientOnPatch(), cloudViewer::DgmOctree::findNearestNeighborsStartingFromCell(), cloudViewer::DgmOctree::findNeighborsInASphereStartingFromCell(), cloudViewer::DgmOctree::findPointNeighbourhood(), cloudViewer::DgmOctree::findTheNearestNeighborStartingFromCell(), cloudViewer::GeometricalAnalysisTools::FlagDuplicatePointsInACellAtLevel(), cloudViewer::DgmOctree::getPointsInNeighbourCellsAround(), and masc::Tools::PrepareFeatures().
| double cloudViewer::DgmOctree::NearestNeighboursSearchStruct::maxSearchSquareDistd |
Maximum neihgbours distance.
The NN search process will stop if it reaches this radius even if it hasn't find any neighbour (acceleration). To disable this behavior, set the maxSearchSquareDistd to something <= 0).
Definition at line 196 of file DgmOctree.h.
Referenced by cloudViewer::DistanceComputationTools::computeCellHausdorffDistance(), cloudViewer::DistanceComputationTools::computeCellHausdorffDistanceWithLocalModel(), cloudViewer::DgmOctree::findNearestNeighborsStartingFromCell(), cloudViewer::DgmOctree::findPointNeighbourhood(), and cloudViewer::DgmOctree::findTheNearestNeighborStartingFromCell().
| cellIndexesContainer cloudViewer::DgmOctree::NearestNeighboursSearchStruct::minimalCellsSetToVisit |
List of indexes of the cells that have been already visited by the algorithm This field is updated by the search algorithm. It should only be emptied if the cell that includes the query points change. Only used by the "unique nearest point" search algorithm.
Definition at line 206 of file DgmOctree.h.
Referenced by cloudViewer::DistanceComputationTools::computeCellHausdorffDistanceWithLocalModel(), and cloudViewer::DgmOctree::findTheNearestNeighborStartingFromCell().
| unsigned cloudViewer::DgmOctree::NearestNeighboursSearchStruct::minNumberOfNeighbors |
Minimal number of neighbours to find.
used only during multiple neighbours search (see findNearestNeighborsStartingFromCell). This is only indicative and not guaranteed.
Definition at line 177 of file DgmOctree.h.
Referenced by cloudViewer::CloudSamplingTools::applyNoiseFilterAtLevel(), cloudViewer::GeometricalAnalysisTools::ComputeApproxPointsDensityInACellAtLevel(), cloudViewer::DistanceComputationTools::computeCellHausdorffDistanceWithLocalModel(), cloudViewer::StatisticalTestingTools::computeLocalChi2DistAtLevel(), cloudViewer::DgmOctree::findNearestNeighborsStartingFromCell(), and cloudViewer::DgmOctree::findPointNeighbourhood().
| NeighboursSet cloudViewer::DgmOctree::NearestNeighboursSearchStruct::pointsInNeighbourhood |
All the points that belong to the cubical neighbourhood of the current cell This structure is only used by the "multiple nearest neighbours" search algorithms. The nearest points (relatively to the query point) are stored at the beginning of the vector. They are associated to their square distance to the query point.
Definition at line 215 of file DgmOctree.h.
Referenced by cloudViewer::CloudSamplingTools::applyNoiseFilterAtLevel(), cloudViewer::GeometricalAnalysisTools::ComputeApproxPointsDensityInACellAtLevel(), cloudViewer::ScalarFieldTools::computeCellGaussianFilter(), cloudViewer::DistanceComputationTools::computeCellHausdorffDistanceWithLocalModel(), cloudViewer::GeometricalAnalysisTools::ComputeGeomCharacteristicAtLevel(), cloudViewer::StatisticalTestingTools::computeLocalChi2DistAtLevel(), cloudViewer::ScalarFieldTools::computeMeanGradientOnPatch(), cloudViewer::DgmOctree::findNearestNeighborsStartingFromCell(), cloudViewer::DgmOctree::findNeighborsInASphereStartingFromCell(), cloudViewer::DgmOctree::findPointNeighbourhood(), cloudViewer::GeometricalAnalysisTools::FlagDuplicatePointsInACellAtLevel(), cloudViewer::DgmOctree::getPointsInNeighbourCellsAround(), and masc::Tools::PrepareFeatures().
| CCVector3 cloudViewer::DgmOctree::NearestNeighboursSearchStruct::queryPoint |
Query point.
Should be updated each time.
Definition at line 167 of file DgmOctree.h.
Referenced by cloudViewer::CloudSamplingTools::applyNoiseFilterAtLevel(), cloudViewer::GeometricalAnalysisTools::ComputeApproxPointsDensityInACellAtLevel(), cloudViewer::ScalarFieldTools::computeCellGaussianFilter(), cloudViewer::DistanceComputationTools::computeCellHausdorffDistance(), cloudViewer::DistanceComputationTools::computeCellHausdorffDistanceWithLocalModel(), cloudViewer::GeometricalAnalysisTools::ComputeGeomCharacteristicAtLevel(), cloudViewer::StatisticalTestingTools::computeLocalChi2DistAtLevel(), cloudViewer::ScalarFieldTools::computeMeanGradientOnPatch(), cloudViewer::DgmOctree::findNearestNeighborsStartingFromCell(), cloudViewer::DgmOctree::findNeighborsInASphereStartingFromCell(), cloudViewer::DgmOctree::findPointNeighbourhood(), cloudViewer::DgmOctree::findTheNearestNeighborStartingFromCell(), cloudViewer::GeometricalAnalysisTools::FlagDuplicatePointsInACellAtLevel(), and masc::Tools::PrepareFeatures().
| unsigned cloudViewer::DgmOctree::NearestNeighboursSearchStruct::theNearestPointIndex |
The nearest point.
This field is only used by the "unique nearest neighbour" search algorithm (see DgmOctree::findTheNearestNeighborStartingFromCell).
Definition at line 233 of file DgmOctree.h.
Referenced by cloudViewer::DistanceComputationTools::computeCellHausdorffDistance(), cloudViewer::DistanceComputationTools::computeCellHausdorffDistanceWithLocalModel(), cloudViewer::DgmOctree::findPointNeighbourhood(), and cloudViewer::DgmOctree::findTheNearestNeighborStartingFromCell().