]> Creatis software - creaMaracasVisu.git/blobdiff - bbtk/src/bbcreaMaracasVisuManualContourModel_Box.cxx
#3465 SetwxVtkBaseViewSetOpacityAxis box
[creaMaracasVisu.git] / bbtk / src / bbcreaMaracasVisuManualContourModel_Box.cxx
index b7cea8edd47ed328ec6d06ed6a48c2c62c2c569f..a46ca99422f14de46bafdf12137b80c4f4c27996 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 );
@@ -550,7 +550,7 @@ void ManualContourModel_Box::RedistributionPointsAllContours_SIN(   std::vector<do
                } else {
                        sizeContour3=-1;
                }
-               if ( (sizeContour1>sizeContour2) && (sizeContour2>sizeContour3) )
+               if ( (sizeContour1>=sizeContour2) && (sizeContour2>sizeContour3) )
                {
                        findAlphaBetaSinDistribution( &lstTmp2X,&lstTmp2Y,&lstTmp2Z ,sizeContour2,  &lstTmp1X,&lstTmp1Y,&lstTmp1Z,  &alpha,&beta);
                        Redistribution_SIN( alpha,beta, &lstTmp2X,&lstTmp2Y,&lstTmp2Z ,sizeContour2, &lstTmp2aX,&lstTmp2aY,&lstTmp2aZ );
@@ -559,11 +559,7 @@ void ManualContourModel_Box::RedistributionPointsAllContours_SIN(  std::vector<do
                        PutPointsInContour(&lstTmp2aX,&lstTmp2aY,&lstTmp2aZ, iContour+1 ,lstOutX,lstOutY,lstOutZ,lstIndexsOut);                         
                        CopyContour2InContour1( &lstTmp2aX,&lstTmp2aY,&lstTmp2aZ , &lstTmp1X,&lstTmp1Y,&lstTmp1Z );
                } else {
-                       if ( (sizeContour1>sizeContour2) && (sizeContour2<sizeContour3) )  // Warning for a minimum local
-                       {
-                               lstContourExeption.push_back( iContour-1 );
-                       } // if minimum local
-                       if ( (sizeContour1<sizeContour2) && (sizeContour2>sizeContour3) )  // Warning for a maximum local
+                       if ( (sizeContour3!=-1) && (sizeContour1<sizeContour2) && (sizeContour2>sizeContour3) )  // Warning for a maximum local
                        {
                                lstInconsistentContourY.push_back( lstTmp2Y[0] );
                                lstInconsistentContourID.push_back( iContour+1 );
@@ -606,7 +602,7 @@ void ManualContourModel_Box::RedistributionPointsAllContours_SIN(   std::vector<do
                        {
                                lstContourExeption.push_back( iContour-1 );
                        } // if minimum local
-                       if ( (sizeContour1<sizeContour2) && (sizeContour2>sizeContour3) )  // Warning for a maximum local
+                       if ( (sizeContour3!=-1) && (sizeContour1<sizeContour2) && (sizeContour2>sizeContour3) )  // Warning for a maximum local
                        {
                                lstInconsistentContourY.push_back( lstTmp2Y[0] );
                                lstInconsistentContourID.push_back( iContour-1 );