X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FInterface_ManagerContour_NDimensions%2FwxContourMainFrame.cxx;fp=lib%2FInterface_ManagerContour_NDimensions%2FwxContourMainFrame.cxx;h=2bf2f0a825bec796a7ee39ed520f7c09bf3d671a;hb=866b5d203f30800ea0c9c7ab22901776c695ffd0;hp=ef396dc2264adba9c3b4b1c05dd15e5f7a76ea7f;hpb=68f065a14e782c42c60c7378f8f18c353bc7d9ac;p=creaContours.git diff --git a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx index ef396dc..2bf2f0a 100644 --- a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx +++ b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx @@ -981,6 +981,46 @@ void wxContourMainFrame::onLoad() } +void wxContourMainFrame::SetZForAllContours(int pz) +{ + printf("EED wxContourMainFrame::SetZForAllContours\n"); + + //-- Normal Contours + + std::vector< std::string > lstNameThings; + int i,sizeLstNameThings; + int ii,sizeLstPoints; + + lstNameThings = kernelManager->GetLstNameThings(); + sizeLstNameThings = lstNameThings.size(); + for (i=0 ; igetOutlineByKeyName(lstNameThings[i]); + sizeLstPoints = manualModel->GetSizeLstPoints(); + for (ii=0 ; iiGetManualPoint(ii)->SetPointZ(-900); + }// for ii list of points + }// for i list of Things + + //-- Static Contours + + lstNameThings = kernelManager->GetLstNameThingsStatic(); + sizeLstNameThings = lstNameThings.size(); + for (i=0 ; igetOutlineByKeyName(lstNameThings[i]); + sizeLstPoints = manualModel->GetSizeLstPoints(); + for (ii=0 ; iiGetManualPoint(ii)->SetPointZ(-900); + }// for ii list of points + }// for i list of static things +} + + + void wxContourMainFrame::onLoadContours(std::string fileNameContourROI, bool interactiveInterface) { char tmp[255]; @@ -1014,6 +1054,10 @@ void wxContourMainFrame::onLoadContours(std::string fileNameContourROI, bool int fscanf(pFile,"%s",tmp); // 1.0.3 || 1.0.2 || 1.0.1 || 1.0.0 std::string version(tmp); + +printf("EED wxContourMainFrame::onLoadContours version%s \n", version.c_str() ); + + //AD:02-06-09 _tmpReadFileTypeOfTransformation=-1; if (version=="1.0.3") @@ -1021,15 +1065,16 @@ void wxContourMainFrame::onLoadContours(std::string fileNameContourROI, bool int readDimSpc(pFile,interactiveInterface); // DimSpc interactive ON openContours(pFile,pFileData,false); openContours(pFile,pFileData,true); //Load StaticContours - } + } if (version=="1.0.2") { //EED001 - readDimSpc(pFile,interactiveInterface); // DimSpc interactive ON + readDimSpc(pFile,interactiveInterface); // DimSpc interactive ON openContours(pFile,pFileData,false); - readDimSpc(pFile,false); // DimSpc interactive OFF - openContours(pFile,pFileData,true); //Load StaticContours + readDimSpc(pFile,false); // DimSpc interactive OFF + openContours(pFile,pFileData,true); // Load StaticContours + SetZForAllContours(-900); } //AD:02-06-09 @@ -1054,7 +1099,6 @@ void wxContourMainFrame::onLoadContours(std::string fileNameContourROI, bool int } _theViewPanel->getSceneManager()->removeSceneContours(); changeInstant(); - } @@ -1229,7 +1273,7 @@ void wxContourMainFrame::readDimSpc(FILE *pFile, bool interactiveOption) //Compare Spacing and Dims in X and Y (Necessary in Z?) - Just for Version 2 if (imageDim[0]!=_tmpReadFileImageDim[0] || imageDim[1]!=_tmpReadFileImageDim[1] || imageSpac[0]!=_tmpReadFileImageSpac[0] || imageSpac[1]!=_tmpReadFileImageSpac[1]) { - wxDialog* dial = new wxDialog (this,-1,_T("Tools"),wxDefaultPosition, wxSize(260,160)); + wxDialog* dial = new wxDialog (this,-1,_T("Tools"),wxDefaultPosition, wxSize(460,360)); wxSizer* buttonsSizer = dial->CreateSeparatedButtonSizer(wxOK|wxCANCEL); wxBoxSizer *dialSizer = new wxBoxSizer(wxVERTICAL); @@ -3260,3 +3304,106 @@ void wxContourMainFrame::SetFileLocation(std::string newFileLocation) std::cout<<"GETFILELOCATION:"<<_fileLocation<)_theViewPanel->getSceneManager()->getSelectedObjects() , + flipDirection + ); + +} + +void wxContourMainFrame::FlipActualSliceContours(int flipDirection) +{ + printf("EED wxContourMainFrame::FlipActualSliceContours flipDirection=%d \n", flipDirection ); + FlipLstOfContours( + (std::vector)_theViewPanel->getSceneManager()->GetlstContoursNameActualSlice() , + flipDirection + ); +} + +void wxContourMainFrame::FlipAllContours(int flipDirection) +{ + printf("EED wxContourMainFrame::FlipAllContours flipDirection=%d \n", flipDirection ); + FlipLstOfContours( + kernelManager->GetLstNameThings() , + flipDirection + ); +} + +void wxContourMainFrame::FlipLstOfContours(std::vector lstNameThings, int flipDirection) +{ + int ext[6]; + getImageData()->GetExtent(ext); + int sizeX = ext[1]-ext[0]; + int sizeY = ext[3]-ext[2]; + + + int i,sizeLstNameThings; + int ii,sizeLstPoints; + + sizeLstNameThings = lstNameThings.size(); + for (i=0 ; igetOutlineByKeyName(lstNameThings[i]); + if (flipDirection==0) + { + manualModel->Transform_Ax_Plus_B(-1,sizeX,1,0 ); + } else { + manualModel->Transform_Ax_Plus_B(1,0,-1,sizeY ); + } + }// for i list of Things + + //-- Static Contours + + lstNameThings = kernelManager->GetLstNameThingsStatic(); + sizeLstNameThings = lstNameThings.size(); + for (i=0 ; igetOutlineByKeyName(lstNameThings[i]); + if (flipDirection==0) + { + manualModel->Transform_Ax_Plus_B(-1,sizeX,1,0 ); + } else { + manualModel->Transform_Ax_Plus_B(1,0,-1,sizeY ); + } + }// for i list of static things +} + +void wxContourMainFrame::FlipContours(int typeContourFlip, int flipDirection) +{ + printf("EED wxContourMainFrame::FlipContours( %d , %d ) \n",typeContourFlip, flipDirection ); + + saveState(); + + if (typeContourFlip==0) // + { + FlipSelectedContours(flipDirection); + } + + if (typeContourFlip==1) // + { + FlipActualSliceContours(flipDirection); + } + + if (typeContourFlip==2) // + { + FlipAllContours(flipDirection); + } + RefreshInterface(); +} + + + + +