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

Public Member Functions

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

Additional Inherited Members

- Protected Member Functions inherited from MR.Const_UnionFind_MRUndirectedEdgeId
virtual unsafe void Dispose (bool disposing)
 
- Protected Attributes inherited from MR.Misc.Object< Const_UnionFind_MRUndirectedEdgeId >
bool _IsOwningVal
 
- Properties inherited from MR.Misc.Object< Const_UnionFind_MRUndirectedEdgeId >
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.UndirectedEdgeId>. This is the non-const half of the class.

Member Function Documentation

◆ unite()

unsafe MR.Std.Pair_MRUndirectedEdgeId_Bool MR.UnionFind_MRUndirectedEdgeId.unite ( MR.UndirectedEdgeId first,
MR.UndirectedEdgeId 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.UndirectedEdgeId>::unite.

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