]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR2DView.cxx
ViewerNV 2D with color Transfer Function
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / wxVtkMPR2DView.cxx
index 0ec8f0dc196e5a1c1b4b7d6c9a12adb0d32a7d4b..2163d69de9a5be80a0f129d68621af2bd42dee97 100644 (file)
@@ -63,52 +63,60 @@ void wxVtkMPR2DView::Configure(){
                _visibleAxis = true;
 
        // Axe A
-               _ptsA = vtkPoints::New();
-               _ptsA->SetNumberOfPoints(2);
-               _ptsA->SetPoint(0, -1000        , -1000 , -1000 );
-               _ptsA->SetPoint(1,  1000        ,  1000 ,  1000 );
-               vtkCellArray *linesA;
-               linesA = vtkCellArray::New();
-               linesA->InsertNextCell(2);
-               linesA->InsertCellPoint(0);
-               linesA->InsertCellPoint(1);
-               _pdA = vtkPolyData::New();
-               _pdA->SetPoints( _ptsA );
-               _pdA->SetLines( linesA );
-               linesA->Delete();  //do not delete lines ??
-               _lineAActor                                             =       vtkActor::New();
-               _lineAMapper                                    =       vtkPolyDataMapper::New();
-               _lineAMapper->SetInput(_pdA);
-               _lineAMapper->ImmediateModeRenderingOn();
-               _lineAActor->SetMapper(_lineAMapper);
-//             _lineAActor->GetProperty()->BackfaceCullingOn();
-               _lineAActor->GetProperty()->SetDiffuseColor(1,0,0);
-               _lineAActor->GetProperty()->SetLineWidth(2);
-               _imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer()->AddActor( _lineAActor );
+               if(_lineAActor==NULL){
+                       _ptsA = vtkPoints::New();
+                       _ptsA->SetNumberOfPoints(2);
+                       _ptsA->SetPoint(0, -1000        , -1000 , -1000 );
+                       _ptsA->SetPoint(1,  1000        ,  1000 ,  1000 );
+                       vtkCellArray *linesA;
+                       linesA = vtkCellArray::New();
+                       linesA->InsertNextCell(2);
+                       linesA->InsertCellPoint(0);
+                       linesA->InsertCellPoint(1);
+                       _pdA = vtkPolyData::New();
+                       _pdA->SetPoints( _ptsA );
+                       _pdA->SetLines( linesA );
+                       linesA->Delete();  //do not delete lines ??
+                       _lineAActor                                             =       vtkActor::New();
+                       _lineAMapper                                    =       vtkPolyDataMapper::New();
+
+                       _lineAMapper->SetInput(_pdA);
+                       _lineAMapper->ImmediateModeRenderingOn();
+                       _lineAActor->SetMapper(_lineAMapper);
+       //              _lineAActor->GetProperty()->BackfaceCullingOn();
+                       _lineAActor->GetProperty()->SetDiffuseColor(1,0,0);
+                       _lineAActor->GetProperty()->SetLineWidth(2);
+                       _imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer()->AddActor( _lineAActor );
+               }
+
+
+               
 
        // Axe B
-               _ptsB = vtkPoints::New();
-               _ptsB->SetNumberOfPoints(2);
-               _ptsB->SetPoint(0, -1000        , -1000 , -1000 );
-               _ptsB->SetPoint(1,  1000        ,  1000 ,  1000 );
-               vtkCellArray *linesB;
-               linesB = vtkCellArray::New();
-               linesB->InsertNextCell(2);
-               linesB->InsertCellPoint(0);
-               linesB->InsertCellPoint(1);
-               _pdB = vtkPolyData::New();
-               _pdB->SetPoints( _ptsB );
-               _pdB->SetLines( linesB );
-               linesB->Delete();  //do not delete lines ??
-               _lineBActor                                             =       vtkActor::New();
-               _lineBMapper                                    =       vtkPolyDataMapper::New();
-               _lineBMapper->SetInput(_pdB);
-               _lineBMapper->ImmediateModeRenderingOn();
-               _lineBActor->SetMapper(_lineBMapper);
-//             _lineBActor->GetProperty()->BackfaceCullingOn();
-               _lineBActor->GetProperty()->SetDiffuseColor(1,0,0);
-               _lineBActor->GetProperty()->SetLineWidth(2);
-               _imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer()->AddActor( _lineBActor );
+               if(_lineBActor==NULL){
+                       _ptsB = vtkPoints::New();
+                       _ptsB->SetNumberOfPoints(2);
+                       _ptsB->SetPoint(0, -1000        , -1000 , -1000 );
+                       _ptsB->SetPoint(1,  1000        ,  1000 ,  1000 );
+                       vtkCellArray *linesB;
+                       linesB = vtkCellArray::New();
+                       linesB->InsertNextCell(2);
+                       linesB->InsertCellPoint(0);
+                       linesB->InsertCellPoint(1);
+                       _pdB = vtkPolyData::New();
+                       _pdB->SetPoints( _ptsB );
+                       _pdB->SetLines( linesB );
+                       linesB->Delete();  //do not delete lines ??
+                       _lineBActor                                             =       vtkActor::New();
+                       _lineBMapper                                    =       vtkPolyDataMapper::New();
+                       _lineBMapper->SetInput(_pdB);
+                       _lineBMapper->ImmediateModeRenderingOn();
+                       _lineBActor->SetMapper(_lineBMapper);
+       //              _lineBActor->GetProperty()->BackfaceCullingOn();
+                       _lineBActor->GetProperty()->SetDiffuseColor(1,0,0);
+                       _lineBActor->GetProperty()->SetLineWidth(2);
+                       _imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer()->AddActor( _lineBActor );
+               }
 
        
                vtkCamera *camera =_imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer()->GetActiveCamera();