X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=src%2Fcomponenttree.h;h=84d6270218101fbde5c71c01468837d577dae18d;hb=0b90077b65cab03d00ef8f8c761afc3593f1b386;hp=816059c29b7fe3c14463bbaf023c905b2907f834;hpb=a16f3a90b540c9adf29050f8041baf0c0781c20a;p=germs.git diff --git a/src/componenttree.h b/src/componenttree.h index 816059c..84d6270 100644 --- a/src/componenttree.h +++ b/src/componenttree.h @@ -25,8 +25,14 @@ #include #include "misc.h" +/** + * Creates and holds a component tree. + */ class ComponentTree { public: + /** + * A node in the component tree. + */ struct Node { Node(Node* parent, Component comp); ~Node(); @@ -49,8 +55,17 @@ class ComponentTree { */ void makeUnoriented(); + /** + * Count the number of leaves in the component tree. + * This is the number of hurdles, if makeUnoriented has been called. + */ size_t countLeaves(); + /** + * Number of short branches. + * If makeUnoriented has been called and countLeaves is >= 3 + * then we have a super hurdle if short branches = 0. + */ size_t shortBranches(); private: