Minor cleanup.
authorspixx <spixx>
Sun, 26 Nov 2006 14:09:37 +0000 (14:09 +0000)
committerspixx <spixx>
Sun, 26 Nov 2006 14:09:37 +0000 (14:09 +0000)
src/lindenmayersystem.cpp
src/lindenmayersystem.h
src/lsystem3d.cpp
src/lsystemparameters.h

index 394f22aea1f28e86c61781a5ef940b635e8cd8a5..18339122df83c5e9b8938c7f8bdd73d5568e21ce 100644 (file)
@@ -87,6 +87,16 @@ void LindenmayerSystem::generate()
 
 
 
+/**
+ * Render L-system data
+ */
+void LindenmayerSystem::render()
+{
+    _model->draw();
+}
+
+
+
 /**
  * Set the initial rule (the axiom)
  * @param axiom the axiom
@@ -124,7 +134,7 @@ void LindenmayerSystem::setAngle(double degrees)
 
 
 /**
- * Set depth of recursion
+ * Set recursion depth
  * @param depth depth of recursion
  */
 void LindenmayerSystem::setDepth(int depth)
@@ -135,18 +145,19 @@ void LindenmayerSystem::setDepth(int depth)
 
 
 /**
- * Set diameter of segment
+ * Set initial segment diameter
  * @param diameter the diameter
  */
 void LindenmayerSystem::setDiameter(double diameter)
 {
+    _segmentDiameter = diameter;
     _model->setDiameter(diameter);
 }
 
 
 
 /**
- * Set diameter factor
+ * Set segment diameter factor
  * @param diameterFactor the diameter factor
  */
 void LindenmayerSystem::setDiameterFactor(double diameterFactor)
@@ -195,7 +206,7 @@ double LindenmayerSystem::getAngle()
 
 
 /**
- * Get depth of recursion
+ * Get recursion depth
  * @return depth of recursion
  */
 int LindenmayerSystem::getDepth()
@@ -206,19 +217,30 @@ int LindenmayerSystem::getDepth()
 
 
 /**
- * Get the generated model
- * @return generated model
+ * Get initial segment diameter
+ * @return the diameter
  */
-Model *LindenmayerSystem::getModel()
+double LindenmayerSystem::getDiameter()
 {
-    return _model;
+    return _segmentDiameter;
+}
+
+
+
+/**
+ * Get segment diameter factor
+ * @return the diameter factor
+ */
+double LindenmayerSystem::getDiameterFactor()
+{
+    return _model->getDiameterFactor();
 }
 
 
 
 /**
  * Recursively apply the replacement rules
- * @param rule rule
+ * @param rule the rule
  * @param level recursion level
  */
 void LindenmayerSystem::recursiveWalk(string rule, int level)
@@ -348,7 +370,7 @@ void LindenmayerSystem::recursiveWalk(string rule, int level)
                 break;
                 
                 
-            // decrement diameter of segment
+            // decrement segment diameter
             case '!':
                 
                 _model->decrementDiameter();
index b937e72a95e819f3685eb870b2011a142c94f9e7..77c8ec0ec2832934b3854d23c9a113fac1c6eaed 100644 (file)
@@ -34,7 +34,7 @@ using namespace std;
 
 
 /**
- * Lindenmayer System
+ * Lindenmayer system generator
  */
 class LindenmayerSystem
 {
@@ -51,6 +51,7 @@ public:
      */
     ~LindenmayerSystem();
     
+    
     /**
      * Clear all parameters
      */
@@ -61,6 +62,12 @@ public:
      */
     void generate();
     
+    /**
+     * Render L-system data
+     */
+    void render();
+    
+    
     /**
      * Set the initial rule (the axiom)
      * @param axiom the axiom
@@ -80,23 +87,24 @@ public:
     void setAngle(double degrees);
     
     /**
-     * Set depth of recursion
+     * Set recursion depth
      * @param depth depth of recursion
      */
     void setDepth(int depth);
     
     /**
-     * Set diameter of segment
+     * Set initial segment diameter
      * @param diameter the diameter
      */
     void setDiameter(double diameter);
     
     /**
-     * Set diameter factor
+     * Set segment diameter factor
      * @param diameterFactor the diameter factor
      */
     void setDiameterFactor(double diameterFactor);
     
+    
     /**
      * Get the initial rule (the axiom)
      * @return the axiom
@@ -116,30 +124,38 @@ public:
     double getAngle();
     
     /**
-     * Get depth of recursion
+     * Get recursion depth
      * @return depth of recursion
      */
     int getDepth();
     
     /**
-     * Get the generated model
-     * @return generated model
+     * Get initial segment diameter
+     * @return the diameter
      */
-    Model *getModel();
+    double getDiameter();
+    
+    /**
+     * Get segment diameter factor
+     * @return the diameter factor
+     */
+    double getDiameterFactor();
     
 protected:
     
     /**
      * Recursively apply the replacement rules
-     * @param rule rule
+     * @param rule the rule
      * @param level recursion level
      */
     void recursiveWalk(string rule, int level);
     
+    
     // Parameters
     Rule _axiom;
     RuleSet _rules;
     int _depth;
+    double _segmentDiameter;
     
     Model *_model;      // The active model
     Turtle *_turtle;    // The rendering turtle
index 37d4ab24e6f363172c57cd8aadf9a26f0c3d48fd..a856028b818c32b5845131cfae2cc89653ce4b2a 100644 (file)
@@ -38,12 +38,13 @@ LSystem3D::LSystem3D(int argc, char *argv[])
     FXApp *application = new FXApp("LSystem3D");
     application->init(argc, argv);
     
+    // create the windows
+    RenderingSurface *surface = new RenderingSurface(application);
     Model model;
     LindenmayerSystem lsystem(&model);
-    
-    // create the windows and run the application
-    RenderingSurface *surface = new RenderingSurface(application, &lsystem);
+    surface->setLSystem(&lsystem);
     new GUI(application, surface, &lsystem);
+    
     application->create();
     application->run();
 }
index 2fabdd34d551d1ad190fb86ddd3685e2c87fe41f..b9dccaf9a30d1d4d85a617909aa69d24e62a8cfa 100644 (file)
@@ -32,11 +32,12 @@ using namespace std;
 
 
 /**
- * Save and load a L-system specification
+ * Saver and loader for L-system parameters
  */
 class LSystemParameters : protected XMLStructure
 {
 public:
+    
     /**
      * Constructor
      */
@@ -47,6 +48,7 @@ public:
      */
     ~LSystemParameters();
     
+    
     /**
      * Load parameters from xml file
      * @param lsystem put parameters into this L-system