private bool childrenAreDecomposition(Decomposition decomp) { if (decomp == null) { return(true); } // Not sure what I want to return here, neither true nor false make sense if (left != null) { if (right != null && decomp.hasLeft() && decomp.hasRight()) { if ((left.treeContains(decomp.left, false) && right.treeContains(decomp.right, false)) || (left.treeContains(decomp.right, false) && right.treeContains(decomp.left, false))) { return(true); } } else if (decomp.hasLeft() || decomp.hasRight()) { if (left.treeContains(decomp.left, false) || left.treeContains(decomp.right, false)) { return(true); } } } return(false); }
public void setDecomposition(Decomposition decomp) { if (decomp == null) { return; } if (decomp.hasLeft()) { left = new TreeNode(decomp.left); left.parent = this; if (decomp.hasRight()) { right = new TreeNode(decomp.right); right.parent = this; } } }