X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FInterface_ManagerContour_NDimensions%2FwxContourViewPanel.cxx;h=059d7cecd1edce39c9fecbaa7da8c5cfab3d6125;hb=ef966ac5e14dc46db8fc657c7892c9af975eb2a3;hp=f0d33dd4656755af22c7b25f9ca7ff6b874ebc86;hpb=87001c540c1fbcdf21ea7f994d620c8341755848;p=creaContours.git diff --git a/lib/Interface_ManagerContour_NDimensions/wxContourViewPanel.cxx b/lib/Interface_ManagerContour_NDimensions/wxContourViewPanel.cxx index f0d33dd..059d7ce 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; + _showBeforeContour = false; + _showAfterContour = false; int gapH = 20; int gapV = 10; _verticalConceptName = ""; @@ -717,51 +719,72 @@ DEFINE_EVENT_TYPE( wxINSTANT_CHANGE ) _sceneManager->addToScene(name, true, true, true, false, false ); } // for i - -printf("EED \wxContourViewPanel::addNameWrapperToScene Clean this part of code ...\n"); -printf("EED \wxContourViewPanel::addNameWrapperToScene Clean this part of code ...\n"); -printf("EED \wxContourViewPanel::addNameWrapperToScene Clean this part of code ...\n"); -printf("EED \wxContourViewPanel::addNameWrapperToScene Clean this part of code ...\n"); -printf("EED \wxContourViewPanel::addNameWrapperToScene Clean this part of code ...\n"); -printf("EED \wxContourViewPanel::addNameWrapperToScene Clean this part of code ...\n"); -//EED 2019-12-05 -// falta buscar slice antes y despues para encontrar elementos -// falta cambiar de colores para antes y despues -// falta un flag que active y desactive esta opcion + _sceneManager->SetLabelNumberOfContours( "contours:"+std::to_string(size) ); std::vector tempVector; wxContourMainFrame::getInstance()->getInstantVector( tempVector ); - // Contours Befor - std::vector lstNameBefor = wxContourMainFrame::getInstance()->getOutlinesName(tempVector[1]-10); - size = lstNameBefor.size(); - for(i = 0; i < size;i++) + if (_showBeforeContour==true) { - // ctrol active showCtr - _sceneManager->addToScene(lstNameBefor[i], true, true, false, false, false ); - } // for i - - // Contours After - std::vector lstNameAfter = wxContourMainFrame::getInstance()->getOutlinesName(tempVector[1]+10); - size = lstNameAfter.size(); - for(i = 0; i < size;i++) + size=0; + 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 + +printf("EED wxContourViewPanel::addNameWrapperToScene A\n"); + if (_showAfterContour==true) { - // ctrol active showCtr - _sceneManager->addToScene(lstNameAfter[i], true, true, false, false, false ); - } // for i - + size=0; + 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 +printf("EED wxContourViewPanel::addNameWrapperToScene B\n"); } - std::vector wxContourViewPanel::getSelectedObjects(){ + std::vector wxContourViewPanel::getSelectedObjects() + { return _sceneManager->getSelectedObjects(); } - void wxContourViewPanel::RefreshInterface(){ + void wxContourViewPanel::RefreshInterface() + { getWxVtkBaseView()->Refresh(); } - vtkImageData* wxContourViewPanel::getImageData(){ + vtkImageData* wxContourViewPanel::getImageData() + { return _sceneManager->GetImageData(); } @@ -814,12 +837,24 @@ printf("EED \wxContourViewPanel::addNameWrapperToScene Clean this part of code wxvtk2dbaseview->SetInterpolate( interpolate ); } + void wxContourViewPanel::onBeforeAfterContour(bool before, bool after) + { + _showBeforeContour = before; + _showAfterContour = after; + } + + void wxContourViewPanel::onShowTextContour(bool show) + { + _sceneManager->SetShowTextContour( show ); + } + void wxContourViewPanel::GetPointsOfActualContour( std::vector *vecX, std::vector *vecY, std::vector *vecZ ) { _sceneManager->GetPointsOfActualContour(vecX, vecY, vecZ); } - void wxContourViewPanel::setImageSlice(int z){ + void wxContourViewPanel::setImageSlice(int z) + { vtkInteractorStyleBaseView* stylebaseview = (vtkInteractorStyleBaseView*) _sceneManager->getWxVtkViewBase()->GetInteractorStyleBaseView(); wxVtk2DBaseView* baseview = (wxVtk2DBaseView*)stylebaseview->GetWxVtk2DBaseView(); baseview->SetActualSlice(z);