Ignore:
Timestamp:
07/03/20 00:32:23 (4 years ago)
Author:
Maciej Komosinski
Message:
  • separate "0" and "0s" formats (for SHAPE_BALL_AND_STICK and SHAPE_SOLIDS, respectively)
  • converting to format list (Geno::F0_FORMAT_LIST = "0,0s")
  • (optional) declaring Model as SHAPE_BALL_AND_STICK or SHAPE_SOLIDS (or SHAPE_UNKNOWN)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpp/frams/_demos/multiline_f0_test.cpp

    r955 r972  
    11// This file is a part of Framsticks SDK.  http://www.framsticks.com/
    2 // Copyright (C) 1999-2015  Maciej Komosinski and Szymon Ulatowski.
     2// Copyright (C) 1999-2020  Maciej Komosinski and Szymon Ulatowski.
    33// See LICENSE.txt for details.
    44
     
    1313#include <common/virtfile/stringfile.h>
    1414
    15 int main(int argc,char*argv[])
     15int main(int argc, char*argv[])
    1616{
    17 LoggerToStdout messages_to_stdout(LoggerBase::Enable);
    18 PreconfiguredGenetics genetics;
     17        LoggerToStdout messages_to_stdout(LoggerBase::Enable);
     18        PreconfiguredGenetics genetics;
    1919
    20 SString gen(argc>1?argv[1]:"X[|G:1.23]");
    21 if (!strcmp(gen.c_str(),"-"))
     20        SString gen(argc > 1 ? argv[1] : "X[|G:1.23]");
     21        if (!strcmp(gen.c_str(), "-"))
    2222        {
    23         gen=0;
    24         StdioFILEDontClose in(stdin);
    25         loadSString(&in,gen);
     23                gen = 0;
     24                StdioFILEDontClose in(stdin);
     25                loadSString(&in, gen);
    2626        }
    27 Geno g(gen);
    28 printf("\nSource genotype: '%s'\n",g.getGenes().c_str());
    29 printf("                  ( format %s %s)\n",
    30        g.getFormat().c_str(), g.getComment().c_str());
     27        Geno g(gen);
     28        printf("\nSource genotype: '%s'\n", g.getGenes().c_str());
     29        printf("                  ( format %s %s)\n",
     30                g.getFormat().c_str(), g.getComment().c_str());
    3131
    32 Model m(g);//.getConverted('0'));
     32        Model m(g, Model::SHAPE_UNKNOWN);//.getConverted('0'));
    3333
    34 if (!m.isValid())
     34        if (!m.isValid())
    3535        {
    36         printf("Cannot build Model from this genotype!\n");
    37         return 2;       
     36                printf("Cannot build Model from this genotype!\n");
     37                return 2;
    3838        }
    39 printf("Converted to f0:\n%s\n",m.getF0Geno().getGenes().c_str());
     39        printf("Converted to f0:\n%s\n", m.getF0Geno().getGenes().c_str());
    4040
    41 printf("\nusing Param::saveMultiLine() to create the \"expanded\" form of the f0 genotype...\n(MultiParamLoader should be able to load this)");
     41        printf("\nusing Param::saveMultiLine() to create the \"expanded\" form of the f0 genotype...\n(MultiParamLoader should be able to load this)");
    4242
    43 StringFILE2 f;
     43        StringFILE2 f;
    4444
    45 static Param modelparam(f0_model_paramtab);
    46 static Param partparam(f0_part_paramtab);
    47 static Param jointparam(f0_joint_paramtab);
    48 static Param neuroparam(f0_neuro_paramtab);
    49 static Param connparam(f0_neuroconn_paramtab);
     45        static Param modelparam(f0_model_paramtab);
     46        static Param partparam(f0_part_paramtab);
     47        static Param jointparam(f0_joint_paramtab);
     48        static Param neuroparam(f0_neuro_paramtab);
     49        static Param connparam(f0_neuroconn_paramtab);
    5050
    51 modelparam.select(&m);
    52 modelparam.saveMultiLine(&f,"m");
     51        modelparam.select(&m);
     52        modelparam.saveMultiLine(&f, "m");
    5353
    54 Part *p;
    55 Joint *j;
    56 Neuro *n;
     54        Part *p;
     55        Joint *j;
     56        Neuro *n;
    5757
    58 for (int i=0;p=(Part*)m.getPart(i);i++)
     58        for (int i = 0; p = (Part*)m.getPart(i); i++)
    5959        {
    60         partparam.select(p);
    61         partparam.saveMultiLine(&f,"p");
     60                partparam.select(p);
     61                partparam.saveMultiLine(&f, "p");
    6262        }
    63 for (int i=0;j=(Joint*)m.getJoint(i);i++)
     63        for (int i = 0; j = (Joint*)m.getJoint(i); i++)
    6464        {
    65         jointparam.select(j);
    66         jointparam.setParamTab(j->usedelta?f0_joint_paramtab:f0_nodeltajoint_paramtab);
    67         jointparam.saveMultiLine(&f,"j");
     65                jointparam.select(j);
     66                jointparam.setParamTab(j->usedelta ? f0_joint_paramtab : f0_nodeltajoint_paramtab);
     67                jointparam.saveMultiLine(&f, "j");
    6868        }
    69 for (int i=0;n=(Neuro*)m.getNeuro(i);i++)
     69        for (int i = 0; n = (Neuro*)m.getNeuro(i); i++)
    7070        {
    71         neuroparam.select(n);
    72         neuroparam.saveMultiLine(&f,"n");
     71                neuroparam.select(n);
     72                neuroparam.saveMultiLine(&f, "n");
    7373        }
    74 for (int a=0;n=(Neuro*)m.getNeuro(a);a++)
     74        for (int a = 0; n = (Neuro*)m.getNeuro(a); a++)
    7575        { // inputs
    76         for (int b=0;b<n->getInputCount();b++)
     76                for (int b = 0; b < n->getInputCount(); b++)
    7777                {
    78                 double w;
    79                 NeuroConn nc;
    80                 Neuro* n2=n->getInput(b,w);
    81                 nc.n1_refno=n->refno; nc.n2_refno=n2->refno;
    82                 nc.weight=w;
    83                 nc.info=n->getInputInfo(b);
    84                 connparam.select(&nc);
    85                 connparam.saveMultiLine(&f,"c");
     78                        double w;
     79                        NeuroConn nc;
     80                        Neuro* n2 = n->getInput(b, w);
     81                        nc.n1_refno = n->refno; nc.n2_refno = n2->refno;
     82                        nc.weight = w;
     83                        nc.info = n->getInputInfo(b);
     84                        connparam.select(&nc);
     85                        connparam.saveMultiLine(&f, "c");
    8686                }
    8787        }
    8888
    89 printf("\n============================\n%s\n",f.getString().c_str());
     89        printf("\n============================\n%s\n", f.getString().c_str());
    9090
    91 return 0;
     91        return 0;
    9292}
    9393
     
    9595
    9696Source genotype: 'X[|G:1.23]'
    97                   ( format 1 )
     97                                  ( format 1 )
    9898Converted to f0:
    9999p:
Note: See TracChangeset for help on using the changeset viewer.