private ParallelogramNode BuildLeftHierarchy()
        {
            List <Polyline>          boundaryAnchorCurves = FindLeftBoundaryAnchorCurves();
            List <ParallelogramNode> l = new List <ParallelogramNode>();

            foreach (Polyline a in boundaryAnchorCurves)
            {
                l.Add(a.ParallelogramNodeOverICurve);
            }

            this.thinLeftHierarchy = HierarchyCalculator.Calculate(thinLefttNodes, this.settings.GroupSplit);

            return(HierarchyCalculator.Calculate(l, this.settings.GroupSplit));
        }
        internal static ParallelogramNode Calculate(List <ParallelogramNode> nodes, int groupSplitThresholdPar)
        {
            HierarchyCalculator calc = new HierarchyCalculator(nodes, groupSplitThresholdPar);

            return(calc.Calculate());
        }
 internal static ParallelogramNode Calculate(List<ParallelogramNode> nodes, int groupSplitThresholdPar){
     HierarchyCalculator calc=new HierarchyCalculator(nodes,groupSplitThresholdPar);
     return calc.Calculate();
 }