X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FvtkPlane2DView.cxx;h=b957195c09bd139df35813d271ee183da09a0ebe;hb=b80b4dcc301c1c2c63c0f76cd06b0a434350f7a7;hp=f0cbc97744c4d841c05e21f5150e7aaf0ce4d67c;hpb=97dee12beaba08089198ed7bab9544b8b4c4f240;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkPlane2DView.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkPlane2DView.cxx index f0cbc97..b957195 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkPlane2DView.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkPlane2DView.cxx @@ -62,10 +62,10 @@ vtkPlane2DView::vtkPlane2DView( wxWindow *parent) _imageResult = NULL; // line horizontal - _pts = NULL; - _lineActor = NULL; - _lineMapper = NULL; - _pd = NULL; + _pts = NULL; + _lineActor = NULL; + _lineMapper = NULL; + _pd = NULL; _interactorstyleplane2D = false; } @@ -73,13 +73,11 @@ vtkPlane2DView::vtkPlane2DView( wxWindow *parent) vtkPlane2DView::~vtkPlane2DView() { ResetPlane(); - // Horizontal Line if (_pts != NULL) { _pts -> Delete(); } if (_lineActor != NULL) { _lineActor -> Delete(); } if (_lineMapper != NULL) { _lineMapper -> Delete(); } if (_pd != NULL) { _pd -> Delete(); } - _transform1 -> Delete(); _transform2 -> Delete(); } @@ -97,12 +95,14 @@ void vtkPlane2DView::ResetBack() } //------------------------------------------------------------------- -void vtkPlane2DView::ResetPlane(){ +void vtkPlane2DView::ResetPlane() +{ if (_pSource !=NULL) { _pSource -> Delete(); } if (_3Dslices !=NULL) { _3Dslices -> Delete(); } if (_stPoints !=NULL) { _stPoints -> Delete(); } if (_change !=NULL) { _change -> Delete(); } } + //------------------------------------------------------------------- vtkMPRBaseData *vtkPlane2DView::GetVtkmprbasedata() { @@ -158,7 +158,6 @@ void vtkPlane2DView::SetPSource(int sizeIma){ //------------------------------------------------------------------- void vtkPlane2DView::ExtractPlane() { - double x = GetVtkmprbasedata()->GetX(); double y = GetVtkmprbasedata()->GetY(); double z = GetVtkmprbasedata()->GetZ(); @@ -223,7 +222,6 @@ void vtkPlane2DView::ExtractPlane() } //------------------------------------------------------------------- - void vtkPlane2DView::Extract_One_PlaneVTK() { vtkImageData *imagedata = GetVtkmprbasedata()->GetImageData(); @@ -244,27 +242,22 @@ void vtkPlane2DView::Extract_One_PlaneVTK() } //------------------------------------------------------------------- - void vtkPlane2DView::Extract_MIP_PlaneVTK( /*double heightDefinition*/ ) { - int mipWidth; double sp; int sizeWidth = (_mip_width*2)+1 ; int deltaPixel; int iWidth,itmp,tmpSizeWith; - double spc[3]; vtkImageData *imagedata = GetVtkmprbasedata()->GetImageData(); SetPSource(_sizeIma); imagedata->GetSpacing(spc); - bool heightDefinition=false; if (_mip_width<3) { heightDefinition=true; } - if (heightDefinition==true) { mipWidth = _mip_width; @@ -277,14 +270,9 @@ void vtkPlane2DView::Extract_MIP_PlaneVTK( /*double heightDefinition*/ ) sizeWidth = tmpSizeWith; deltaPixel = 4; } - - - std::vector< vtkProbeFilter* > slicesLST; - _pSource->Push( -mipWidth * sp ); _pSource->Update(); - for ( iWidth=0 ; iWidthPush( sp ); } - if (_imageResult ==NULL) { _imageResult = vtkImageData::New(); @@ -306,20 +293,15 @@ void vtkPlane2DView::Extract_MIP_PlaneVTK( /*double heightDefinition*/ ) _imageResult -> AllocateScalars(); _imageResult -> Update(); } - unsigned short *pTemp; unsigned short *pResult; pResult = (unsigned short*)_imageResult->GetScalarPointer( 0 , 0 , 0 ); - int iPixels , sizePixels = _sizeIma*_sizeIma; for(iPixels=0 ; iPixelsGetOutput()->GetPointData()->GetScalars()->GetVoidPointer(0); - pResult = (unsigned short*)_imageResult->GetScalarPointer( 0 , 0 , 0 ); pResult[iPixels] = pTemp[iPixels]; - for (iWidth=1;iWidthGetOutput()->GetPointData()->GetScalars()->GetVoidPointer(0); @@ -329,7 +311,6 @@ void vtkPlane2DView::Extract_MIP_PlaneVTK( /*double heightDefinition*/ ) pResult[iPixels] = pTemp[iPixels]; } } - if (deltaPixel!=1) { for (itmp=1;itmpDelete(); } - _imageResult->Modified(); _imageViewer2XYZ->GetVtkImageViewer2()->SetInput ( _imageResult ); - } //------------------------------------------------------------------- @@ -377,13 +354,10 @@ void vtkPlane2DView::Configure( ) // // Actual version vtkInteractorStyleBaseView2D *style2D = vtkInteractorStyleBaseView2D::New(); - manualInteractorWindowLevel *_manualinteractorwindowlevel= new manualInteractorWindowLevel(); style2D->SetInteractorWindowLevel( _manualinteractorwindowlevel ); - vtkInteractorScrollZ *_vtkInteractorScrollZ = new vtkInteractorScrollZ(); style2D->SetInteractorScrollZ(_vtkInteractorScrollZ); - SetInteractorStyleImage( style2D ); // RaC @@ -447,6 +421,7 @@ void vtkPlane2DView::RotationStart() vtkTransform *transform = mprbasedata->GetTransformOrientation(); _transform1->SetMatrix( transform->GetMatrix() ); } + //------------------------------------------------------------------- void vtkPlane2DView::RotationDrag(double vx, double vy, bool ok_v, bool ok_ang) { @@ -480,6 +455,7 @@ void vtkPlane2DView::RotationDrag(double vx, double vy, bool ok_v, bool ok_ang) void vtkPlane2DView::Refresh( ) { ExtractPlane(); + UpdateColorWindowLevel(); wxVtkBaseView::Refresh(); } //------------------------------------------------------------------- @@ -559,19 +535,16 @@ void vtkPlane2DView::SetVisibleLine(bool ok) } _lineActor->GetProperty()->SetOpacity(opacity); } + // ---------------------------------------------------------------------------- void vtkPlane2DView::TransfromCoordViewWorld2(double &X, double &Y, double &Z) { double spc[3]; GetVtkmprbasedata()->GetImageData()->GetSpacing(spc); - double xx = X; double yy = Y; double zz = 0; - TransFromCoordScreenToWorld(xx,yy,zz); - - vtkTransform *transf1 = vtkTransform::New(); transf1->Identity(); vtkTransform *transf2 = GetVtkmprbasedata()->GetTransformOrientation(); @@ -582,10 +555,8 @@ void vtkPlane2DView::TransfromCoordViewWorld2(double &X, double &Y, double &Z) in[1] = xx - center; in[2] = yy - center; in[3] = 0; - transf1->MultiplyPoint(in,out); transf1->Delete(); - X = out[0] + GetVtkmprbasedata()->GetX() ; Y = out[1] + GetVtkmprbasedata()->GetY() ; Z = out[2] + GetVtkmprbasedata()->GetZ() ;