X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FwxMaracasSurfaceRenderingManagerDataMhd.cxx;h=58a5db3e135886d61ad18016c8dcbd0aebecffe1;hb=0e9c6cea471e235717da5cac8b924254ed3f4f75;hp=d3375e8c0a15dc0f7ca864bb204661dd076c2cae;hpb=ec6ff196f98cd988e2d29663f53fd69f75d0c49f;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRenderingManagerDataMhd.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRenderingManagerDataMhd.cxx index d3375e8..58a5db3 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRenderingManagerDataMhd.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRenderingManagerDataMhd.cxx @@ -1,5 +1,6 @@ #include "wxMaracasSurfaceRenderingManagerDataMhd.h" + #include "vtkStripper.h" wxMaracasSurfaceRenderingManagerDataMhd::wxMaracasSurfaceRenderingManagerDataMhd(vtkImageData* imagedata, std::string dataname, vtkRenderWindowInteractor* interactor) @@ -23,8 +24,10 @@ wxMaracasSurfaceRenderingManagerDataMhd::wxMaracasSurfaceRenderingManagerDataMhd _dataMapper = vtkPolyDataMapper::New( ); _dataMapper->ScalarVisibilityOff( ); _dataMapper->ImmediateModeRenderingOn(); + vtkActor* dataActor = vtkActor::New(); - if(_boxWidgetS1){ + //if(_boxWidgetS1){ + if(interactor){ _boxWidgetS1 = vtkBoxWidget::New(); _boxWidgetS1->SetInteractor( interactor ); @@ -32,9 +35,7 @@ wxMaracasSurfaceRenderingManagerDataMhd::wxMaracasSurfaceRenderingManagerDataMhd _boxWidgetS1->SetInput( this->_imagedata ); _boxWidgetS1->PlaceWidget(); - //_boxWidgetS1->AddObserver( vtkCommand::InteractionEvent , _vtkclipping3Ddataviewer->GetObserverS(i) ); - _boxWidgetS1->HandlesOn (); - _boxWidgetS1->Off(); + boxSurfaceObserver* observer = boxSurfaceObserver::New(); vtkStripper* striper = vtkStripper::New(); striper->SetInput( _cleanFilter->GetOutput() ); @@ -44,12 +45,17 @@ wxMaracasSurfaceRenderingManagerDataMhd::wxMaracasSurfaceRenderingManagerDataMhd _boxWidgetS1->SetInput(striper->GetOutput()); _boxWidgetS1->PlaceWidget(); + _boxWidgetS1->HandlesOn (); + _boxWidgetS1->On(); + _tissuePlanes = vtkPlanes::New(); int x1,x2,y1,y2,z1,z2; this->_imagedata->GetExtent(x1,x2,y1,y2,z1,z2); _tissuePlanes->SetBounds (x1,x2,y1,y2,z1,z2); + + _boxWidgetS1->GetPlanes( _tissuePlanes ); _tissueClipper = vtkClipPolyData::New(); @@ -57,29 +63,38 @@ wxMaracasSurfaceRenderingManagerDataMhd::wxMaracasSurfaceRenderingManagerDataMhd _tissueClipper->SetClipFunction( _tissuePlanes ); _tissueClipper->InsideOutOn( ); _dataMapper->SetInput( _tissueClipper->GetOutput() ); - + observer->SetPlanes( _tissuePlanes ); + observer->SetActor( dataActor ); + _boxWidgetS1->AddObserver( vtkCommand::InteractionEvent , observer ); + + + _boxWidgetS1->HandlesOn (); + _boxWidgetS1->On(); }else{ - _dataMapper->SetInput(_cleanFilter->GetOutput()); - + _dataMapper->SetInput(_cleanFilter->GetOutput()); } - vtkActor* dataActor = vtkActor::New(); + dataActor->SetMapper(_dataMapper); this->_prop3D = dataActor; + this->changeIsoValue(this->_maxgreylevel); } -wxMaracasSurfaceRenderingManagerDataMhd::~wxMaracasSurfaceRenderingManagerDataMhd(){ + +wxMaracasSurfaceRenderingManagerDataMhd::~wxMaracasSurfaceRenderingManagerDataMhd() +{ _cubesFilter->Delete(); _cleanFilter->Delete(); _dataMapper->Delete(); } -void wxMaracasSurfaceRenderingManagerDataMhd::UpdateSurface(){ +void wxMaracasSurfaceRenderingManagerDataMhd::UpdateSurface() +{ _cubesFilter->Update(); _cleanFilter->Update(); _dataMapper->Update();