X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FInterface_ManagerContour_NDimensions%2FwxContourViewPanel.cxx;h=de7b90660a8eb27c230f8b4a4736f2bcbef7fbeb;hb=d8ae77db08ab2e951c0e984c20fc47b615744abb;hp=b1d05679baff70d22551d1164534789e4890adea;hpb=28671ae02163f2b674da599a98a128f58dfead88;p=creaContours.git diff --git a/lib/Interface_ManagerContour_NDimensions/wxContourViewPanel.cxx b/lib/Interface_ManagerContour_NDimensions/wxContourViewPanel.cxx index b1d0567..de7b906 100644 --- a/lib/Interface_ManagerContour_NDimensions/wxContourViewPanel.cxx +++ b/lib/Interface_ManagerContour_NDimensions/wxContourViewPanel.cxx @@ -58,6 +58,8 @@ DEFINE_EVENT_TYPE( wxINSTANT_CHANGE ) { theShowingImage->GetSpacing(last_spacing); showingVID = theShowingImage; + _before = false; + _after = false; int gapH = 20; int gapV = 10; _verticalConceptName = ""; @@ -66,7 +68,6 @@ DEFINE_EVENT_TYPE( wxINSTANT_CHANGE ) createVerticalBar(1,200); createViewPanel(); _eventHandler = NULL; - wxFlexGridSizer * panelSizer = new wxFlexGridSizer(1,4, gapV, gapH); //EED 2017-09-16 Migration wxWidgets 2.8 to 3.0 #if wxMAJOR_VERSION <= 2 @@ -80,7 +81,6 @@ DEFINE_EVENT_TYPE( wxINSTANT_CHANGE ) panelSizer->AddSpacer(gapV); panelSizer->Add(theViewPanel, 1, wxEXPAND); panelSizer->AddSpacer(gapV); - outSizer = new wxFlexGridSizer(3, 1, gapH, gapV); //EED 2017-09-16 Migration wxWidgets 2.8 to 3.0 #if wxMAJOR_VERSION <= 2 @@ -93,10 +93,8 @@ DEFINE_EVENT_TYPE( wxINSTANT_CHANGE ) outSizer->Add( _horizontalBar, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT|wxTOP); outSizer->Add( panelSizer, 1, wxEXPAND); outSizer->AddSpacer(gapH); - _horizontalBar->setDeviceBlitStart( _verticalBar->GetWidth() + 2*gapH, gapV); _horizontalBar->setDeviceEndMargin( 2*gapH+10 ); - //Connecting the events to the horizontal bar Connect(_horizontalBar->GetId(),wxEVT_TSBAR,(wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onBarrange_Horizontal ); Connect(_horizontalBar->GetId(),wxEVT_TSBAR_ACTUAL,(wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onActualChange_Bar_Horizontal ); @@ -140,10 +138,11 @@ DEFINE_EVENT_TYPE( wxINSTANT_CHANGE ) Connect( wxID_ANY, wxEVT_START_CREATE_ROI, (wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onCreateROI ); Connect( wxID_ANY, wxEVT_STOP_CREATE_ROI, (wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onStopCreateROI ); Connect( wxID_ANY, wxEVT_CHANGED_DEEP, (wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onChangedDeep ); - Connect( wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxContourViewPanel :: onActionButtonPressed ); + Connect( wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxContourViewPanel :: onActionButtonPressed ); } - wxVtkBaseView_SceneManager* wxContourViewPanel::getSceneManager(){ + wxVtkBaseView_SceneManager* wxContourViewPanel::getSceneManager() + { return _sceneManager; } @@ -227,6 +226,13 @@ DEFINE_EVENT_TYPE( wxINSTANT_CHANGE ) return GetwxVtkMPR2DView()->GetVtkmprbasedata()->GetZ(); } + //------------------------------------------------------------------------------------------------------------ + void wxContourViewPanel::SetXY(int x, int y) + { + GetwxVtkMPR2DView()->GetVtkmprbasedata()->SetX(x); + GetwxVtkMPR2DView()->GetVtkmprbasedata()->SetY(y); + } + //------------------------------------------------------------------------------------------------------------ void wxContourViewPanel::Refresh() { @@ -706,11 +712,58 @@ DEFINE_EVENT_TYPE( wxINSTANT_CHANGE ) void wxContourViewPanel::addNameWrapperToScene() { - int size = wxContourMainFrame::getInstance()->getNamesWrappingSize(); - for(int i = 0; i < size;i++){ + int i,size = wxContourMainFrame::getInstance()->getNamesWrappingSize(); + for(i = 0; i < size;i++) + { std::string name = wxContourMainFrame::getInstance()->getNameWrapping(i); _sceneManager->addToScene(name, true, true, true, false, false ); - } + } // for i + + std::vector tempVector; + wxContourMainFrame::getInstance()->getInstantVector( tempVector ); + + if (_before==true) + { + std::vector lstNameBefor; + // Contours Befor + for (i=tempVector[1]-1; i>=0; i--) + { + lstNameBefor = wxContourMainFrame::getInstance()->getOutlinesName( i ); + size = lstNameBefor.size(); + if (size!=0) + { + i=-1; + } //if size + } // for + for(i = 0; i < size;i++) + { + // ctrol active showCtr + _sceneManager->addToScene(lstNameBefor[i], true, true, false, false, false ); + } // for i + } // if _before Contour + + if (_after==true) + { + std::vector lstNameAfter; + // Contours After + int ext[6]; + getImageData()->GetExtent(ext); + int dimZ=ext[5]-ext[4]+1; + for (i=tempVector[1]+1; igetOutlinesName( i ); + size = lstNameAfter.size(); + if (size!=0) + { + i=dimZ; + } //if size + } // for + for(i = 0; i < size;i++) + { + // ctrol active showCtr + _sceneManager->addToScene(lstNameAfter[i], true, true, false, false, false ); + } // for i + } // if _after Contour } std::vector wxContourViewPanel::getSelectedObjects(){ @@ -764,21 +817,20 @@ DEFINE_EVENT_TYPE( wxINSTANT_CHANGE ) void wxContourViewPanel::onBrigthnessColorWindowLevel(int colorwindow,int windowlevel) { wxVtk2DBaseView *wxvtk2dbaseview = (wxVtk2DBaseView*)getWxVtkBaseView(); - vtkImageViewer2 *imageviewer = wxvtk2dbaseview->_imageViewer2XYZ->GetVtkImageViewer2(); - imageviewer->SetColorWindow(colorwindow); - imageviewer->SetColorLevel(windowlevel); + wxvtk2dbaseview->SetColorWindow( colorwindow ); + wxvtk2dbaseview->SetColorLevel( windowlevel ); } void wxContourViewPanel::onInterpolation(bool interpolate) { wxVtk2DBaseView *wxvtk2dbaseview = (wxVtk2DBaseView*)getWxVtkBaseView(); - vtkImageViewer2 *imageviewer = wxvtk2dbaseview->_imageViewer2XYZ->GetVtkImageViewer2(); + wxvtk2dbaseview->SetInterpolate( interpolate ); + } - if (interpolate){ - imageviewer->GetImageActor()->InterpolateOn(); - } else { - imageviewer->GetImageActor()->InterpolateOff(); - } + void wxContourViewPanel::onBeforeAfterContour(bool before, bool after) + { + _before = before; + _after = after; } void wxContourViewPanel::GetPointsOfActualContour( std::vector *vecX, std::vector *vecY, std::vector *vecZ )