Example #1
0
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;
    }
}
Example #2
0
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;
}