vrecko
virtual reality framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
abstractlsystem.h
Go to the documentation of this file.
1 #ifndef ABSTRACTLSYSTEM_H_
2 #define ABSTRACTLSYSTEM_H_
3 
4 #include "fparser/fparser.hh"
5 #include "longstring.h"
6 #include "abstractfile.h"
7 #include "configuration.h"
8 
9 
10 namespace AP_LSystem {
11 class LongString;
12 
18 {
19 protected:
20  std::string m_Name;
21  unsigned int m_Iteration;
22 
26  virtual void addRule( std::string * ) = 0;
27 
31  virtual void addHomomorphism( std::string * ) = 0;
32 
36  virtual void setAxiom( std::string & ) = 0;
37 public:
40 
44  virtual boost::shared_ptr<AbstractLSystem> clone() const = 0;
45 
50  {
51  m_Name = c.m_Name;
53  return *this;
54  }
55 
60  virtual bool nextIteration() = 0;
61 
66  virtual LongString * translate( ) = 0;
67 
72  virtual void loadFromFile ( AbstractFile * file ) = 0;
73 
78  unsigned int getIteration() const {return m_Iteration;}
79 };
80 }
81 
82 #endif