MeshLib C# Docs
Loading...
Searching...
No Matches
MR.UnionFind_MRFaceId Class Reference

Union-find data structure for representing disjoin 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. More...

+ Inheritance diagram for MR.UnionFind_MRFaceId:

Public Member Functions

unsafe UnionFind_MRFaceId ()
 Constructs an empty (default-constructed) instance.
 
unsafe UnionFind_MRFaceId (MR._ByValue_UnionFind_MRFaceId _other)
 Generated from constructor MR.UnionFind<MR.FaceId>::UnionFind.
 
 UnionFind_MRFaceId (Const_UnionFind_MRFaceId _other)
 Generated from constructor MR.UnionFind<MR.FaceId>::UnionFind.
 
 UnionFind_MRFaceId (UnionFind_MRFaceId _other)
 Generated from constructor MR.UnionFind<MR.FaceId>::UnionFind.
 
unsafe UnionFind_MRFaceId (ulong size)
 creates union-find with given number of elements, each element is the only one in its disjoint set Generated from constructor MR.UnionFind<MR.FaceId>::UnionFind.
 
unsafe MR.UnionFind_MRFaceId assign (MR._ByValue_UnionFind_MRFaceId _other)
 Generated from method MR.UnionFind<MR.FaceId>::operator=.
 
unsafe void reset (ulong size)
 resets union-find to represent given number of elements, each element is the only one in its disjoint set Generated from method MR.UnionFind<MR.FaceId>::reset.
 
unsafe MR.Std.Pair_MRFaceId_Bool unite (MR.FaceId first, MR.FaceId second)
 unite two elements,
 
unsafe bool united (MR.FaceId first, MR.FaceId second)
 returns true if given two elements are from one set Generated from method MR.UnionFind<MR.FaceId>::united.
 
unsafe MR.FaceId find (MR.FaceId a)
 finds the root of the set containing given element with optimizing data structure updates Generated from method MR.UnionFind<MR.FaceId>::find.
 
unsafe MR.FaceId findUpdateRange (MR.FaceId a, MR.FaceId begin, MR.FaceId end)
 finds the root of the set containing given element with optimizing data structure in the range [begin, end) Generated from method MR.UnionFind<MR.FaceId>::findUpdateRange.
 
unsafe MR.Const_FaceMap roots ()
 sets the root of corresponding set as the parent of each element, then returns the vector Generated from method MR.UnionFind<MR.FaceId>::roots.
 
unsafe int sizeOfComp (MR.FaceId a)
 returns the number of elements in the set containing given element Generated from method MR.UnionFind<MR.FaceId>::sizeOfComp.
 

Detailed Description

Union-find data structure for representing disjoin 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.

Template Parameters
Iis the identifier of a set's element, e.g. FaceId Generated from class MR.UnionFind<MR.FaceId>. This is the non-const half of the class.

Constructor & Destructor Documentation

◆ UnionFind_MRFaceId() [1/5]

unsafe MR.UnionFind_MRFaceId.UnionFind_MRFaceId ( )
inline

Constructs an empty (default-constructed) instance.

◆ UnionFind_MRFaceId() [2/5]

unsafe MR.UnionFind_MRFaceId.UnionFind_MRFaceId ( MR._ByValue_UnionFind_MRFaceId _other)
inline

Generated from constructor MR.UnionFind<MR.FaceId>::UnionFind.

◆ UnionFind_MRFaceId() [3/5]

MR.UnionFind_MRFaceId.UnionFind_MRFaceId ( Const_UnionFind_MRFaceId _other)
inline

Generated from constructor MR.UnionFind<MR.FaceId>::UnionFind.

◆ UnionFind_MRFaceId() [4/5]

MR.UnionFind_MRFaceId.UnionFind_MRFaceId ( UnionFind_MRFaceId _other)
inline

Generated from constructor MR.UnionFind<MR.FaceId>::UnionFind.

◆ UnionFind_MRFaceId() [5/5]

unsafe MR.UnionFind_MRFaceId.UnionFind_MRFaceId ( ulong size)
inline

creates union-find with given number of elements, each element is the only one in its disjoint set Generated from constructor MR.UnionFind<MR.FaceId>::UnionFind.

Member Function Documentation

◆ assign()

unsafe MR.UnionFind_MRFaceId MR.UnionFind_MRFaceId.assign ( MR._ByValue_UnionFind_MRFaceId _other)
inline

Generated from method MR.UnionFind<MR.FaceId>::operator=.

◆ find()

unsafe MR.FaceId MR.UnionFind_MRFaceId.find ( MR.FaceId a)
inline

finds the root of the set containing given element with optimizing data structure updates Generated from method MR.UnionFind<MR.FaceId>::find.

◆ findUpdateRange()

unsafe MR.FaceId MR.UnionFind_MRFaceId.findUpdateRange ( MR.FaceId a,
MR.FaceId begin,
MR.FaceId end )
inline

finds the root of the set containing given element with optimizing data structure in the range [begin, end) Generated from method MR.UnionFind<MR.FaceId>::findUpdateRange.

◆ reset()

unsafe void MR.UnionFind_MRFaceId.reset ( ulong size)
inline

resets union-find to represent given number of elements, each element is the only one in its disjoint set Generated from method MR.UnionFind<MR.FaceId>::reset.

◆ roots()

unsafe MR.Const_FaceMap MR.UnionFind_MRFaceId.roots ( )
inline

sets the root of corresponding set as the parent of each element, then returns the vector Generated from method MR.UnionFind<MR.FaceId>::roots.

◆ sizeOfComp()

unsafe int MR.UnionFind_MRFaceId.sizeOfComp ( MR.FaceId a)
inline

returns the number of elements in the set containing given element Generated from method MR.UnionFind<MR.FaceId>::sizeOfComp.

◆ unite()

unsafe MR.Std.Pair_MRFaceId_Bool MR.UnionFind_MRFaceId.unite ( MR.FaceId first,
MR.FaceId second )
inline

unite two elements,

Returns
first: new common root, second: true = union was done, false = first and second were already united Generated from method MR.UnionFind<MR.FaceId>::unite.

◆ united()

unsafe bool MR.UnionFind_MRFaceId.united ( MR.FaceId first,
MR.FaceId second )
inline

returns true if given two elements are from one set Generated from method MR.UnionFind<MR.FaceId>::united.


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