]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/manualContour/manualContourModel.cpp
#3138 creaMaracasVisu Feature New Normal - branch vtk7itk4wx3
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / manualContour / manualContourModel.cpp
index e5ab192a368b3d2889b255b2abbf733c2b8388de..7f4d128eb4135f35993b2db96c426b0c3eef1de8 100644 (file)
@@ -34,34 +34,25 @@ manualContourModel::manualContourModel()
     _cntSplineX = vtkKochanekSpline::New( );
     _cntSplineY = vtkKochanekSpline::New( );
     _cntSplineZ = vtkKochanekSpline::New( );
-
        this->SetCloseContour(true);
-
     _cntSplineX->SetDefaultTension( 0 );
        _cntSplineX->SetDefaultBias( 0 );
        _cntSplineX->SetDefaultContinuity( 0 );
-
     _cntSplineY->SetDefaultTension( 0 );
        _cntSplineY->SetDefaultBias( 0 );
        _cntSplineY->SetDefaultContinuity( 0 );
-
     _cntSplineZ->SetDefaultTension( 0 );
        _cntSplineZ->SetDefaultBias( 0 );
        _cntSplineZ->SetDefaultContinuity( 0 );
-
 //JSTG 25-02-08 -------------------------------------------------------------------------------------------------
-
        // this parameter is reset in the  VIRTUAL manualContourBaseControler::Configure
        _sizePointsContour      = 100;                  //JSTG 25-02-08 The change in the inisialization of these variable is critical.
-
        _delta_JSTG                     = 0.0;
 //---------------------------------------------------------------------------------------------------------------
-
 //CMRU 17-08-09 -------------------------------------------------------------------------------------------------
        _realSize                       = 0.0;
        _label                          = "";
 //---------------------------------------------------------------------------------------------------------------
-
 }
 
 // ----------------------------------------------------------------------------
@@ -72,15 +63,14 @@ manualContourModel::~manualContourModel()
                delete _lstPoints[i];
        }
        _lstPoints.clear();
-
        _cntSplineX->RemoveAllPoints();
        _cntSplineY->RemoveAllPoints();
        _cntSplineZ->RemoveAllPoints();
-
        _cntSplineX->Delete();
        _cntSplineY->Delete();
        _cntSplineZ->Delete();
 }
+
 // ----------------------------------------------------------------------------
 int manualContourModel::AddPoint(double x,double y,double z)
 {
@@ -88,7 +78,6 @@ int manualContourModel::AddPoint(double x,double y,double z)
    mp->SetPoint(x,y,z);
    AddManualPoint(mp);
    //UpdateSpline();
-
    return _lstPoints.size()-1;
 }
 // ----------------------------------------------------------------------------
@@ -187,6 +176,7 @@ void manualContourModel::DeleteAllPoints()
 
 void manualContourModel::MovePoint(int i,double dx,double dy,double dz)
 {
+printf("EED manualContourModel::MovePoint %p \n", this);
        manualPoint *mp=_lstPoints[i];
        double x=mp->GetX()+dx;
        double y=mp->GetY()+dy;
@@ -388,8 +378,6 @@ void manualContourModel::GetSpline_t_Point(double t, double *x, double *y, doubl
 }
 
 // ----------------------------------------------------------------------------
-
-
 /*void manualContourModel::GetSplinePoint(double t, double &x, double &y, double &z)
 {
        if (_lstPoints.size()==0)
@@ -413,19 +401,18 @@ void manualContourModel::GetSpline_t_Point(double t, double *x, double *y, doubl
                z       = _cntSplineZ->Evaluate(t);
        }
 }*/
+
 // ----------------------------------------------------------------------------
 double manualContourModel::GetPathSize(double *spc)
 {
        double result = 0;
        double x1,y1,z1;
        double x2,y2,z2;
-
 // JSTG 25-02-08 -----------------------------
        //double t,delta;
        //int i,np,nps;
        int i;
 //--------------------------------------------
-
        if (_lstPoints.size()==2)
        {
                x1 = spc[0] * _lstPoints[0]->GetX();
@@ -438,7 +425,6 @@ double manualContourModel::GetPathSize(double *spc)
        }
        if (_lstPoints.size()>2)
        {
-
 // JSTG 25-02-08 ------------------------------------------
                //np  = _lstPoints.size( );
                //nps = 200;
@@ -446,7 +432,6 @@ double manualContourModel::GetPathSize(double *spc)
                UpdateSpline();
                //GetSplinePoint(0,x1,y1,z1);
                GetSpline_i_Point(0,&x1,&y1,&z1);
-
                x1 = spc[0] * x1; 
                y1 = spc[1] * y1; 
                z1 = spc[2] * z1; 
@@ -466,11 +451,9 @@ double manualContourModel::GetPathSize(double *spc)
                        z1=z2;
                }// for
        }
-
        return result;
 }
 
