- // clear L-system
- _lsystem->clear();
-
-
- // get user input form widgets
-
- // axiom
- Rule axiom("axiom", _axiomTextField->getText().text(), 1.0);
- _lsystem->setAxiom(axiom);
-
- // rules
- string ruleSet = _rulesText->getText().text();
- string currentRule;
- for (int i = 0; i < ruleSet.size(); i++)
- {
- if (ruleSet[i] != '\n')
- {
- // rule component
- currentRule += ruleSet[i];
-
- if (i == ruleSet.size() - 1)
- {
- // last char in whole rule string
- _lsystem->setRule(Rule(currentRule));
- currentRule.clear();
- }
- }
- else
- {
- // last char in current rule
- _lsystem->setRule(Rule(currentRule));
- currentRule.clear();
- }
- }
-
- // angle
- _lsystem->setAngle(_angleRealSpinner->getValue());
-
- // depth
- _lsystem->setDepth(_depthSpinner->getValue());
-
- // diameter
- _lsystem->setDiameter(_diameterRealSpinner->getValue());
-
- // diameter factor
- _lsystem->setDiameterFactor(_diameterFactorRealSpinner->getValue());
-