![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
#include <DistanceComputationTools.h>#include <CVPointCloud.h>#include <DgmOctreeReferenceCloud.h>#include <FastMarchingForPropagation.h>#include <LocalModel.h>#include <Polyline.h>#include <ReferenceCloud.h>#include <SaitoSquaredDistanceTransform.h>#include <ScalarField.h>#include <ScalarFieldTools.h>#include <SimpleTriangle.h>#include <SquareMatrix.h>#include <algorithm>#include <cassert>
Go to the source code of this file.
Classes | |
| struct | cloudViewer::TriangleList |
| List of triangles (indexes) More... | |
| struct | cloudViewer::OctreeAndMeshIntersection |
| struct | CellToTest |
| struct | TrianglesToTest |
| Helper structure for triangles to test. More... | |
Namespaces | |
| cloudViewer | |
| Generic file read and write utility for python interface. | |
Functions | |
| bool | ComparePointsAndTriangles (ReferenceCloud &Yk, unsigned &remainingPoints, cloudViewer::GenericIndexedMesh *mesh, std::vector< unsigned > &trianglesToTest, std::size_t &trianglesToTestCount, std::vector< ScalarType > &minDists, ScalarType maxRadius, cloudViewer::DistanceComputationTools::Cloud2MeshDistancesComputationParams ¶ms) |
| Method used by computeCloud2MeshDistanceWithOctree. More... | |
| int | ComputeMaxNeighborhoodLength (ScalarType maxSearchDist, PointCoordinateType cellSize) |
| void | applySqrtToPointDist (const CCVector3 &aPoint, ScalarType &aScalarValue) |
| static int | ComputeNeighborhood2MeshDistancesWithOctree (OctreeAndMeshIntersection *intersection, DistanceComputationTools::Cloud2MeshDistancesComputationParams ¶ms, ReferenceCloud &Yk, unsigned cellIndex, const Tuple3i &cellPos, TrianglesToTest &ttt, bool boundedSearch, int maxNeighbourhoodLength) |
| Helper function to compute neighborhood to mesh distances with octree. More... | |
|
inline |
Definition at line 1879 of file DistanceComputationTools.cpp.
References cloudViewer::ScalarField::ValidValue().
Referenced by cloudViewer::DistanceComputationTools::computeCloud2MeshDistances().
| bool ComparePointsAndTriangles | ( | ReferenceCloud & | Yk, |
| unsigned & | remainingPoints, | ||
| cloudViewer::GenericIndexedMesh * | mesh, | ||
| std::vector< unsigned > & | trianglesToTest, | ||
| std::size_t & | trianglesToTestCount, | ||
| std::vector< ScalarType > & | minDists, | ||
| ScalarType | maxRadius, | ||
| cloudViewer::DistanceComputationTools::Cloud2MeshDistancesComputationParams & | params | ||
| ) |
Method used by computeCloud2MeshDistanceWithOctree.
Definition at line 1030 of file DistanceComputationTools.cpp.
References cloudViewer::SimpleTriangle::A, cloudViewer::SimpleTriangle::B, cloudViewer::SimpleTriangle::C, cloudViewer::DistanceComputationTools::computePoint2TriangleDistance(), cloudViewer::ReferenceCloud::forwardIterator(), cloudViewer::ReferenceCloud::getCurrentPointScalarValue(), cloudViewer::ReferenceCloud::getPoint(), cloudViewer::ReferenceCloud::getPointGlobalIndex(), cloudViewer::ReferenceCloud::getPointScalarValue(), cloudViewer::GenericIndexedMesh::getTriangleVertices(), params, cloudViewer::ReferenceCloud::placeIteratorAtBeginning(), cloudViewer::ReferenceCloud::removeCurrentPointGlobalIndex(), cloudViewer::ReferenceCloud::setPointScalarValue(), cloudViewer::ReferenceCloud::size(), and cloudViewer::ScalarField::ValidValue().
Referenced by cloudViewer::DistanceComputationTools::computeCloud2MeshDistanceWithOctree(), and ComputeNeighborhood2MeshDistancesWithOctree().
| int ComputeMaxNeighborhoodLength | ( | ScalarType | maxSearchDist, |
| PointCoordinateType | cellSize | ||
| ) |
Definition at line 1130 of file DistanceComputationTools.cpp.
References cloudViewer::utility::ceil().
Referenced by cloudViewer::DistanceComputationTools::computeCloud2MeshDistancesWithOctree(), cloudViewer::DistanceComputationTools::computeCloud2MeshDistanceWithOctree(), and cloudViewer::DistanceComputationTools::computePoint2MeshDistancesWithOctree().
|
static |
Helper function to compute neighborhood to mesh distances with octree.
Definition at line 1910 of file DistanceComputationTools.cpp.
References abs(), ComparePointsAndTriangles(), cloudViewer::DgmOctree::computeCellCenter(), cloudViewer::DgmOctree::ComputeMinDistanceToCellBorder(), dist(), cloudViewer::DgmOctree::getCellSize(), cloudViewer::ReferenceCloud::getPointPersistentPtr(), cloudViewer::TriangleList::indexes, max(), cloudViewer::OctreeAndMeshIntersection::maxFillIndexes, cloudViewer::OctreeAndMeshIntersection::mesh, min(), cloudViewer::OctreeAndMeshIntersection::minFillIndexes, cloudViewer::OctreeAndMeshIntersection::octree, octree, params, cloudViewer::OctreeAndMeshIntersection::perCellTriangleList, TrianglesToTest::processTriangles, cloudViewer::ReferenceCloud::setPointScalarValue(), cloudViewer::ReferenceCloud::size(), TrianglesToTest::trianglesToTest, TrianglesToTest::trianglesToTestCapacity, TrianglesToTest::trianglesToTestCount, Tuple3Tpl< Type >::u, Tuple3Tpl< Type >::x, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.
Referenced by cloudViewer::DistanceComputationTools::computeCloud2MeshDistancesWithOctree(), and cloudViewer::DistanceComputationTools::computePoint2MeshDistancesWithOctree().