X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fvtk%2Fsrc%2FbbvtkSurfaceTexture.cxx;h=ef9d87ed0dcc7d076a21e568c6cb5301bb4755cd;hb=9bf93d26c92029689cb5da02822edb68d5835864;hp=c6d9bbf50401c270884b3591906920aad15ecd9f;hpb=dcf3f055c0aceac36643fb3f2c824abb691fe47e;p=bbtk.git diff --git a/packages/vtk/src/bbvtkSurfaceTexture.cxx b/packages/vtk/src/bbvtkSurfaceTexture.cxx index c6d9bbf..ef9d87e 100644 --- a/packages/vtk/src/bbvtkSurfaceTexture.cxx +++ b/packages/vtk/src/bbvtkSurfaceTexture.cxx @@ -17,8 +17,6 @@ BBTK_BLACK_BOX_IMPLEMENTATION(SurfaceTexture,bbtk::AtomicBlackBox); //===== void SurfaceTexture::Process() { -printf("EED SurfaceTexture:Process() Start\n"); - // THE MAIN PROCESSING METHOD BODY // Here we simply set the input 'In' value to the output 'Out' // And print out the output value @@ -34,39 +32,37 @@ printf("EED SurfaceTexture:Process() Start\n"); // bbSetOutputOut( bbGetInputIn() ); // std::cout << "Output value = " <GetSpacing(spc); bbGetInputImage()->GetScalarRange(range); - //EED 2017-01-01 Migration VTK7 #if VTK_MAJOR_VERSION <= 5 bbGetInputImage()->GetWholeExtent(ext); #else bbGetInputImage()->GetExtent(ext); #endif - int maxX = ext[1]-ext[0]+1; int maxY = ext[3]-ext[2]+1; int maxZ = ext[5]-ext[4]+1; - if (firsttime==true) + if (backColorType!=bbGetInputColorType() ) { - firsttime=false; + backColorType = bbGetInputColorType(); + if (colors!=NULL) { colors->Delete(); } +// if (colorLookupTable!=NULL) { colorLookupTable->Delete(); } +// if (colorLookupTableWL!=NULL) { colorLookupTableWL->Delete(); } + + +// firsttime=false; // Generate the colors for each point based on the color map colors = vtkUnsignedCharArray::New(); colors->SetNumberOfComponents(3); - colors->SetName("Colors"); - +// colors->SetName("ColorsEED"); // Create the color map if (bbGetInputColorType()==1) { @@ -84,7 +80,6 @@ printf("EED SurfaceTexture:Process() Start\n"); { colorLookupTable->GetTableValue( iLookTable, rgba1); colorLookupTable->GetTableValue(256-1-iLookTable, rgba2); - colorLookupTable->SetTableValue(256-1-iLookTable , rgba1[0],rgba1[1],rgba1[2],rgba1[3]); colorLookupTable->SetTableValue( iLookTable , rgba2[0],rgba2[1],rgba2[2],rgba2[3]); } // for iLookTable @@ -109,7 +104,6 @@ printf("EED SurfaceTexture:Process() Start\n"); 1.0); } */ - double rgba1[4]; double rgba2[4]; int i,j; @@ -123,10 +117,7 @@ printf("EED SurfaceTexture:Process() Start\n"); colorLookupTable->SetTableValue(j, rgba1[0],rgba1[1],rgba1[2],rgba1[3]); colorLookupTable->SetTableValue(i, rgba2[0],rgba2[1],rgba2[2],rgba2[3]); } // for iLookTable - } // type 2 - - if (bbGetInputColorType()==3) { int tableSize=13; @@ -134,7 +125,6 @@ printf("EED SurfaceTexture:Process() Start\n"); colorLookupTable->SetNumberOfTableValues(tableSize); colorLookupTable->SetTableRange(6,range[1]); colorLookupTable->Build(); - colorLookupTable->SetTableValue(0, 1 ,1 ,1 ,1); colorLookupTable->SetTableValue(1, 1 ,0 ,0 ,1); colorLookupTable->SetTableValue(2, 0 ,1 ,0 ,1); @@ -142,49 +132,37 @@ printf("EED SurfaceTexture:Process() Start\n"); colorLookupTable->SetTableValue(4, 0 ,1 ,1 ,1); colorLookupTable->SetTableValue(5, 1 ,1 ,0 ,1); colorLookupTable->SetTableValue(6, 1 ,0 ,1 ,1); - colorLookupTable->SetTableValue(7, 0.5,1 ,1 ,1); colorLookupTable->SetTableValue(8, 1 ,0.5,1 ,1); colorLookupTable->SetTableValue(9, 1 ,1 ,0.5,1); - colorLookupTable->SetTableValue(10,1 ,0.5,0.5,1); colorLookupTable->SetTableValue(11,0.5,0.5,1 ,1); - } // type 3 - - - - } // firsttime - - + + + bbGetInputMesh()->GetPointData()->SetScalars(colors); - if (bbGetInputColorType()==1) { colorLookupTableWL->SetLevel( bbGetInputColorLevel() ); colorLookupTableWL->SetWindow( bbGetInputColorWindow() ); } - - if (bbGetInputExternalLookupTable()!=NULL) { generalLookupTable = bbGetInputExternalLookupTable(); } else { generalLookupTable = colorLookupTable; } - int missingpoints = bbGetInputMesh()->GetNumberOfPoints() - colors->GetDataSize()/colors->GetNumberOfComponents(); for(i = 0; i < missingpoints; i++) { colors->InsertNextTuple3(0,0,0); } - if (bbGetInputTransform()!=NULL) { bbGetInputTransform()->Update(); } - double gl; double p1[3]; double p2[3]; @@ -200,8 +178,7 @@ printf("EED SurfaceTexture:Process() Start\n"); } p2[0] = p2[0]/spc[0]; p2[1] = p2[1]/spc[1]; - p2[2] = p2[2]/spc[2]; - + p2[2] = p2[2]/spc[2]; if ( (p2[0]>=0) && (p2[0]=0) && (p2[1]=0) && (p2[2]GetScalarComponentAsDouble(round(p2[0]), round(p2[1]), round(p2[2]),0); @@ -212,12 +189,9 @@ printf("EED SurfaceTexture:Process() Start\n"); colors->SetTuple3(i,255*dcolor[0],255*dcolor[1],255*dcolor[2]); } // for i bbGetInputMesh()->Modified(); - } // if Image && Mesh -printf("EED SurfaceTexture:Process() End\n"); - - } + //===== // 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) //===== @@ -234,7 +208,7 @@ void SurfaceTexture::bbUserSetDefaultValues() bbSetInputTransform(NULL); bbSetInputExternalLookupTable(NULL); - firsttime = true; + backColorType = -999; colors = NULL; colorLookupTable = NULL; colorLookupTableWL = NULL;