]> 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 53bf04744c086cd71e34e37eb72281670ed24f8b..18bdf5ac83534fa7bc754a2c3c72e19dfc918a8d 100644 (file)
@@ -8,8 +8,8 @@
 wxVtk2DBaseView::wxVtk2DBaseView(wxWindow *parent)
 :wxVtkBaseView(parent)
 {
-       _imageViewer2XYZ        = NULL;
-       _vtkIinfoTextImage      = NULL;
+   _imageViewer2XYZ   = NULL;
+   _vtkIinfoTextImage = NULL;
 }
 
 //EED 5mai2009
@@ -18,12 +18,12 @@ wxVtk2DBaseView::~wxVtk2DBaseView()
 {      
        if (_vtkIinfoTextImage!=NULL) 
        {
-               delete _vtkIinfoTextImage; 
+          delete _vtkIinfoTextImage; 
        }
 
        if (_imageViewer2XYZ!=NULL) 
        {
-               delete _imageViewer2XYZ; 
+          delete _imageViewer2XYZ; 
        }
 }
 
@@ -88,13 +88,13 @@ void wxVtk2DBaseView::Configure(bool okimage)
        wxVtkBaseView::Configure();
 
 // EED 17 Oct 2007
-                       if (_imageViewer2XYZ==NULL)
-                       {
-                               _imageViewer2XYZ = new vtkImageViewer2_XYZ();
-                               wxVTKRenderWindowInteractor *iren = GetWxVTKRenderWindowInteractor();
-                               _imageViewer2XYZ -> GetVtkImageViewer2()->SetupInteractor ( iren );
-                               SetInteractorStyleImage( vtkInteractorStyleBaseView2D::New() );
-                       }
+       if (_imageViewer2XYZ==NULL)
+       {
+               _imageViewer2XYZ = new vtkImageViewer2_XYZ();
+               wxVTKRenderWindowInteractor *iren = GetWxVTKRenderWindowInteractor();
+               _imageViewer2XYZ -> GetVtkImageViewer2()->SetupInteractor ( iren );
+               SetInteractorStyleImage( vtkInteractorStyleBaseView2D::New() );
+       }
 
 
        vtkImageData *imageData = GetVtkBaseData()->GetMarImageData()->GetImageData();
@@ -154,13 +154,16 @@ void wxVtk2DBaseView::Configure(bool okimage)
                        camera->SetParallelScale( spx*(x2-x1)/3.0 );
                        
                        // text information over the graphic window
-                       _vtkIinfoTextImage                              = new vtkInfoTextImage();
-                       _vtkIinfoTextImageInteractor    = new vtkInfoTextImageInteractor();
+                       if(_vtkIinfoTextImage == NULL){
+                               _vtkIinfoTextImage              = new vtkInfoTextImage();
+                               _vtkIinfoTextImageInteractor    = new vtkInfoTextImageInteractor();                             
+                               ((vtkInteractorStyleBaseView*)this->GetInteractorStyleBaseView())->AddInteractorStyleMaracas(_vtkIinfoTextImageInteractor);
+                       }
                        _vtkIinfoTextImage->SetWxVtk2DBaseView(this);
                        _vtkIinfoTextImage->SetMarImageData( GetVtkBaseData()->GetMarImageData() );
-                       _vtkIinfoTextImageInteractor->SetModelVtkInfoTextImage(_vtkIinfoTextImage);     
+                       _vtkIinfoTextImageInteractor->SetModelVtkInfoTextImage(_vtkIinfoTextImage);                             
                        _vtkIinfoTextImage->Configure();
-                       ((vtkInteractorStyleBaseView*)this->GetInteractorStyleBaseView())->AddInteractorStyleMaracas(_vtkIinfoTextImageInteractor);
+                       
                } // okimage
        } // imageData
 
@@ -170,37 +173,37 @@ void wxVtk2DBaseView::Configure(bool okimage)
 
 int    wxVtk2DBaseView::GetActualSlice()  // virtual 
 {
-       return (int)(_vtkbasedata->GetZ());
+   return (int)(_vtkbasedata->GetZ());
 }
 
 //-------------------------------------------------------------------
 void wxVtk2DBaseView::SetActualSlice(int slice)  // Virtual
 {
-       _vtkbasedata->SetZ(slice);
+   _vtkbasedata->SetZ(slice);
 }
 
 //-------------------------------------------------------------------
 
 vtkBaseData *wxVtk2DBaseView::GetVtkBaseData()
 {
-       return _vtkbasedata;
+   return _vtkbasedata;
 }
 
 //-------------------------------------------------------------------
 
 void wxVtk2DBaseView::SetVtkBaseData(vtkBaseData *vtkbasedata)
 {
-       _vtkbasedata=vtkbasedata;
+   _vtkbasedata=vtkbasedata;
 }
 
 //-------------------------------------------------------------------
 
 void wxVtk2DBaseView::Refresh()
 {
-       int z = (int)(GetVtkBaseData()->GetZ());
-       _imageViewer2XYZ->SetZSlice( z ); 
+   int z = (int)(GetVtkBaseData()->GetZ());
+  _imageViewer2XYZ->SetZSlice( z ); 
 
-       wxVtkBaseView::Refresh();
+   wxVtkBaseView::Refresh();
 }
 
 //-------------------------------------------------------------------
@@ -225,18 +228,36 @@ void wxVtk2DBaseView::SetInteractorStyleImage(vtkInteractorStyleBaseView *intera
 //---------------------------------------------------------------------------
 vtkRenderer* wxVtk2DBaseView::GetRenderer()    // virtual 
 {
-       return  _imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer();
+   return _imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer();
 }
 //---------------------------------------------------------------------------
 vtkRenderWindow* wxVtk2DBaseView::GetRenWin()          // virtual
 {
-       return  _imageViewer2XYZ->GetVtkImageViewer2()->GetRenderWindow();
+   return _imageViewer2XYZ->GetVtkImageViewer2()->GetRenderWindow();
 }
 
 //-------------------------------------------------------------------
 
 void wxVtk2DBaseView::GetSpacing(double spc[3])  // virtual
 {
-       vtkImageData *imageData = GetVtkBaseData()->GetImageData();
-       imageData->GetSpacing(spc);
-}
\ No newline at end of file
+   vtkImageData *imageData     = GetVtkBaseData()->GetImageData();
+   imageData->GetSpacing(spc);
+}
+
+void wxVtk2DBaseView::setColorTransferFunction(vtkColorTransferFunction* colortable){
+       if(_imageViewer2XYZ!=NULL){
+               _imageViewer2XYZ->setColorTransferFunction(colortable);
+               this->Refresh();
+       }
+}
+
+void wxVtk2DBaseView::setWindowLevel(double level){
+       _imageViewer2XYZ->GetVtkImageViewer2()->SetColorWindow(level);  
+       
+       this->Refresh();
+}
+
+void wxVtk2DBaseView::setColorLevel(double level){
+       _imageViewer2XYZ->GetVtkImageViewer2()->SetColorLevel(level);
+       this->Refresh();
+}