]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/manualContour/manualViewBaseContour.cpp
#3418 creaMaracasVisu Feature New Normal - ManualPaint_model with openmp
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / manualContour / manualViewBaseContour.cpp
index 1e765740c51f3cc035f42b6b24d34d0fb312e66b..6e334f40cd0200ea1d6cf37b7f4fb9d58738306e 100644 (file)
@@ -48,21 +48,16 @@ manualViewBaseContour::manualViewBaseContour()
        _spc[0]                         = 1;
        _spc[1]                         = 1;
        _spc[2]                         = 1;
-
        _coulorEdit_r           = 1;
        _coulorEdit_g           = 1;
        _coulorEdit_b           = 0;
-
        _coulorNormal_r         = 1;
        _coulorNormal_g         = 0;
        _coulorNormal_b         = 1;
-
        _coulorSelection_r      = 0;
        _coulorSelection_g      = 1;
        _coulorSelection_b      = 0;
-
        _widthline                      = 1;
-
 }
 // ----------------------------------------------------------------------------
 manualViewBaseContour::~manualViewBaseContour()
@@ -113,13 +108,15 @@ void manualViewBaseContour :: AddCompleteContourActor(  bool ifControlPoints )
 
         //Adding each control point
         if( ifControlPoints )
+        {
                AddControlPoints();
+        }
         RefreshContour();
         Refresh();
 }
 // ---------------------------------------------------------------------------
 
-void manualViewBaseContour :: RemoveCompleteContourActor()
+void manualViewBaseContour::RemoveCompleteContourActor()
 {
        /*vtkRenderer * theRenderer =*/  _wxvtkbaseview->GetRenderer(); // JPRx ??
         //Removing the spline
@@ -275,7 +272,8 @@ void manualViewBaseContour::ConstructVTKObjects()
        DeleteVtkObjects();
        _pts = vtkPoints::New();
        _pts->SetNumberOfPoints(nps);
-       for (i=0 ; i<nps ; i++){
+       for (i=0 ; i<nps ; i++)
+       {
                _pts->SetPoint(i,       0       , 0     , 0 );
        }
        // This is for the boundaring inicialisation
@@ -283,24 +281,44 @@ void manualViewBaseContour::ConstructVTKObjects()
 //EED 29Mars2009       
        //_pts->SetPoint(0,     0       , 0     , -1000 );
        //_pts->SetPoint(1,     0       , 0     ,  1000 );
-       _pts->SetPoint(0,       -1000   , -1000 , -1000 );
-       _pts->SetPoint(1,       1000    , 1000  , 1000  );
 
-       vtkCellArray *lines = vtkCellArray::New();
-       lines->InsertNextCell( nps /* +1 */ );
-       for ( i=0 ; i<nps+1 ; i++ ){
-               lines->InsertCellPoint(i % nps );
+//EED 2017-03-02
+//     _pts->SetPoint(0,       -1000   , -1000 , -1000 );
+//     _pts->SetPoint(1,       1000    , 1000  , 1000  );
+
+       // This is the structure for the spline
+       _splineCell = vtkCellArray::New();
+       _splineCell->InsertNextCell( nps /* +1 */ );
+       for ( i=0 ; i<nps+1 ; i++ )
+       {
+               _splineCell->InsertCellPoint(i % nps );
        }
+
+       // This is the structure for the spline justo to points (line)
+       // This will be use in the refresh part, in case the spline have only 2 points
+       _lineCell = vtkCellArray::New();
+       _lineCell->InsertNextCell(2);
+       _lineCell->InsertCellPoint(0);
+       _lineCell->InsertCellPoint(1);
+
        _pd = vtkPolyData::New();
        _pd->SetPoints( _pts );
-       _pd->SetLines( lines );
-       lines->Delete();  //do not delete lines ??
+       _pd->SetLines( _splineCell );
+       // lines->Delete();  //do not delete lines ??
 
        _contourVtkActor        =       vtkActor::New();
     _bboxMapper                        =       vtkPolyDataMapper::New();
     _bboxMapper->ScalarVisibilityOff( );
 
+
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
        _bboxMapper->SetInput(_pd);
+#else
+       _bboxMapper->SetInputData(_pd);
+#endif
+
+
        _bboxMapper->ImmediateModeRenderingOn();
        _contourVtkActor->SetMapper(_bboxMapper);
        _contourVtkActor->GetProperty()->BackfaceCullingOff();
@@ -312,6 +330,17 @@ void manualViewBaseContour::ConstructVTKObjects()
        InitTextActor();
 }
 
+// ----------------------------------------------------------------------------
+void manualViewBaseContour::SetCellArray(bool type)
+{
+       if (type==true)
+       {
+               _pd->SetLines( _splineCell );
+       } else {
+               _pd->SetLines( _lineCell );
+       }// if type
+}
+
 // ----------------------------------------------------------------------------
 void manualViewBaseContour::InitTextActor()
 {
@@ -326,9 +355,9 @@ void manualViewBaseContour::InitTextActor()
 //     _textActor->GetPositionCoordinate()->SetValue( 0.8 , 0.8 );
 
        vtkTextProperty *tprop = _textActor->GetTextProperty();
-       tprop->SetFontSize(14);
+       tprop->SetFontSize(12);
        tprop->SetFontFamilyToArial();
-       tprop->SetColor(0, 0, 1);
+       tprop->SetColor(1, 1, 0);
 
 
        //      Text 2
@@ -342,9 +371,9 @@ void manualViewBaseContour::InitTextActor()
 //     _textActor2->GetPositionCoordinate()->SetValue( 0.8 , 0.8 );
 
        vtkTextProperty *tprop2 = _textActor2->GetTextProperty();
-       tprop2->SetFontSize(14);
+       tprop2->SetFontSize(12);
        tprop2->SetFontFamilyToArial();
-       tprop2->SetColor(0, 0, 1);
+       tprop2->SetColor(1, 1, 0);
 
 }
 
@@ -653,7 +682,8 @@ double* manualViewBaseContour::GetVectorPointsZManualContour()
 // ----------------------------------------------------------------------------
 void manualViewBaseContour::Refresh() // virtual
 {
-       if (_contourVtkActor!=NULL){
+       if (_contourVtkActor!=NULL)
+       {
                RefreshContour();
        }
        int i,size=_lstViewPoints.size();
@@ -946,8 +976,8 @@ void manualViewBaseContour::SetShowText(bool ok)
        _show_text = ok;
        if (_show_text==false && _textActor!=NULL)
        {
-               _textActor->SetInput("00");
-               _textActor2->SetInput("00");
+               _textActor->SetInput("");
+               _textActor2->SetInput("");
        }
 }
 // ----------------------------------------------------------------------------