Changeset 732 for cpp/frams/_demos/genotypeloader.cpp
- Timestamp:
- 02/15/18 00:42:07 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
cpp/frams/_demos/genotypeloader.cpp
r639 r732 5 5 #include "genotypeloader.h" 6 6 7 #define FIELDSTRUCT MiniGenotype8 ParamEntry minigenotype_paramtab[] =9 {10 { "Genotype", 1, 29, "org", },11 7 12 { "name", 0, 0, "Name", "s 0 40", FIELD(name), }, 13 { "genotype", 0, 0, "Genotype", "s 1", FIELD(genotype), "Genes as a string of characters.", }, 8 GenotypeMiniLoader::GenotypeMiniLoader() :genotype_param(genotypemini_paramtab, &genotype_object) { init(); } 9 GenotypeMiniLoader::GenotypeMiniLoader(VirtFILE *f) : MultiParamLoader(f), genotype_param(genotypemini_paramtab, &genotype_object) { init(); } 10 GenotypeMiniLoader::GenotypeMiniLoader(const char* filename) : MultiParamLoader(filename), genotype_param(genotypemini_paramtab, &genotype_object) { init(); } 14 11 15 { "info_timestamp", 1, 0, "Last modified", "ft 0 -1 0", FIELD(info_timestamp), }, 16 { "info_author", 1, 0, "Author name", "s 0 100", FIELD(info_author), }, 17 { "info_author_ispublic", 1, 0, "Author name is public", "d 0 1 1", FIELD(info_author_ispublic), }, 18 { "info_email", 1, 0, "Author email", "s 0 100", FIELD(info_email), }, 19 { "info_email_ispublic", 1, 0, "Author email is public", "d 0 1 0", FIELD(info_email_ispublic), }, 20 { "info", 1, 0, "Description", "s 1 1000", FIELD(info), "Short description of key features of this creature.", }, 21 { "info_origin", 1, 0, "Origin", "d 0 4 0 ~Unspecified~Designed~Designed and evolved~Evolved under various conditions~Evolved using single, constant setup", FIELD(info_origin), "Declaration of how this genotype originated." }, 22 { "info_how_created", 1, 0, "How created", "s 1 1000", FIELD(info_how_created), "Description of the process of designing and/or evolving this genotype." }, 23 { "info_performance", 1, 0, "Performance notes", "s 1 1000", FIELD(info_performance), "Description of why this genotype is special/interesting and how it performs." }, 24 25 { "energy0", 0, 0, "Starting energy", "f 0 -1 0", FIELD(energy0), }, 26 { "numparts", 0, 0, "Body parts", "d", FIELD(numparts), }, 27 { "numjoints", 0, 0, "Body joints", "d", FIELD(numjoints), }, 28 { "numneurons", 0, 0, "Brain size", "d", FIELD(numneurons), }, 29 { "numconnections", 0, 0, "Brain connections", "d", FIELD(numconnections), }, 30 31 { "num", 0, 0, "Ordinal number", "d", FIELD(ordnumber), }, 32 { "gnum", 0, 0, "Generation", "d", FIELD(generation), }, 33 34 { "instances", 0, 0, "Instances", "d", FIELD(instances), "Copies of this genotype", }, 35 36 { "lifespan", 0, 0, "Life span", "f", FIELD(lifespan), "Average life span", }, 37 { "velocity", 0, 0, "Velocity", "f", FIELD(velocity), "Average velocity", }, 38 { "distance", 0, 0, "Distance", "f", FIELD(distance), }, 39 { "vertvel", 0, 0, "Vertical velocity", "f", FIELD(vertvel), }, 40 { "vertpos", 0, 0, "Vertical position", "f", FIELD(vertpos), }, 41 42 { "user1", 0, 0, "User field 1", "x", FIELD(user1), }, 43 { "user2", 0, 0, "User field 2", "x", FIELD(user2), }, 44 { "user3", 0, 0, "User field 3", "x", FIELD(user3), }, 45 46 { "is_valid", 0, 0, "Validity", "d -1 1 -1", FIELD(is_valid), 47 "0 = invalid genotype\n" 48 "1 = valid genotype\n" 49 "-1 = validity is not known." }, 50 51 { "uid", 0, 0, "#", "s", FIELD(uid), "Unique identifier" }, 52 53 { 0, 0, 0, }, 54 }; 55 #undef FIELDSTRUCT 56 57 MiniGenotypeLoader::MiniGenotypeLoader() :genotype_param(minigenotype_paramtab, &genotype_object) { init(); } 58 MiniGenotypeLoader::MiniGenotypeLoader(VirtFILE *f) : MultiParamLoader(f), genotype_param(minigenotype_paramtab, &genotype_object) { init(); } 59 MiniGenotypeLoader::MiniGenotypeLoader(const char* filename) : MultiParamLoader(filename), genotype_param(minigenotype_paramtab, &genotype_object) { init(); } 60 61 void MiniGenotypeLoader::init() 12 void GenotypeMiniLoader::init() 62 13 { 63 14 addObject(&genotype_param); … … 65 16 } 66 17 67 MiniGenotype* MiniGenotypeLoader::loadNextGenotype()18 GenotypeMini* GenotypeMiniLoader::loadNextGenotype() 68 19 { 69 20 genotype_object.clear();
Note: See TracChangeset
for help on using the changeset viewer.