Changeset 605 for cpp/frams/model


Ignore:
Timestamp:
08/30/16 17:39:10 (4 years ago)
Author:
Maciej Komosinski
Message:
  • Added 'fixedZaxis' option to paramtab (so that it is accessible from scripts)
  • Variable renames, improvements in comments
Location:
cpp/frams/model/similarity
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • cpp/frams/model/similarity/simil_model.cpp

    r601 r605  
    3434
    3535static ParamEntry MSparam_tab[] = {
    36     {"Creature: Similarity", 1, 5, "ModelSimilarity", "Evaluates morphological dissimilarity. More information:\nhttp://www.framsticks.com/node/795\nhttp://www.framsticks.com/node/890", },
     36    {"Creature: Similarity", 1, 6, "ModelSimilarity", "Evaluates morphological dissimilarity. More information:\nhttp://www.framsticks.com/node/795\nhttp://www.framsticks.com/node/890", },
    3737    {"simil_parts", 0, 0, "Weight of parts count", "f 0 100 0", FIELD(m_adFactors[0]), "Differing number of parts is also handled by the 'part degree' similarity component.",},
    3838    {"simil_partdeg", 0, 0, "Weight of parts' degree", "f 0 100 1", FIELD(m_adFactors[1]), "",},
    3939    {"simil_neuro", 0, 0, "Weight of neurons count", "f 0 100 0.1", FIELD(m_adFactors[2]), "",},
    4040    {"simil_partgeom", 0, 0, "Weight of parts' geometric distances", "f 0 100 0", FIELD(m_adFactors[3]), "",},
    41     {"evaluateDistance", 0, PARAM_DONTSAVE | PARAM_USERHIDDEN, "evaluate model dissimilarity", "p f(oGeno,oGeno)", PROCEDURE(p_evaldistance), "Calculates dissimilarity between two models created from Geno objects.",},
     41        {"simil_fixedZaxis", 0, 0, "Fix 'z' (vertical) axis?", "d 0 1 0", FIELD(fixedZaxis), "", },
     42        {"evaluateDistance", 0, PARAM_DONTSAVE | PARAM_USERHIDDEN, "evaluate model dissimilarity", "p f(oGeno,oGeno)", PROCEDURE(p_evaldistance), "Calculates dissimilarity between two models created from Geno objects.", },
    4243    {0,},
    4344};
     
    19971998            // get the position of the Part
    19981999            P1Pos = P1->p;
    1999             if (zFixed == 1)
     2000                        if (fixedZaxis == 1)
    20002001            {
    2001                 P1Pos.z = 0;    
     2002                P1Pos.z = 0; //fixed vertical axis, so pretend all points are on the xy plane
    20022003            }
    20032004            for (iP2 = 0; iP2 < pModel->getPartCount(); iP2++)
     
    20072008                // get the position of the Part
    20082009                P2Pos = P2->p;
    2009                 if (zFixed == 1)
     2010                                if (fixedZaxis == 1)
    20102011                {
    2011                         P2Pos.z = 0;    
     2012                        P2Pos.z = 0; //fixed vertical axis, so pretend all points are on the xy plane
    20122013                }
    20132014                // compute the geometric (Euclidean) distance between the Parts
     
    20192020
    20202021        MatrixTools::SVD(vEigenvalues, nSize, pDistances, m_aPositions[ iMod ]);
    2021         if (zFixed == 1)
     2022                if (fixedZaxis == 1) //restore the original vertical coordinate of each Part
    20222023        {
    2023                 for (int coord = 0; coord < pModel->getPartCount(); coord++)
     2024                for (int part = 0; part < pModel->getPartCount(); part++)
    20242025                {
    2025                         m_aPositions[ iMod ][coord].z = pModel->getPart(coord)->p.z;
     2026                        m_aPositions[iMod][part].z = pModel->getPart(part)->p.z;
    20262027                }
    20272028        }
  • cpp/frams/model/similarity/simil_model.h

    r601 r605  
    8282    double m_adFactors[4];
    8383
    84     //Controls the depth of fuzzy neighbourhood
     84        //for Zfixed = 1, the "z" (vertical) coordinates are not taken into account during PCA alignment
     85        int fixedZaxis;
     86       
     87        //Controls the depth of fuzzy neighbourhood
    8588    int fuzzyDepth;
    8689    int isFuzzy;
    87     //for Zfixed = 1 z coordinates are not taken into account during PCA alignment
    88     int zFixed;
    8990
    9091    /// Interface to local parameters
Note: See TracChangeset for help on using the changeset viewer.