]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtk2DBaseView.cxx
*** empty log message ***
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / wxVtk2DBaseView.cxx
index 4203d27b4a45884df23c9a168dbec48283fbbcad..c3f8516aef1319a0bca14bee41986cc902865aed 100644 (file)
@@ -15,20 +15,20 @@ wxVtk2DBaseView::wxVtk2DBaseView(wxWindow *parent)
 //EED 5mai2009
 //-------------------------------------------------------------------
 wxVtk2DBaseView::~wxVtk2DBaseView()
-{      
-       if (_vtkIinfoTextImage!=NULL) 
+{
+       if (_vtkIinfoTextImage!=NULL)
        {
-          delete _vtkIinfoTextImage; 
+          delete _vtkIinfoTextImage;
        }
 
-       if (_imageViewer2XYZ!=NULL) 
+       if (_imageViewer2XYZ!=NULL)
        {
-          delete _imageViewer2XYZ; 
+          delete _imageViewer2XYZ;
        }
 }
 
 //-------------------------------------------------------------------
-void wxVtk2DBaseView::TransformCoordinate_spacing_ViewToModel(double &X,double &Y, double &Z) //       virtual 
+void wxVtk2DBaseView::TransformCoordinate_spacing_ViewToModel(double &X,double &Y, double &Z) //       virtual
 {
 //EEDx5
        double spc[3];
@@ -42,7 +42,7 @@ void wxVtk2DBaseView::TransformCoordinate_spacing_ViewToModel(double &X,double &
                spc[1] = 1;
                spc[2] = 1;
        }
-       
+
 
        X = X / spc[0];
        Y = Y / spc[1];
@@ -51,7 +51,7 @@ void wxVtk2DBaseView::TransformCoordinate_spacing_ViewToModel(double &X,double &
 }
 
 //-------------------------------------------------------------------
-void wxVtk2DBaseView::TransformCoordinate_spacing_ModelToView(double &X,double &Y, double &Z) //       virtual 
+void wxVtk2DBaseView::TransformCoordinate_spacing_ModelToView(double &X,double &Y, double &Z) //       virtual
 {
 //EEDx5
        double spc[3];
@@ -78,7 +78,7 @@ void wxVtk2DBaseView::ResetView()
        double spx = 0,spy = 0,spz = 0;
        int x1 = 1,x2 = 1,y1 = 1,y2 = 1,z1 = 1,z2 = 1;
        wxVtkBaseView::Configure();
-       
+
        wxVTKRenderWindowInteractor *iren = GetWxVTKRenderWindowInteractor();
        vtkImageData *imageData = GetVtkBaseData()->GetImageData();
        if(imageData){
@@ -90,10 +90,13 @@ void wxVtk2DBaseView::ResetView()
                imageData->GetExtent (x1,x2,y1,y2,z1,z2);
        }
 
-       
+
        _imageViewer2XYZ -> SetExtentDimension(x1,x2,y1,y2,z1,z2);
        _imageViewer2XYZ -> GetVtkImageViewer2()->SetupInteractor ( iren );
 
+//EED 24oct2010
+    _imageViewer2XYZ->GetVtkImageViewer2()->GetWindowLevel()->Modified();
+
        _imageViewer2XYZ->GetVtkImageViewer2()->Render();
 
        //////////////
@@ -115,7 +118,7 @@ void wxVtk2DBaseView::ResetView()
 
        // RaC
        //////////////
-       
+
 }
 
 
@@ -157,7 +160,7 @@ void wxVtk2DBaseView::Configure(bool okimage)
 
        vtkImageData *imageData = GetVtkBaseData()->GetMarImageData()->GetImageData();
        if (imageData!=NULL){
-               
+
                imageData->UpdateInformation();
                imageData->SetUpdateExtent( imageData->GetWholeExtent());
                imageData->Update();
@@ -195,39 +198,39 @@ void wxVtk2DBaseView::Configure(bool okimage)
                        vtkImageViewer2 *IV2=_imageViewer2XYZ->GetVtkImageViewer2();
                        vtkCamera *camera = IV2->GetRenderer()->GetActiveCamera();
 
-//EED 17Avril2009      
-/*                     
+//EED 17Avril2009
+/*
                        camera->SetViewUp               ( spx*0                 , -spy*1                        , spz*0         );
-                       camera->SetPosition             ( spx*(x1+x2)/2 , spy*(y1+y2)/2 , -spz*10000    ); 
-                       camera->SetFocalPoint   ( spx*(x1+x2)/2 , spy*(y1+y2)/2 , spz*0         ); 
-*/ 
+                       camera->SetPosition             ( spx*(x1+x2)/2 , spy*(y1+y2)/2 , -spz*10000    );
+                       camera->SetFocalPoint   ( spx*(x1+x2)/2 , spy*(y1+y2)/2 , spz*0         );
+*/
                        camera->SetViewUp               ( spx*0                 , spy*1                 , spz*0         );
-                       camera->SetPosition             ( spx*(x1+x2)/2 , spy*(y1+y2)/2 , spz*10000     ); 
-                       camera->SetFocalPoint   ( spx*(x1+x2)/2 , spy*(y1+y2)/2 , spz*0         ); 
-                       
-                       
+                       camera->SetPosition             ( spx*(x1+x2)/2 , spy*(y1+y2)/2 , spz*10000     );
+                       camera->SetFocalPoint   ( spx*(x1+x2)/2 , spy*(y1+y2)/2 , spz*0         );
+
+
                        camera->SetClippingRange( 0.01                  , 1000000 );
                        camera->ComputeViewPlaneNormal();
                        camera->SetParallelScale( spx*(x2-x1)/3.0 );
-                       
+
                        // text information over the graphic window
                        if(_vtkIinfoTextImage == NULL){
                                _vtkIinfoTextImage              = new vtkInfoTextImage();
-                               _vtkIinfoTextImageInteractor    = new vtkInfoTextImageInteractor();                             
+                               _vtkIinfoTextImageInteractor    = new vtkInfoTextImageInteractor();
                                ((vtkInteractorStyleBaseView*)this->GetInteractorStyleBaseView())->AddInteractorStyleMaracas(_vtkIinfoTextImageInteractor);
                        }
                        _vtkIinfoTextImage->SetWxVtk2DBaseView(this);
                        _vtkIinfoTextImage->SetMarImageData( GetVtkBaseData()->GetMarImageData() );
-                       _vtkIinfoTextImageInteractor->SetModelVtkInfoTextImage(_vtkIinfoTextImage);                             
+                       _vtkIinfoTextImageInteractor->SetModelVtkInfoTextImage(_vtkIinfoTextImage);
                        _vtkIinfoTextImage->Configure();
-                       
+
                } // okimage
        } // imageData
 }
 
 //-------------------------------------------------------------------
 
