MeshLib
 
Loading...
Searching...
No Matches
MRPolylineComponents.h
Go to the documentation of this file.
1#pragma once
2#include "MRMeshFwd.h"
3#include "MRUnionFind.h"
4
5namespace MR
6{
7
8namespace PolylineComponents
9{
10
12[[nodiscard]] MRMESH_API size_t getNumComponents( const PolylineTopology& topology);
13
17MRMESH_API UndirectedEdgeBitSet getComponent( const PolylineTopology& topology, UndirectedEdgeId id );
18
19
23MRMESH_API std::vector<UndirectedEdgeBitSet> getAllComponents( const PolylineTopology& topology );
29MRMESH_API std::pair<std::vector<UndirectedEdgeBitSet>, int> getAllComponents( const PolylineTopology& topology, int maxComponentCount );
30
34
37template <typename V>
38UndirectedEdgeBitSet getLargestComponent( const Polyline<V>& polyline );
39
40}
41
42}
#define MRMESH_API
Definition MRMesh/MRMeshFwd.h:46
Definition MRPolylineTopology.h:15
Simple union find data structure.
Definition MRUnionFind.h:16
MRMESH_API UnionFind< UndirectedEdgeId > getUnionFindStructure(const PolylineTopology &topology)
UndirectedEdgeBitSet getLargestComponent(const Polyline< V > &polyline)
MRMESH_API std::vector< UndirectedEdgeBitSet > getAllComponents(const PolylineTopology &topology)
MRMESH_API UndirectedEdgeBitSet getComponent(const PolylineTopology &topology, UndirectedEdgeId id)
MRMESH_API size_t getNumComponents(const PolylineTopology &topology)
returns the number of connected components in polyline
Definition MRCameraOrientationPlugin.h:7
Definition MRPolyline.h:18