Public Member Functions | |
None | __init__ (self) |
None | __init__ (self, int size) |
FaceId | find (self, FaceId a) |
FaceId | findUpdateRange (self, FaceId a, FaceId begin, FaceId end) |
bool | isRoot (self, FaceId a) |
FaceId | parent (self, FaceId a) |
FaceMap | parents (self) |
None | reset (self, int size) |
FaceMap | roots (self) |
int | size (self) |
int | sizeOfComp (self, FaceId a) |
tuple[FaceId, bool] | unite (self, FaceId first, FaceId second) |
bool | united (self, FaceId first, FaceId second) |
Static Public Member Functions | |
None | __init__ (*args, **kwargs) |
UnionFind_FaceId | operator (*args, **kwargs) |
UnionFind_FaceId | operator (*args, **kwargs) |
Generated from: MR::UnionFind<MR::FaceId> \\brief 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 \\tparam I is the identifier of a set's element, e.g. FaceId \\ingroup BasicGroup
|
static |
None mrmeshpy.UnionFind_FaceId.__init__ | ( | self | ) |
None mrmeshpy.UnionFind_FaceId.__init__ | ( | self, | |
int | size ) |
creates union-find with given number of elements, each element is the only one in its disjoint set
finds the root of the set containing given element with optimizing data structure updates
finds the root of the set containing given element with optimizing data structure in the range [begin, end)
bool mrmeshpy.UnionFind_FaceId.isRoot | ( | self, | |
FaceId | a ) |
returns true if given element is the root of some set
|
static |
|
static |
return parent element of this element, which is equal to given element only for set's root
FaceMap mrmeshpy.UnionFind_FaceId.parents | ( | self | ) |
gets the parents of all elements as is
None mrmeshpy.UnionFind_FaceId.reset | ( | self, | |
int | size ) |
resets union-find to represent given number of elements, each element is the only one in its disjoint set
FaceMap mrmeshpy.UnionFind_FaceId.roots | ( | self | ) |
sets the root of corresponding set as the parent of each element, then returns the vector
int mrmeshpy.UnionFind_FaceId.size | ( | self | ) |
returns the number of elements in union-find
int mrmeshpy.UnionFind_FaceId.sizeOfComp | ( | self, | |
FaceId | a ) |
returns the number of elements in the set containing given element
unite two elements, \\return first: new common root, second: true = union was done, false = first and second were already united
returns true if given two elements are from one set