]> Creatis software - creaMaracasVisu.git/commitdiff
#3463 box ManualContourModel optimisation of SIN() distribution by contour
authorEduardo DAVILA <eduardo.davila@creatis.insa-lyon.fr>
Mon, 17 May 2021 07:44:19 +0000 (09:44 +0200)
committerEduardo DAVILA <eduardo.davila@creatis.insa-lyon.fr>
Mon, 17 May 2021 07:44:19 +0000 (09:44 +0200)
bbtk/src/bbcreaMaracasVisuManualContourModel_Box.cxx

index b7cea8edd47ed328ec6d06ed6a48c2c62c2c569f..d887bdf0292b13feba493c4c02c2827d5c11ceac 100644 (file)
@@ -211,10 +211,8 @@ void ManualContourModel_Box::PutPointsInContour(std::vector<double> *lstTmpX,
                        if(SizeContour==(*lstTmpX).size() )
                        {
                                int iSize=0;
-printf("\n ManualContourModel_Box::PutPointsInContour y=%f\n", (*lstTmpY)[0] );
                                for ( i=iGeneral ; i<iGeneralPlusSize ; i++ )
                                {
-printf("x=%f  %f   y=%f %f  z=%f %f\n", (*lstOutX)[i], (*lstTmpX)[iSize],(*lstOutY)[i], (*lstTmpY)[iSize],(*lstOutZ)[i], (*lstTmpZ)[iSize]  );
                                        (*lstOutX)[i] = (*lstTmpX)[iSize] ;
                                        (*lstOutY)[i] = (*lstTmpY)[iSize] ;
                                        (*lstOutZ)[i] = (*lstTmpZ)[iSize] ;
@@ -250,6 +248,8 @@ void ManualContourModel_Box::Redistribution_SIN(    double alpha,
        std::vector<double> lstRstZ;
        int     ii,iGeneral;
        int     size,iGeneralPlusSize;
+       int             iGeneralPlusSizeMoisUn;
+       int             iGeneralPlusSizeMoisDeux;
        int     i,k;
        int     firstK;
        double  iiByDelta;
@@ -262,9 +262,10 @@ void ManualContourModel_Box::Redistribution_SIN(   double alpha,
        PI                      = 3.14159265;
        TwoPI           = 2*PI;
        iGeneral        = 0;
-
        size = (*lstC1X).size();
        iGeneralPlusSize        = iGeneral+size;
+       iGeneralPlusSizeMoisUn          = iGeneralPlusSize-1;
+       iGeneralPlusSizeMoisDeux        = iGeneralPlusSize-2;
        if (size>2)
        {
                firstK  = 0;                    
@@ -275,12 +276,11 @@ void ManualContourModel_Box::Redistribution_SIN(  double alpha,
 
                        t               = ((double)ii) / ((double)(size-1));
                        tt              = t + 0.70710678182*sin(t*TwoPI)*beta + alpha;
-                       if (tt>=1) { tt=tt-1; }
+                       if (tt>1) { tt=tt-1; }
                        if (tt<0) { tt=tt+1; }
                        iiByDelta = tt * dist;
 
-
-                       for (k=iGeneral; k<iGeneralPlusSize-1;k++)                      // Search inside
+                       for ( k=iGeneral ; k<iGeneralPlusSizeMoisUn ; k++ )                     // Search inside
                        {
                                dx              = (*lstC1X)[k+1]-(*lstC1X)[k];
                                dy              = (*lstC1Y)[k+1]-(*lstC1Y)[k];
@@ -300,7 +300,7 @@ void ManualContourModel_Box::Redistribution_SIN(    double alpha,
                                        if (ii==0) { firstK=k; }
                                        k = iGeneralPlusSize-1;
                                } else {
-                                       if ( k==iGeneralPlusSize-1-1 )
+                                       if ( k==iGeneralPlusSizeMoisDeux )
                                        {
                                                dd = 1;
                                                lstRstX.push_back( (*lstC1X)[k] + dd*dx );