]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/Contour/Propagation.cxx
DFCH: Manual Paint Changes (Undo/Redo) 80% :) :)
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / Contour / Propagation.cxx
index ca908201308a7c290429f93e2c9284a6598a0d80..580863f9d39587b6deb7314fc62087962936f5da 100644 (file)
@@ -54,7 +54,7 @@ void Vector::copyVector( std::vector<Vector>*vec1, std::vector<Vector>*vec2 )
        if( vec1->size() != 0 )
        {
                vec2->clear();
-               for(i=0; i<vec1->size(); i++)
+               for(i=0; i<(int)(vec1->size()); i++)
                {
                        Vector *temp = new Vector();
                        temp->set_var( (*vec1)[i].get_var() );
@@ -71,7 +71,7 @@ void Vector::copyVector( std::vector<Vector>*vec1, std::vector<Vector>*vec2 )
 void Vector::printVector(std::vector<Vector>*vec1)
 {
        int i,j;
-       for(i=0; i<vec1->size(); i++)
+       for(i=0; i<(int)(vec1->size()); i++)
        {
                printf("\n Pos (%d) => var = %f",i,(*vec1)[i].get_var());
                for(j=0; j<(*vec1)[i].getsize_vec(); j++)
@@ -110,7 +110,7 @@ int Vector::get_plane()
 //------------------------------------------------------------------------------------------------------------------------------------------
 double Vector::get_x(int id)
 {
-       if( (-1<id) && (id<_vecX.size()) )
+       if( (-1<id) && (id<(int)(_vecX.size())  ) )
        {
                return _vecX[id];
        }
@@ -128,7 +128,7 @@ int Vector::getsize_x()
 //------------------------------------------------------------------------------------------------------------------------------------------
 double Vector::get_y(int id)
 {
-       if( (-1<id) && (id<_vecY.size()) )
+       if( (-1<id) && (id<(int)(_vecY.size())) )
        {
                return _vecY[id];
        }
@@ -155,7 +155,7 @@ int Vector::getsize_z()
 //------------------------------------------------------------------------------------------------------------------------------------------
 double Vector::get_z(int id)
 {
-       if( (-1<id) && (id<_vecZ.size()) )
+       if( (-1<id) && (id<(int)(_vecZ.size())) )
        {
                return _vecZ[id];
        }
@@ -726,7 +726,8 @@ void PropContour::ReadKeyContour(FILE* fd)
        tempZ.clear();
        while(!feof(fd))
        {
-               fscanf(fd," %s %d",&firstline,&size);
+               //fscanf(fd," %s %d",&firstline,&size); // JPRx
+               fscanf(fd," %s %d",firstline,&size);
                for(int i=0; i<size; i++)
                {
                        fscanf(fd,"%lf %lf %d",&x,&y,&z);
@@ -761,8 +762,8 @@ int PropContour::VectorDirection(std::vector<double>*InX, std::vector<double>*In
        {
                ax = (*InX)[i]-SumX;
                ay = (*InY)[i]-SumY;
-               bx = (*InX)[i+1]-SumX;
-               by = (*InY)[i+1]-SumY;
+               bx = (*InX)[(i+1)%size]-SumX;
+               by = (*InY)[(i+1)%size]-SumY;
                axb = (ax*by) - (bx*ay);
                if(axb > 0)
                {
@@ -838,7 +839,7 @@ void PropContour::PreparePointsForSpline(std::vector<double>*InX, std::vector<do
                                                                                 std::vector<int>*Sizes)
 {
        int sizeS = Sizes->size();
-       int sizeV = InX->size();
+       //int sizeV = InX->size(); // JPRx
        int i,j,mem,posinic,dir,cont;
        double leX;
 
@@ -904,7 +905,7 @@ void PropContour::PreparePointsForSpline(std::vector<double>*InX, std::vector<do
 //----------------------------------------------------------------------------------------------------
 vtkImageData* PropContour::method_Spline(std::vector<double>*InX, std::vector<double>*InY, std::vector<double>*InZ, std::vector<int>*Sizes)
 {
-       long interval = wxGetElapsedTime(TRUE);
+       //long interval = wxGetElapsedTime(TRUE); // JPRx
 
        int i,j,k,sizeX,sizeS,sizeInS;
        int numspline;
@@ -998,7 +999,7 @@ vtkImageData* PropContour::method_Spline(std::vector<double>*InX, std::vector<do
                cont = 0;
                for(i=0; i<sizeS; i++)
                {
-                       double hh=tempZ[cont+j];
+                       //double hh=tempZ[cont+j]; // JPRx
                        _mContourModel->AddPoint(tempX[cont+j],tempY[cont+j],tempZ[cont+j]);
                        cont = cont + tam;
                } // for i
@@ -1082,7 +1083,7 @@ void PropContour::SetKeyContours(std::vector<double>*InX, std::vector<double>*In
        int tmpIdKeyContSizes   = 0;
        bool okFind                             = false;
        int i;
-       int sizeKeyContour,Z=(*InZ)[0];
+       int sizeKeyContour,Z=(int)(*InZ)[0];
        sizeKeyContour = _KeyContourZ.size();
        for (i=0; i<sizeKeyContour; i++)
        { 
@@ -1095,7 +1096,7 @@ void PropContour::SetKeyContours(std::vector<double>*InX, std::vector<double>*In
                                okFind=true;
                                i=sizeKeyContour;
                        }
-                       if ( (_KeyContourZ[i-1] != _KeyContourZ[i]) )
+                       if ( (i<sizeKeyContour) && (_KeyContourZ[i-1] != _KeyContourZ[i]) )
                        {
                                tmpIdKeyContSizes++;
                        }
@@ -1118,7 +1119,7 @@ void PropContour::SetKeyContours(std::vector<double>*InX, std::vector<double>*In
        }
 
        _KeyContourSizes.insert( _KeyContourSizes.begin() + idKeyContourSizes , InX->size() );
-       for(i=0; i<InX->size(); i++)
+       for(i=0; i<(int)(InX->size()); i++)
        {
                _KeyContourX.insert( _KeyContourX.begin() + idKeyContour, (*InX)[i] );
                _KeyContourY.insert( _KeyContourY.begin() + idKeyContour, (*InY)[i] );
@@ -1152,6 +1153,7 @@ vtkImageData* PropContour::CalculeSplinePropagation()
        {
                return method_Spline(&_KeyContourX,&_KeyContourY,&_KeyContourZ,&_KeyContourSizes);
        }
+       return NULL;
 }
 //---------------------------------------------------------------------------------------------------
 void PropContour::GetKeyContours(std::vector<double>*KeyX, std::vector<double>*KeyY, std::vector<double>*KeyZ, std::vector<int>*KeyS)
@@ -1162,11 +1164,11 @@ void PropContour::GetKeyContours(std::vector<double>*KeyX, std::vector<double>*K
        KeyZ->clear();
        KeyS->clear();
 
-       for(i=0; i<_KeyContourSizes.size(); i++)
+       for(i=0; i<(int)(_KeyContourSizes.size()); i++)
        {
                KeyS->push_back( _KeyContourSizes[i] );
        }
-       for(i=0; i<_KeyContourX.size(); i++)
+       for(i=0; i<(int)(_KeyContourX.size()); i++)
        {
                KeyX->push_back( _KeyContourX[i] );
                KeyY->push_back( _KeyContourY[i] );
@@ -1178,7 +1180,7 @@ void PropContour::GetPropagatedContours( std::vector<Vector>*planevec )
 {
        int i,j;
        planevec->clear();
-       for(i=0; i<_planevector.size(); i++)
+       for(i=0; i<(int)(_planevector.size()); i++)
        {
                Vector *temp = new Vector();
                temp->set_plane( _planevector[i].get_plane() );
@@ -1222,7 +1224,7 @@ void PropContour::GetIdContour(int id, std::vector<double>*vecX, std::vector<dou
        vecX->clear();
        vecY->clear();
        vecZ->clear();
-       int sizeplane = _planevector[id].getsize_x();
+       //int sizeplane = _planevector[id].getsize_x();
        double tempx;
        for(i=0; i<_planevector[id].getsize_x(); i++)
        {