From: spixx Date: Sat, 11 Nov 2006 12:02:33 +0000 (+0000) Subject: * Adaptation to new classes Rule, RuleSet. X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=3d90821addedaf86690810ab6908e76785ba75b1;p=lsystem3d.git * Adaptation to new classes Rule, RuleSet. --- diff --git a/src/lindenmayersystem.h b/src/lindenmayersystem.h index d71fde6..b937e72 100644 --- a/src/lindenmayersystem.h +++ b/src/lindenmayersystem.h @@ -1,6 +1,6 @@ // Copyright (C) 2006 Erik Dahlberg // -// This file is part of LSystem3d. +// This file is part of LSystem3D. // // LSystem3D is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -22,11 +22,14 @@ #ifndef LINDENMAYERSYSTEM_H #define LINDENMAYERSYSTEM_H -#include #include #include "model.h" #include "turtle.h" +#include "rule.h" +#include "ruleset.h" + +using namespace std; @@ -62,14 +65,13 @@ public: * Set the initial rule (the axiom) * @param axiom the axiom */ - void setAxiom(string axiom); + void setAxiom(Rule axiom); /** * Set one rule - * @param name rule name * @param rule the rule */ - void setRule(string name, string rule); + void setRule(Rule rule); /** * Set the turn/pitch/roll angle @@ -78,10 +80,10 @@ public: void setAngle(double degrees); /** - * Set the number of iterations - * @param numIterations number of iterations + * Set depth of recursion + * @param depth depth of recursion */ - void setNumIterations(int numIterations); + void setDepth(int depth); /** * Set diameter of segment @@ -99,13 +101,13 @@ public: * Get the initial rule (the axiom) * @return the axiom */ - string getAxiom(); + Rule getAxiom(); /** * Get all rules * @return the rules */ - map getRules(); + RuleSet getRules(); /** * Get the turn/pitch/roll angle @@ -114,10 +116,10 @@ public: double getAngle(); /** - * Get the number of iterations - * @return number of iterations + * Get depth of recursion + * @return depth of recursion */ - int getNumIterations(); + int getDepth(); /** * Get the generated model @@ -134,24 +136,10 @@ protected: */ void recursiveWalk(string rule, int level); - /** - * Verify and preprocess one rule string - * @param rule the rule - * @return the preprocessed rule - */ - string verifyAndPreprocessRule(string rule); - - /** - * Unpreprocess one rule string - * @param rule the rule - * @return the unpreprocessed rule - */ - string unpreprocessRule(string rule); - // Parameters - string _axiom; - map _rules; // TODO: use unsorted container? - int _numIterations; + Rule _axiom; + RuleSet _rules; + int _depth; Model *_model; // The active model Turtle *_turtle; // The rendering turtle