// Returns active EdgeNodes public List <EdgeNode> getLeaveNodes() { List <EdgeNode> list = new List <EdgeNode>(); if (!root.hasSons) { list.Add(root); return(list); } else { list.AddRange(root.getLeaveNodes()); } return(list); }
// Returns the active EdgeNodes that stem from this node public List <EdgeNode> getLeaveNodes() { List <EdgeNode> leaves = new List <EdgeNode>(); if (!leftSon.hasSons) { leaves.Add(leftSon); } else { leaves.AddRange(leftSon.getLeaveNodes()); } if (!rightSon.hasSons) { leaves.Add(rightSon); } else { leaves.AddRange(rightSon.getLeaveNodes()); } return(leaves); }