MeshLib Python Docs
Loading...
Searching...
No Matches
mrmeshpy.UnionFind_UndirectedEdgeId Class Reference
Inheritance diagram for mrmeshpy.UnionFind_UndirectedEdgeId:

Public Member Functions

None __init__ (self)
None __init__ (self, int size)
None __init__ (self, BaseUnionFind_UndirectedEdgeId base)
None __init__ (self, UnionFind_UndirectedEdgeId arg0)
None reset (self, int size)
int sizeOfComp (self, UndirectedEdgeId a)
tuple[UndirectedEdgeId, bool] unite (self, UndirectedEdgeId first, UndirectedEdgeId second)
Public Member Functions inherited from mrmeshpy.BaseUnionFind_UndirectedEdgeId
None __init__ (self)
None __init__ (self, BaseUnionFind_UndirectedEdgeId arg0)
UndirectedEdgeId find (self, UndirectedEdgeId a)
UndirectedEdgeId findUpdateRange (self, UndirectedEdgeId a, UndirectedEdgeId begin, UndirectedEdgeId end)
bool isRoot (self, UndirectedEdgeId a)
UndirectedEdgeId parent (self, UndirectedEdgeId a)
UndirectedEdgeMap parents (self)
UndirectedEdgeMap roots (self)
int size (self)
tuple[UndirectedEdgeId, bool] uniteUnbalanced (self, UndirectedEdgeId first, UndirectedEdgeId second)
bool united (self, UndirectedEdgeId first, UndirectedEdgeId second)

Static Public Member Functions

None __init__ (*args, **kwargs)
UnionFind_UndirectedEdgeId operator (*args, **kwargs)
UnionFind_UndirectedEdgeId operator (*args, **kwargs)
Static Public Member Functions inherited from mrmeshpy.BaseUnionFind_UndirectedEdgeId
None __init__ (*args, **kwargs)

Detailed Description

Generated from:  MR::UnionFind<MR::UndirectedEdgeId>


 \\brief Union-find data structure for representing disjoint sets of elements with few very quick operations:
 1) union of two sets in one,
 2) checking whether two elements pertain to the same set,
 3) finding representative element (root) of each set by any set's element.
 Sequential implementation that selects the root of a united pair by set size for best performance.
 \\tparam I is the identifier of a set's element, e.g. FaceId

Constructor & Destructor Documentation

◆ __init__() [1/5]

None mrmeshpy.UnionFind_UndirectedEdgeId.__init__ ( * args,
** kwargs )
static

◆ __init__() [2/5]

None mrmeshpy.UnionFind_UndirectedEdgeId.__init__ ( self)

◆ __init__() [3/5]

None mrmeshpy.UnionFind_UndirectedEdgeId.__init__ ( self,
int size )
creates union-find with given number of elements, each element is the only one in its disjoint set

◆ __init__() [4/5]

None mrmeshpy.UnionFind_UndirectedEdgeId.__init__ ( self,
BaseUnionFind_UndirectedEdgeId base )
adopts the parent forest of a base/parallel union-find and (re)computes set sizes,
so the result supports the full sequential interface (e.g. unite, sizeOfComp)

◆ __init__() [5/5]

None mrmeshpy.UnionFind_UndirectedEdgeId.__init__ ( self,
UnionFind_UndirectedEdgeId arg0 )
Implicit copy constructor.

Member Function Documentation

◆ operator() [1/2]

UnionFind_UndirectedEdgeId mrmeshpy.UnionFind_UndirectedEdgeId.operator ( * args,
** kwargs )
static

◆ operator() [2/2]

UnionFind_UndirectedEdgeId mrmeshpy.UnionFind_UndirectedEdgeId.operator ( * args,
** kwargs )
static

◆ reset()

None mrmeshpy.UnionFind_UndirectedEdgeId.reset ( self,
int size )
resets union-find to represent given number of elements, each element is the only one in its disjoint set

Reimplemented from mrmeshpy.BaseUnionFind_UndirectedEdgeId.

◆ sizeOfComp()

int mrmeshpy.UnionFind_UndirectedEdgeId.sizeOfComp ( self,
UndirectedEdgeId a )
returns the number of elements in the set containing given element

◆ unite()

tuple[UndirectedEdgeId, bool] mrmeshpy.UnionFind_UndirectedEdgeId.unite ( self,
UndirectedEdgeId first,
UndirectedEdgeId second )
unite two elements,
\\return first: new common root, second: true = union was done, false = first and second were already united

The documentation for this class was generated from the following file: