LetterList LSystem::getRule(Letter l) { if (isVariable(l)) { int i = l - V_0; return m_rules.at(i); } else { LetterList ll; ll.push_back(l); return ll; } }
int LSystem::iterate(void) { LetterList newlist; for (int i=0; i < m_list.size(); i++) { if (isVariable(m_list[i])) { LetterList rule = getRule(m_list[i]); newlist.insert(newlist.end(), rule.begin(), rule.end()); } else { newlist.push_back(m_list[i]); } } m_list = newlist; m_depth++; return m_depth; }