not sure what you are trying to do but things like:
if (c == 'F') {
branching = true;
}else if (c == '+') {
auto jointBranch = Branch();
jointBranch.setParent(branch);
jointBranch.roll(45);
auto branch = Branch();
branch.setParent(jointBranch);
}
don't make much sense since that last auto branch
is being deleted right away after that block ends