vrecko
virtual reality framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
d0lsystem.h
Go to the documentation of this file.
1 #ifndef D0LSYSTEM_H_
2 #define D0LSYSTEM_H_
3 
4 #include "abstract0lsystem.h"
5 
6 namespace AP_LSystem {
7 class D0LSystem : public LSystem
8 {
9 protected:
10  static const unsigned int capabilities = LS_0L | LS_DETERMINISTIC;
11 
12  virtual void processPredecessor( Rule &, string *, string::iterator & );
13  virtual void processRuleSuccessor( Rule &, string *, string::iterator &);
14  virtual void processHomomorphismSuccessor( Rule &, string *, string::iterator &);
15 
22  virtual bool transcribe(multimap<char, Rule> & rules);
23 public:
25 
32  static bool isCapable( unsigned int type )
33  {
34  if( ( type & capabilities ) == type )
35  return true;
36  else
37  return false;
38  }
39 
43  boost::shared_ptr<AbstractLSystem> clone() const
44  {
45  return boost::shared_ptr<AbstractLSystem>( new D0LSystem(*this) );
46  }
47 };
48 }
49 
50 #endif // D0LSYSTEM_H_