-int    wxVtk2DBaseView::GetActualSlice()  // virtual 
+int    wxVtk2DBaseView::GetActualSlice()  // virtual
 {
    return (int)(_vtkbasedata->GetZ());
 }
@@ -257,7 +260,10 @@ void wxVtk2DBaseView::SetVtkBaseData(vtkBaseData *vtkbasedata)
 void wxVtk2DBaseView::Refresh()
 {
    int z = (int)(GetVtkBaseData()->GetZ());
-  _imageViewer2XYZ->SetZSlice( z ); 
+  _imageViewer2XYZ->SetZSlice( z );
+
+//EED 24oct2010
+  _imageViewer2XYZ->GetVtkImageViewer2()->GetWindowLevel()->Modified();
 
    wxVtkBaseView::Refresh();
 }
@@ -271,7 +277,7 @@ void wxVtk2DBaseView::SetInteractorStyleImage(vtkInteractorStyleBaseView *intera
        wxVTKRenderWindowInteractor *iren = GetWxVTKRenderWindowInteractor();
        interactorstylebaseview->SetInteractor ( iren );
        iren->SetInteractorStyle(interactorstylebaseview);
-       interactorstylebaseview->SetwxVtkBaseView(this);        
+       interactorstylebaseview->SetwxVtkBaseView(this);
 
        vtkMaracasImageViewer2Callback * cbk = vtkMaracasImageViewer2Callback::New();
        cbk->IV = _imageViewer2XYZ->GetVtkImageViewer2();
@@ -282,7 +288,7 @@ void wxVtk2DBaseView::SetInteractorStyleImage(vtkInteractorStyleBaseView *intera
 }
 
 //---------------------------------------------------------------------------
-vtkRenderer* wxVtk2DBaseView::GetRenderer()    // virtual 
+vtkRenderer* wxVtk2DBaseView::GetRenderer()    // virtual
 {
    return _imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer();
 }
@@ -300,7 +306,7 @@ void wxVtk2DBaseView::GetSpacing(double spc[3])  // virtual
    if(imageData){
        imageData->GetSpacing(spc);
    }else{
-        spc[0] = 0; 
+        spc[0] = 0;
         spc[1] = 0;
         spc[2] = 0;
    }
@@ -314,7 +320,7 @@ void wxVtk2DBaseView::setColorTransferFunction(vtkColorTransferFunction* colorta
 }
 
 void wxVtk2DBaseView::setWindowLevel(double level){
-//     _imageViewer2XYZ->GetVtkImageViewer2()->SetColorWindow(level);  
+//     _imageViewer2XYZ->GetVtkImageViewer2()->SetColorWindow(level);
 
        vtkImageMapToWindowLevelColors* imagemaptowindowlevel = _imageViewer2XYZ->GetVtkImageViewer2()->GetWindowLevel();
        imagemaptowindowlevel->SetWindow(level);