-
 // ----------------------------------------------------------------------------
 double manualContourModel::GetPathArea(double *spc)
 {
@@ -485,7 +468,6 @@ double manualContourModel::GetPathArea(double *spc)
                double x2,y2,z2;
                bool okArea=true;
                int i, j;
-
                // This uses Green's theorem:
                // A = 1/2 * sum( xiyi+1 - xi+1yi); pO == pN
                // A < 0 -> A = |A| (a negative value could raise because points are
@@ -513,9 +495,7 @@ double manualContourModel::GetPathArea(double *spc)
                        x2=spc[0]*x2;
                        y2=spc[1]*y2;
                        z2=spc[2]*z2;
-                       area +=
-                                       (x1 * y2 ) -
-                                       ( x2 * y1 );
+                       area += (x1 * y2 ) - ( x2 * y1 );
                        if (z1!=z2)
                        {
                                okArea=false;
@@ -558,7 +538,6 @@ double manualContourModel::GetPathArea(double *spc)
 // p[x,y,z]   :  data in
 // rp[x,y,z]  :  data out  result point
 // rn[x,y,z]  :  data out   result normal
-
 void manualContourModel::GetNearestPointAndNormal(double *p, double *rp,  double *rn)
 {
        double  distMin=999999999;
@@ -604,12 +583,11 @@ void manualContourModel::GetNearestPointAndNormal(double *p, double *rp,  double
                                rn[0] = x2-x1;
                                rn[1] = y2-y1;
                                rn[2] = z2-z1;
-                       }
-                       x2=x1;
-                       y2=y1;
-                       z2=z1;
+                       } // if
+                       x2 = x1;
+                       y2 = y1;
+                       z2 = z1;
                }// for
-
 // JSTG 25-02-08 ------------------------------------------
                //if (tback==0)
                if (iback==0)
@@ -618,10 +596,10 @@ void manualContourModel::GetNearestPointAndNormal(double *p, double *rp,  double
                        //GetSplinePoint(t,x1,y1,z1);
                        GetSpline_i_Point(i,&x1,&y1,&z1);
 //----------------------------------------------------------
-                       rn[0]=rp[0]-x1;
-                       rn[1]=rp[1]-y1;
-                       rn[2]=rp[2]-z1;
-               }
+                       rn[0] = rp[0]-x1;
+                       rn[1] = rp[1]-y1;
+                       rn[2] = rp[2]-z1;
+               } // if iback 
        } else {
                rp[0] = 0;
                rp[1] = 0;
@@ -629,11 +607,11 @@ void manualContourModel::GetNearestPointAndNormal(double *p, double *rp,  double
                rn[0] = -1;
                rn[1] = 0;
                rn[2] = 0;
-       }
+       } // if np
 }
 
 // ----------------------------------------------------------------------------
-manualContourModel * manualContourModel :: Clone() // virtual
+manualContourModel * manualContourModel::Clone() // virtual
 {
        manualContourModel * clone = new manualContourModel();
        CopyAttributesTo(clone);