Changeset 972 for cpp/frams/model/similarity
- Timestamp:
- 07/03/20 00:32:23 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
cpp/frams/model/similarity/simil_model.cpp
r877 r972 1 1 // This file is a part of Framsticks SDK. http://www.framsticks.com/ 2 // Copyright (C) 1999-20 19Maciej Komosinski and Szymon Ulatowski.2 // Copyright (C) 1999-2020 Maciej Komosinski and Szymon Ulatowski. 3 3 // See LICENSE.txt for details. 4 4 … … 122 122 123 123 // assign matching function 124 int (ModelSimil:: * pfMatchingFunction) () = NULL;124 int (ModelSimil:: * pfMatchingFunction) () = NULL; 125 125 126 126 pfMatchingFunction = &ModelSimil::MatchPartsGeometry; … … 534 534 return NULL; 535 535 } 536 Model *m = new Model(*g );536 Model *m = new Model(*g, Model::SHAPE_UNKNOWN); 537 537 if (!m->isValid()) 538 538 { … … 2058 2058 { 2059 2059 if (geo) 2060 dist[i *bigger + j] += m_adFactors[3] * m_aPositions[1 - m_iSmaller][i].length();2060 dist[i * bigger + j] += m_adFactors[3] * m_aPositions[1 - m_iSmaller][i].length(); 2061 2061 else 2062 dist[i *bigger + j] = m_adFactors[1] * m_aDegrees[1 - m_iSmaller][i][DEGREE] + m_adFactors[2] * m_aDegrees[1 - m_iSmaller][i][NEURONS];2062 dist[i * bigger + j] = m_adFactors[1] * m_aDegrees[1 - m_iSmaller][i][DEGREE] + m_adFactors[2] * m_aDegrees[1 - m_iSmaller][i][NEURONS]; 2063 2063 } 2064 2064 // compute distance between parts … … 2066 2066 { 2067 2067 if (geo) 2068 dist[i *bigger + j] += m_adFactors[3] * m_aPositions[1 - m_iSmaller][i].distanceTo(m_aPositions[m_iSmaller][j]);2068 dist[i * bigger + j] += m_adFactors[3] * m_aPositions[1 - m_iSmaller][i].distanceTo(m_aPositions[m_iSmaller][j]); 2069 2069 else 2070 dist[i *bigger + j] = m_adFactors[1] * abs(m_aDegrees[1 - m_iSmaller][i][DEGREE] - m_aDegrees[m_iSmaller][j][DEGREE])2070 dist[i * bigger + j] = m_adFactors[1] * abs(m_aDegrees[1 - m_iSmaller][i][DEGREE] - m_aDegrees[m_iSmaller][j][DEGREE]) 2071 2071 + m_adFactors[2] * abs(m_aDegrees[1 - m_iSmaller][i][NEURONS] - m_aDegrees[m_iSmaller][j][NEURONS]); 2072 2072 } … … 2104 2104 int nBigger = m_Mod[1 - m_iSmaller]->getPartCount(); 2105 2105 2106 double* partsDistances = new double[nBigger *nBigger]();2106 double* partsDistances = new double[nBigger * nBigger](); 2107 2107 FillPartsDistances(partsDistances, nBigger, nSmaller, false); 2108 2108 int *assignment = new int[nBigger](); … … 2138 2138 // - models (m_Mod) exist and are available 2139 2139 // - all properties are created and available (m_aDegrees and m_aPositions) 2140 double* tmpPartsDistances = new double[nBigger *nBigger]();2140 double* tmpPartsDistances = new double[nBigger * nBigger](); 2141 2141 std::copy(partsDistances, partsDistances + nBigger * nBigger, tmpPartsDistances); 2142 2142 // recompute geometric properties according to the transformation iTransform
Note: See TracChangeset
for help on using the changeset viewer.