]> Creatis software - creaVtk.git/blobdiff - bbtk_creaVtk_PKG/src/bbcreaVtkScalarsToColors.cxx
#3487 BUG spacing in PolyDataToImage box
[creaVtk.git] / bbtk_creaVtk_PKG / src / bbcreaVtkScalarsToColors.cxx
index c8ec324d11e1a0a3bc7e9f25c065cd039431948c..17780e12aba3d08fa9263c52e0a951141be5a448 100644 (file)
@@ -227,9 +227,9 @@ void ScalarsToColors::Process()
 //    std::cout << "Output value = " <<bbGetOutputOut() << std::endl;
   
 
-       if (firsttime==true)
-       {
-               firsttime=false;
+//     if (firsttime==true)
+//     {
+//             firsttime=false;
                // Create the color map
                if ((bbGetInputType()==0) || (bbGetInputType()==100) )
                {
@@ -238,6 +238,8 @@ void ScalarsToColors::Process()
                        {
                                colorLookupTable->SetRange( bbGetInputRange()[0],bbGetInputRange()[1]);
 //                             colorLookupTable->SetTableRange( bbGetInputRange()[0],bbGetInputRange()[1]);
+                               colorLookupTable->UseBelowRangeColorOn();
+                               colorLookupTable->UseAboveRangeColorOn();
                        } else {
                                colorLookupTable->SetRange(0,255);
                        }
@@ -250,19 +252,33 @@ void ScalarsToColors::Process()
                        int iLookTable;
                        for (iLookTable = 0; iLookTable<NumberOfColorsHalf; iLookTable++)
                        {
-                               colorLookupTable->GetTableValue(      iLookTable, rgba1);
-                               colorLookupTable->GetTableValue(NumberOfColors-1-iLookTable, rgba2);
-                               colorLookupTable->SetTableValue(NumberOfColors-1-iLookTable , rgba1[0],rgba1[1],rgba1[2],rgba1[3]);
-                               colorLookupTable->SetTableValue(      iLookTable , rgba2[0],rgba2[1],rgba2[2],rgba2[3]);
+                               colorLookupTable->GetTableValue(                         iLookTable, rgba1      );
+                               colorLookupTable->GetTableValue(NumberOfColors-1-iLookTable, rgba2      );
+                               colorLookupTable->SetTableValue(NumberOfColors-1-iLookTable, rgba1[0],rgba1[1],rgba1[2],rgba1[3]        );
+                               colorLookupTable->SetTableValue(                         iLookTable, rgba2[0],rgba2[1],rgba2[2],rgba2[3]        );
                        } // for iLookTable     
-                       double rgba[4];
-                       colorLookupTable->GetTableValue(0,rgba);
-                       rgba[3]=0;
-                       colorLookupTable->SetTableValue(0,rgba);
                        
                        // Transparency
                        if (bbGetInputType()==0)   
                        {
+                               // First Element
+                               double rgba[4];
+                               colorLookupTable->GetTableValue(0,rgba);
+                               rgba[3]=0;
+                               colorLookupTable->SetTableValue(0,rgba);
+
+                               colorLookupTable->UseBelowRangeColorOn();
+                               colorLookupTable->UseAboveRangeColorOn();
+                               if (bbGetInputBelowAboveRangeTransparence()==true)
+                               {
+                                       colorLookupTable->SetBelowRangeColor(1,1,1,0);  // White transparent 
+                                       colorLookupTable->SetAboveRangeColor(1,1,1,0);  // White transparent 
+                               } else {
+                                       colorLookupTable->SetBelowRangeColor(1,1,1,1);  // White transparent 
+                                       colorLookupTable->SetAboveRangeColor(1,1,1,1);  // White transparent 
+                               }
+                               
+                               // Middle  range
                                int i,iMax=(NumberOfColors/16)*4;
                                for (i=0;i<iMax;i++)
                                {
@@ -286,7 +302,19 @@ void ScalarsToColors::Process()
                        if (bbGetInputRange().size()==2)
                        {
                                colorLookupTable->SetRange( bbGetInputRange()[0],bbGetInputRange()[1]);
-//                             colorLookupTable->SetTableRange( bbGetInputRange()[0],bbGetInputRange()[1]);
+//                             colorLookupTable->SetTableRange( bbGetInputRange()[0],bbGetInputRange()[1]);   ????????
+//                             colorLookupTable->SetBelowRangeColor(1,1,1,1);  // White transparent 
+//                             colorLookupTable->SetAboveRangeColor(1,1,1,1);  // White transparent 
+                               colorLookupTable->UseBelowRangeColorOn();
+                               colorLookupTable->UseAboveRangeColorOn();
+                               if (bbGetInputBelowAboveRangeTransparence()==true)
+                               {
+                                       colorLookupTable->SetBelowRangeColor(1,1,1,0);  // White transparent 
+                                       colorLookupTable->SetAboveRangeColor(1,1,1,0);  // White transparent 
+                               } else {
+                                       colorLookupTable->SetBelowRangeColor(1,1,1,1);  // White transparent 
+                                       colorLookupTable->SetAboveRangeColor(1,1,1,1);  // White transparent 
+                               }
                        } else {
                                colorLookupTable->SetRange(0,255);
                        }
@@ -297,6 +325,7 @@ void ScalarsToColors::Process()
                        // Transparency
                        if (bbGetInputType()==1) 
                        {
+                               // First Element
                                double rgba[4];
                                colorLookupTable->GetTableValue(0,rgba);
                                rgba[3]=0;
@@ -323,7 +352,7 @@ void ScalarsToColors::Process()
                } // If Type 3
 
 
-       } // firsttime
+//     } // firsttime
        double rgb[3];
        std::vector<double>colorRGB;
        _scalarstocolors->GetColor( bbGetInputScalarValue() , rgb );
@@ -349,7 +378,8 @@ void ScalarsToColors::bbUserSetDefaultValues()
    range.push_back( 1 );
        bbSetInputRange(range);
    bbSetInputScalarValue(0);
-   firsttime           = true;
+   bbSetInputBelowAboveRangeTransparence(true);
+//   firsttime         = true;
    _scalarstocolors    = NULL;
 }
 //=====