00001 00002 #ifndef __CANGELOSI_H__ 00003 #define __CANGELOSI_H__ 00004 00005 #include "anngenes.h" 00006 #include "nolfi.h" 00007 00008 // Internals 00009 class CangelosiEncoding; 00010 00011 00012 00014 // // 00015 // ___ | o ----- // 00016 // / \ ___ _ ___ | ____ | _ ___ // 00017 // | ___| |/ \ ___ / ) | __ ( | |--- |/ \ | \ // 00018 // | ( | | | ( \ |--- | / \ \__ | | | | | // 00019 // \___/ \__| | | ---/ \__ | \__/ ____) | |____ | | \__/ O // 00020 // __/ // 00022 00035 class CangelosiEncoding : public NolfiEncoding { 00036 decl_dynamic (CangelosiEncoding); 00037 public: 00038 CangelosiEncoding () {FORBIDDEN} 00039 00047 CangelosiEncoding (const GeneticID& name, 00048 const StringMap& params); 00049 CangelosiEncoding (const CangelosiEncoding& other); 00050 00051 // Implementations 00052 00054 virtual Genstruct* replicate () const {return new CangelosiEncoding (*this);} 00056 virtual void copy (const Genstruct& other); 00058 virtual bool execute (const GeneticMsg& msg) const; 00060 virtual void addPrivateGenes (Gentainer& g, const StringMap& params); 00061 }; 00062 00063 00064 00065 00066 00067 00068 #endif 00069