X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk%2Fsrc%2FbbcreaMaracasVisuManualPaint_Model.cxx;h=e31a64df99e6ab1b6b8a3e7b486148c8d1a3c0eb;hb=228dd2fe51b414e56427b93a1d99a35e568c7033;hp=87c4312f5cdca38e73722cf864e3788c0f15df20;hpb=439cc05f12e61d0ba090ec0c2ba8701d382238d7;p=creaMaracasVisu.git diff --git a/bbtk/src/bbcreaMaracasVisuManualPaint_Model.cxx b/bbtk/src/bbcreaMaracasVisuManualPaint_Model.cxx index 87c4312..e31a64d 100644 --- a/bbtk/src/bbcreaMaracasVisuManualPaint_Model.cxx +++ b/bbtk/src/bbcreaMaracasVisuManualPaint_Model.cxx @@ -1,8 +1,12 @@ //===== // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) //===== + +#include "creaVtk_MACROS.h" #include "bbcreaMaracasVisuManualPaint_Model.h" #include "bbcreaMaracasVisuPackage.h" + + namespace bbcreaMaracasVisu { @@ -11,6 +15,8 @@ BBTK_BLACK_BOX_IMPLEMENTATION(ManualPaint_Model,bbtk::AtomicBlackBox); //===== // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) //===== + + void ManualPaint_Model::Process() { @@ -33,26 +39,84 @@ void ManualPaint_Model::Process() manualpaintmodel->SetActive( bbGetInputActive() ); manualpaintmodel->SetTool( bbGetInputTool() ); manualpaintmodel->Set2D3D( bbGetInput2D3D() ); - manualpaintmodel->SetImage( bbGetInputImage() ); + manualpaintmodel->SetImages( bbGetInputImage(),bbGetInputImage2() ); manualpaintmodel->SetGrayLevel( bbGetInputGrayLevel() ); manualpaintmodel->SetDirection( bbGetInputDirection() ); manualpaintmodel->SetBrushSize( bbGetInputBrushSize() ); manualpaintmodel->SetBrushForm( bbGetInputBrushForm() ); manualpaintmodel->SetToleranceFill( bbGetInputToleranceFill() ); - manualpaintmodel->SetDistanceFill( bbGetInputDistanceFill() ); + manualpaintmodel->SetDistanceFill( bbGetInputDistanceFill() ); manualpaintmodel->SetRangeMin( bbGetInputRange()[0] ); manualpaintmodel->SetRangeMax( bbGetInputRange()[1] ); - manualpaintmodel->PaintImage( bbGetInputPoint()[0] , bbGetInputPoint()[1] , bbGetInputPoint()[2] ); + if (bbGetInputPoint().size()==3) + { + manualpaintmodel->PaintImage( bbGetInputPoint()[0] , bbGetInputPoint()[1] , bbGetInputPoint()[2] ); + } // if Points + + if ( bbGetInputByLstPointsX().size()!=0 ) + { + int i,size = bbGetInputByLstPointsX().size(); + for (i=0;iPaintImage( bbGetInputByLstPointsX()[i] , bbGetInputByLstPointsY()[i] , bbGetInputByLstPointsZ()[i] ); + } // for + }// if ByLstPointsX + + if (bbGetInputByImagePoints()!=NULL) + { +// int ia,ja,ka; +// int ii,jj,kk; + int ext[6]; + bbGetInputByImagePoints()->GetWholeExtent(ext); + int dimX=ext[1]-ext[0]+1; + int dimY=ext[3]-ext[2]+1; + int dimZ=ext[5]-ext[4]+1; + + DEF_POINTER_IMAGE_VTK_CREA(vBIP,sSBIP,pBIP,sTBIP,bbGetInputByImagePoints()); + DEF_POINTER_IMAGE_VTK_CREA(vI2,sSI2,pI2,sTI2,bbGetInputImage2()); + +//#pragma omp parallel for + + int i,j,k; + for (k=0;k0) + { + GETVALUE_VTK_CREA(vI2,pI2,sTI2) + if (vI2==0) + { + manualpaintmodel->PaintImage(i,j,k); + } // vI2 + } // vBIP + pBIP = pBIP + sSBIP; + pI2 = pI2 + sSI2; + }// for i + }// for j + }// for k + + printf("ManualPaint_Model %d%\n", 100 ); + } // if ByImagePoints } else { printf("EED Warning: Image not set. Box creaMaracasVisu::ManualPaint_Model (BBTK) \n"); } // if -// manualpaintmodel-> GetScalarRange(double * range); -// manualpaintmodel-> SetUndoImage(); //DFCH -// manualpaintmodel-> Undo(); //DFCH -// manualpaintmodel-> Redo(); //DFCH - - + if (bbGetInputImage2()!=NULL) + { + bbSetOutputOut( bbGetInputImage2() ); + } else if (bbGetInputImage()!=NULL) { + bbSetOutputOut( bbGetInputImage() ); + } else { + bbSetOutputOut( NULL ); + } } //===== // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) @@ -67,6 +131,7 @@ void ManualPaint_Model::bbUserSetDefaultValues() bbSetInputTool(1); // Paint bbSetInput2D3D(1); // 3D bbSetInputImage(NULL); + bbSetInputImage2(NULL); bbSetInputGrayLevel(100); bbSetInputDirection(2); // XY bbSetInputBrushSize(3); @@ -84,6 +149,8 @@ void ManualPaint_Model::bbUserSetDefaultValues() range.push_back(0); range.push_back(200); bbSetInputRange(range); + + bbSetInputByImagePoints(NULL); } //=====