X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2FContour%2FAutoControlPoints.cxx;h=ac61fede6ba73b4459d796a2f58e8985f5a1ca66;hb=9a8f7c9cb08ffcb57f1558b9d20f7fbcd95df017;hp=95e0f68985b045a44bbcf21e503108fe6f493974;hpb=307866a8f06b14018ea832926bdf3d887bfffea8;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/Contour/AutoControlPoints.cxx b/lib/maracasVisuLib/src/interface/wxWindows/Contour/AutoControlPoints.cxx index 95e0f68..ac61fed 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/Contour/AutoControlPoints.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/Contour/AutoControlPoints.cxx @@ -1309,13 +1309,11 @@ void AutoControlPoints::NearMaxError2Control() nearp = distA; _posn = _posA; - } - else - { + } else { nearp = distB; _posn = _posB; - } - } + } // if dist + } // if interpointsX } //----------------------------------------------------------------------------------------------------------------------------------------- void AutoControlPoints::MoveControlPointInContour(std::vector*InX, std::vector*InY, std::vector*InZ) @@ -1358,14 +1356,12 @@ for(i=0; i<_controlpointsX.size(); i++) _controlpointsX.push_back( (*InX)[_contIncontpos[_posn]] ); _controlpointsY.push_back( (*InY)[_contIncontpos[_posn]] ); _controlpointsZ.push_back( (*InZ)[_contIncontpos[_posn]] ); - } - else - { + } else { _controlpointsX.push_back( tempX[i] ); _controlpointsY.push_back( tempY[i] ); _controlpointsZ.push_back( tempZ[i] ); - } - } + } // if i + } // for fixBetweenPoints(5.0); PossibleIntersections(InX,InY,InZ); @@ -1399,14 +1395,12 @@ for(i=0; i<_controlpointsX.size(); i++) _controlpointsX.push_back( (*InX)[_contIncontpos[posact]] ); _controlpointsY.push_back( (*InY)[_contIncontpos[posact]] ); _controlpointsZ.push_back( (*InZ)[_contIncontpos[posact]] ); - } - else - { + } else { _controlpointsX.push_back( tempX[i] ); _controlpointsY.push_back( tempY[i] ); _controlpointsZ.push_back( tempZ[i] ); - } - } + } // if i + } // for i if(direction == 1) { posact = posact+1; @@ -1502,8 +1496,8 @@ double AutoControlPoints::MoveAndAverage(int dir, std::vector*InX, std:: ErrorBetweenContours(); promactual1 = vf->promVector(&_errorvector,false); j--; - } - } + } // if j + }// for i delete vf; } return 99999; @@ -1581,6 +1575,7 @@ printf("\n"); int inicontrolpoints = cpX.size(); double inipercentage = (inicontrolpoints*100)/InX->size(); int h=0; + if(inicontrolpoints<10) { int points = (int)((inipercentage*3*InX->size())/100); @@ -1592,9 +1587,10 @@ printf("\n"); _controlpointsY.push_back( (*InY)[i] ); _controlpointsZ.push_back( (*InZ)[i] ); h = 0; - } - } - } + } // if h + } // for i + } // if initontrolpoints + if(inicontrolpoints>=10) { int points = (int)((inipercentage*2*InX->size())/100); @@ -1606,9 +1602,9 @@ printf("\n"); _controlpointsY.push_back( (*InY)[i] ); _controlpointsZ.push_back( (*InZ)[i] ); h = 0; - } - } - } + } // if h + } // for int i + } // if inicontrolpoints } /* fixBetweenPoints(5.0); @@ -1715,7 +1711,6 @@ void AutoControlPoints::CalculeControlPoints(std::vector*InX, std::vecto //----------------------------------------------------------------------------------------------------------------------------------------- void AutoControlPoints::CalculeInitialControlPoints(std::vector*InX, std::vector*InY, std::vector*InZ) { - _controlpointsX.clear(); _controlpointsY.clear(); _controlpointsZ.clear();