]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkBaseView.cxx
BUG histogram
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / wxVtkBaseView.cxx
index 64b9e0a29537cbd546184434d4cba029596e648f..7bbda0afddaf0f87117dbe6ac11cff696a48df19 100644 (file)
@@ -30,7 +30,7 @@ vtkImageViewer2_XYZ::vtkImageViewer2_XYZ()
 //-------------------------------------------------------------------
 vtkImageViewer2_XYZ::~vtkImageViewer2_XYZ()
 {
-       _vtkimageviewer2->Delete();
+       //_vtkimageviewer2->Delete();
 }
 //-------------------------------------------------------------------
 void vtkImageViewer2_XYZ::SetExtentDimension(int x1,int x2,
@@ -191,10 +191,15 @@ wxVtkBaseView::wxVtkBaseView(wxWindow *parent)
 wxVtkBaseView::~wxVtkBaseView()
 {
  //    _iren -> Delete();
+       _iren=NULL;
 }
 //-------------------------------------------------------------------
-wxVTKRenderWindowInteractor* wxVtkBaseView::GetWxVTKRenderWindowInteractor()
+wxVTKRenderWindowInteractor* wxVtkBaseView::GetWxVTKRenderWindowInteractor() throw (char*)
 {
+
+       if(_iren==NULL){
+               throw "wxVtkBaseView::GetWxVTKRenderWindowInteractor() _iren wxVTKRenderWindowInteractorPlus =NULL";
+       }
    return _iren;
 }
 //-------------------------------------------------------------------
@@ -1493,6 +1498,7 @@ bool vtkInfoTextImageInteractor::OnMouseMove()
        double xx=X,yy=Y,zz=z;
        _vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->TransfromeCoordScreenToWorld(xx,yy,zz);
 
+       
        GetVtkInfoTextImage()->PutWindowLevel();
        GetVtkInfoTextImage()->PutColorLevel();
        GetVtkInfoTextImage()->PutPosition( (int)xx , (int)yy , (int)zz );
@@ -1521,17 +1527,19 @@ wxVtk2DBaseView::wxVtk2DBaseView(wxWindow *parent)
        _vtkIinfoTextImage      = NULL;
 }
 
+//EED 5mai2009
 //-------------------------------------------------------------------
 wxVtk2DBaseView::~wxVtk2DBaseView()
-{
-       if (_imageViewer2XYZ!=NULL) {
-               delete _imageViewer2XYZ; 
-       }
-
-       if (_imageViewer2XYZ!=NULL) {
+{      
+       if (_vtkIinfoTextImage!=NULL) 
+       {
                delete _vtkIinfoTextImage; 
        }
 
+       if (_imageViewer2XYZ!=NULL) 
+       {
+               delete _imageViewer2XYZ; 
+       }
 }
 
 //-------------------------------------------------------------------
@@ -1581,10 +1589,7 @@ void wxVtk2DBaseView::ResetView()
        _imageViewer2XYZ -> SetExtentDimension(x1,x2,y1,y2,z1,z2);
        _imageViewer2XYZ -> GetVtkImageViewer2()->SetupInteractor ( iren );
 
-printf("EED wxVtk2DBaseView::ResetView podemos 01\n ");        
        _imageViewer2XYZ->GetVtkImageViewer2()->Render();
-printf("EED wxVtk2DBaseView::ResetView podemos 02\n ");        
-
        SetInteractorStyleImage( vtkInteractorStyleBaseView2D::New() );
        
 }
@@ -1647,9 +1652,18 @@ void wxVtk2DBaseView::Configure(bool okimage)
 
                        vtkImageViewer2 *IV2=_imageViewer2XYZ->GetVtkImageViewer2();
                        vtkCamera *camera = IV2->GetRenderer()->GetActiveCamera();
+
+//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->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->SetClippingRange( 0.01                  , 1000000 );
                        camera->ComputeViewPlaneNormal();
                        camera->SetParallelScale( spx*(x2-x1)/3.0 );
@@ -1715,7 +1729,7 @@ void wxVtk2DBaseView::SetInteractorStyleImage(vtkInteractorStyleBaseView *intera
        iren->SetInteractorStyle(interactorstylebaseview);
        interactorstylebaseview->SetwxVtkBaseView(this);        
 
-       vtkMaracasImageViewer2Callback *cbk = vtkMaracasImageViewer2Callback::New();
+       vtkMaracasImageViewer2Callback * cbk = vtkMaracasImageViewer2Callback::New();
        cbk->IV = _imageViewer2XYZ->GetVtkImageViewer2();
        interactorstylebaseview->AddObserver( vtkCommand::WindowLevelEvent, cbk );
        interactorstylebaseview->AddObserver( vtkCommand::StartWindowLevelEvent, cbk );
@@ -1792,7 +1806,7 @@ void wxVtk3DBaseView::Configure()
        if (_configure==false)
        {
                _configure=true;
-               wxVtkBaseView::Configure();
+               //wxVtkBaseView::Configure();
                _aRenderer      = vtkRenderer::New();
                _renWin         = vtkRenderWindow::New();
                _renWin->AddRenderer(_aRenderer);
@@ -1826,10 +1840,18 @@ void wxVtk3DBaseView::Configure()
                // (ResetCamera() method) this vector is used to position the camera
                // to look at the data in this direction.
                _aCamera = vtkCamera::New();
+
+//EED 17Avril2009      
+/*
                _aCamera->SetViewUp (0, 0, -1);
                _aCamera->SetPosition (0, 1, 0);
+ */
+               _aCamera->SetViewUp (0, 1, 0);
+               _aCamera->SetPosition (0, 0, 1);
+               
                _aCamera->SetFocalPoint (0, 0, 0);
                _aCamera->ComputeViewPlaneNormal();
+
        }
 }
 //-------------------------------------------------------------------