MeshLib C# Docs
Loading...
Searching...
No Matches
MR.UnionFind_MRVertId 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_MRVertId:

Public Member Functions

unsafe UnionFind_MRVertId ()
 Constructs an empty (default-constructed) instance.
 
unsafe UnionFind_MRVertId (MR._ByValue_UnionFind_MRVertId _other)
 Generated from constructor MR.UnionFind<MR.VertId>::UnionFind.
 
unsafe UnionFind_MRVertId (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.VertId>::UnionFind.
 
unsafe MR.UnionFind_MRVertId assign (MR._ByValue_UnionFind_MRVertId _other)
 Generated from method MR.UnionFind<MR.VertId>::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.VertId>::reset.
 
unsafe MR.Std.Pair_MRVertId_Bool unite (MR.VertId first, MR.VertId second)
 unite two elements,
 
unsafe bool united (MR.VertId first, MR.VertId second)
 returns true if given two elements are from one set Generated from method MR.UnionFind<MR.VertId>::united.
 
unsafe MR.VertId find (MR.VertId a)
 finds the root of the set containing given element with optimizing data structure updates Generated from method MR.UnionFind<MR.VertId>::find.
 
unsafe MR.VertId findUpdateRange (MR.VertId a, MR.VertId begin, MR.VertId 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.VertId>::findUpdateRange.
 
unsafe MR.Const_VertMap roots ()
 sets the root of corresponding set as the parent of each element, then returns the vector Generated from method MR.UnionFind<MR.VertId>::roots.
 
unsafe int sizeOfComp (MR.VertId a)
 returns the number of elements in the set containing given element Generated from method MR.UnionFind<MR.VertId>::sizeOfComp.
 
- Public Member Functions inherited from MR.Const_UnionFind_MRVertId
virtual void Dispose ()
 
unsafe Const_UnionFind_MRVertId ()
 Constructs an empty (default-constructed) instance.
 
unsafe Const_UnionFind_MRVertId (MR._ByValue_UnionFind_MRVertId _other)
 Generated from constructor MR.UnionFind<MR.VertId>::UnionFind.
 
unsafe Const_UnionFind_MRVertId (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.VertId>::UnionFind.
 
unsafe ulong size ()
 returns the number of elements in union-find Generated from method MR.UnionFind<MR.VertId>::size.
 
unsafe bool isRoot (MR.VertId a)
 returns true if given element is the root of some set Generated from method MR.UnionFind<MR.VertId>::isRoot.
 
unsafe MR.VertId parent (MR.VertId a)
 return parent element of this element, which is equal to given element only for set's root Generated from method MR.UnionFind<MR.VertId>::parent.
 
unsafe MR.Const_VertMap parents ()
 gets the parents of all elements as is Generated from method MR.UnionFind<MR.VertId>::parents.
 

Additional Inherited Members

- Protected Member Functions inherited from MR.Const_UnionFind_MRVertId
virtual unsafe void Dispose (bool disposing)
 
- Protected Attributes inherited from MR.Misc.Object< Const_UnionFind_MRVertId >
bool _IsOwningVal
 
- Properties inherited from MR.Misc.Object< Const_UnionFind_MRVertId >
virtual bool _IsOwning [get]
 Returns true if this is an owning instance, and when disposed, will destroy the underlying C++ instance. If false, we assume that the underlying C++ instance will live long enough.
 

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.VertId>. This is the non-const half of the class.

Member Function Documentation

◆ unite()

unsafe MR.Std.Pair_MRVertId_Bool MR.UnionFind_MRVertId.unite ( MR.VertId first,
MR.VertId 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.VertId>::unite.

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