MeshLib Documentation
Loading...
Searching...
No Matches
MRPointsComponents.h
Go to the documentation of this file.
1#pragma once
2#include "MRMeshFwd.h"
3#include "MRUnionFind.h"
4#include "MRExpected.h"
5#include <limits.h>
6
7namespace MR
8{
9
10namespace PointCloudComponents
11{
12
16
19[[nodiscard]] MRMESH_API Expected<VertBitSet> getLargeComponentsUnion( const PointCloud& pointCloud, float maxDist,
20 int minSize, ProgressCallback pc = {} );
25 const VertBitSet& region, int minSize, ProgressCallback pc = {} );
26
29[[nodiscard]] MRMESH_API Expected<std::vector<VertBitSet>> getLargeComponents( const PointCloud& pointCloud, float maxDist,
30 int minSize, ProgressCallback pc = {} );
31
37[[nodiscard]] MRMESH_API Expected<std::pair<std::vector<VertBitSet>, int>> getAllComponents( const PointCloud& pointCloud, float maxDist,
38 int maxComponentCount = INT_MAX, ProgressCallback pc = {} );
39
41[[nodiscard]] MRMESH_API Expected<UnionFind<VertId>> getUnionFindStructureVerts( const PointCloud& pointCloud, float maxDist, const VertBitSet* region = nullptr, ProgressCallback pc = {} );
42
44} // namespace PointCloudComponents
45
46}
#define MRMESH_API
Definition MRMesh/MRMeshFwd.h:46
Simple union find data structure.
Definition MRUnionFind.h:16
std::function< bool(float)> ProgressCallback
Definition MRMesh/MRMeshFwd.h:576
MRMESH_API Expected< std::vector< VertBitSet > > getLargeComponents(const PointCloud &pointCloud, float maxDist, int minSize, ProgressCallback pc={})
MRMESH_API Expected< std::pair< std::vector< VertBitSet >, int > > getAllComponents(const PointCloud &pointCloud, float maxDist, int maxComponentCount=INT_MAX, ProgressCallback pc={})
MRMESH_API Expected< UnionFind< VertId > > getUnionFindStructureVerts(const PointCloud &pointCloud, float maxDist, const VertBitSet *region=nullptr, ProgressCallback pc={})
gets union - find structure for vertices in
MRMESH_API Expected< VertBitSet > getLargeComponentsUnion(const PointCloud &pointCloud, float maxDist, int minSize, ProgressCallback pc={})
Definition MRCameraOrientationPlugin.h:8
tl::expected< T, E > Expected
Definition MRExpected.h:58
Definition MRMesh/MRPointCloud.h:16