vrecko
virtual reality framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
par2lsystem.h
Go to the documentation of this file.
1 #ifndef PAR2LSYSTEM_H_
2 #define PAR2LSYSTEM_H_
3 
4 #include "abstractklsystem.h"
5 
6 namespace AP_LSystem {
11 {
12 private:
13  static const unsigned int capabilities = LS_2L | LS_DETERMINISTIC | LS_PARAMETRIC;
14 public:
16  virtual void processPredecessor(Rule &, string *, string::iterator &);
17  virtual void processRuleSuccessor(Rule &, string *, string::iterator &);
18  virtual void processHomomorphismSuccessor(Rule &, string *, string::iterator &);
19  virtual multimap<char, Rule>::iterator * selectRule(multimap<char, Rule>::iterator &,
20  multimap<char, Rule>::iterator &,
21  LongString *,
22  unsigned int &,
23  double *);
24 
25  static bool isCapable( unsigned int type )
26  {
27  if( ( type & capabilities ) == type )
28  return true;
29  else
30  return false;
31  }
32 
36  boost::shared_ptr<AbstractLSystem> clone() const
37  {
38  return boost::shared_ptr<AbstractLSystem>( new Par2LSystem(*this) );
39  }
40 };
41 }
42 
43 #endif // PAR2LSYSTEM_H_