]> Creatis software - bbtk.git/commitdiff
#3472 merge vtk8itk5wx3-mingw64
authorEduardo DAVILA <davila@creatis.insa-lyon.fr>
Fri, 10 Sep 2021 09:28:09 +0000 (11:28 +0200)
committerEduardo DAVILA <davila@creatis.insa-lyon.fr>
Fri, 10 Sep 2021 09:28:09 +0000 (11:28 +0200)
1  2 
kernel/src/bbtkWt.h
packages/vtk/src/bbvtkPolyDataToActor.cxx

diff --combined kernel/src/bbtkWt.h
index 5fd982a66761e6808d395864c41aa5b4a2ef9367,360260f85e0c96cedff0f004a12d3218e3f7e224..011f5980a8f1d4a014c56afb81c67e0a009f5441
@@@ -43,7 -43,7 +43,7 @@@
  // FOR bbtk WINDOWS CREATION/DESTRUCTION OBSERVATION 
  // BBTKWXSIG
  
- //EED 2020-04-21
+ //EED 2020-03-17
  //#include <boost/signal.hpp>
  #include <boost/signals2/signal.hpp>
  
@@@ -150,9 -150,9 +150,10 @@@ namespace bbt
      // The keyword 'signals' is also a macro in qt
      //    typedef boost::signals::trackable SignalObserver;
  
 +//EED 2020-04-21
  //    typedef boost::signals::trackable SignalObserver;
  //    typedef boost::signal<void ()>  Signal_type;
 -
++      
      typedef boost::signals2::trackable SignalObserver;
      typedef boost::signals2::signal<void ()>  Signal_type;
  
index c0fa2088e1ec3cb1243028150c806150b23a31e0,0002d6c097da8fa273ae7dbd89099e41b5fa8359..1ec9ff2cd7c62fa3cb42c76e7607a2ad88479175
  
  #include "vtkProperty.h"
  #include "vtkLinearTransform.h"
+ #include "vtkCleanPolyData.h"
+ #include "vtkFieldData.h"
  
  #include "bbvtkPolyDataToActor.h"
  #include "bbvtkPackage.h"
  
+ #include "vtkRenderWindow.h"
  
  namespace bbvtk
  {
@@@ -71,6 -74,9 +74,9 @@@
           bbSetInputScalarVisibility(false);
           polydatamapper = NULL;
           vtkactor       = NULL;
+          
+          bbSetInputScalarVisibilityOn_LookupTable(NULL);
+          bbSetInputScalarVisibilityOn_NameColorArray("");
     }
  
  
     {   
       polydatamapper = vtkPolyDataMapper::New();
       vtkactor       = vtkActor::New();
 -
  //     polydatamapper->SetInput(marchingcubes->GetOutput());
       vtkactor->SetMapper(polydatamapper);
 +//EED 2020-04-21 vtk8 deprecated
  //     polydatamapper->ImmediateModeRenderingOn();
     }
  
        }
        
        
+       
+       
+ /*
+ -----------------------------------------------
+ https://vtk.org/Wiki/VTK/Examples/Cxx/Visualization/ScalarBarActor
+ https://vtk.org/Wiki/VTK/Examples/Cxx/VisualizationAlgorithms/TubesFromSplines
+ https://vtk.org/Wiki/VTK/Examples/Cxx/Visualization/ElevationBandsWithGlyphs
+ vtkSmartPointer<vtkFloatArray> scalars = vtkSmartPointer<vtkFloatArray>::New();
+   scalars  set value ....
+ poly->GetPointData()->SetScalars(scalars);  or   poly->GetPointData()->SetActiveScalars("<NameArray>");
+ vtkSmartPointer<vtkLookupTable> hueLut =    vtkSmartPoint      |                                                 ^~
+ er<vtkLookupTable>::New();  
+   hueLut Build ....
+  
+   mapper->SetInputData(poly);
+   mapper->ScalarVisibilityOn();
+       mapper->SetScalarModeToUsePointData();   Point of Cell ...
+         
+     default: mapper->SetColorModeToDirectScalars() Busca scalars  3 componentes [R,G,B]  float  0..1  or  integer 0..255
+     else:
+       mapper->SetColorModeToMapScalars()  El vector scalar solo tiene un componente
+       mapper->SetLookupTable( hueLut );  
+         
+               To change Array
+               mapper->SelectColorArray("<NameVector>");   
+    
+       mapper->SetUseLookupTableScalarRange( true/false )    true:Para compartir lookuptable con otros mappers 
+               si false then
+               mapper->SetScalarRange( min, max);    Range especifico este mapper
+           mapper->SetScalarRange( tubePolyData->GetScalarRange() );
+ ------------------------------------------
+    
+      mapper->ScalarVisibilityOff();      ->  SetScalarModeToDefault()
+         Utiliza el color del actor
+   
+ ----------------------------------------
+ */    
+       
+       
  //---------------------------------------------------------------------
  
-       void PolyDataToActor::DoProcess()
-       {
+ void PolyDataToActor::DoProcess()
+ {
+               if (bbGetInputRenderer()==NULL)
+               {
+                       printf("EED Warnning! PolyDataToActor::DoProcess  missing Renderer.\n");
+               }
  
                if (bbGetInputActive()==true)
                {
  //EED 2017-01-01 Migration VTK7
  #if VTK_MAJOR_VERSION <= 5
                         polydatamapper->SetInput( bbGetInputIn() );
  #else
-                        polydatamapper->SetInputData( bbGetInputIn() );
+                        polydatamapper->SetInputData( bbGetInputIn() );  
  #endif
  
                         vtkactor->GetProperty()->SetRepresentation( bbGetInputRepresentation() );
  
-                       if (bbGetInputRepresentation()==1)
+                       if (bbGetInputRepresentation()==0)
                        {
                                 vtkactor->GetProperty()->SetAmbient(1);
                                 vtkactor->GetProperty()->SetDiffuse(1);
                                 vtkactor->GetProperty()->SetSpecular(0);
-                       } else {
- printf("EED WARNNING!  PolyDataToActor::DoProcess  which is the default values of Ambient, Diffuse, Specular ? \n");
+ printf("EED WARNNING!  PolyDataToActor::DoProcess  which is the default values of Ambient, Diffuse, Specular for points option? \n");
+                       } else if (bbGetInputRepresentation()==1)
+                       {
+                                vtkactor->GetProperty()->SetAmbient(1);
+                                vtkactor->GetProperty()->SetDiffuse(1);
+                                vtkactor->GetProperty()->SetSpecular(0);
+                       } else if (bbGetInputRepresentation()==2)
+                       {
+                                vtkactor->GetProperty()->SetAmbient(0);
+                                vtkactor->GetProperty()->SetDiffuse(1);
+                                vtkactor->GetProperty()->SetSpecular(0);
                        }
  
                         vtkactor->GetProperty()->SetLineWidth( bbGetInputLineWidth() );
  
                         if (bbGetInputScalarVisibility()==true )
                         {
-                                polydatamapper->ScalarVisibilityOn();
+                               polydatamapper->ScalarVisibilityOn();                                   
+                               if (bbGetInputScalarVisibilityOn_LookupTable()!=NULL) 
+                               {
+ //                                    polydatamapper->SetScalarModeToDefault();
+ //                                    polydatamapper->SetScalarModeToUseCellData();   
+ //                                    polydatamapper->SetScalarModeToUseCellFieldData();      
+ //                                    polydatamapper->SetScalarModeToUseFieldData();    //    1/2     hausdorff->SetTargetDistanceMethodToPointToCell();
+ //                                    polydatamapper->SetScalarModeToUsePointData();   // *
+                                       polydatamapper->SetScalarModeToUsePointFieldData();
+                                       
+                                       polydatamapper->SetColorModeToMapScalars();
+                                       polydatamapper->SetLookupTable( bbGetInputScalarVisibilityOn_LookupTable() );
+                                       if (bbGetInputScalarVisibilityOn_NameColorArray()!="") 
+                                       {
+                                               polydatamapper->SelectColorArray( bbGetInputScalarVisibilityOn_NameColorArray().c_str() );
+                                       }
+                                       if (bbGetInputScalarVisibilityOn_ScalarRange().size()==2)
+                                       {
+                                               polydatamapper->SetScalarRange(  bbGetInputScalarVisibilityOn_ScalarRange()[0] , bbGetInputScalarVisibilityOn_ScalarRange()[1]   ); 
+                                       }
+                                       
+                                } // if ScalarVisibilityOn_LookupTable
                         } else {
                                 polydatamapper->ScalarVisibilityOff();
                         } // ScalarVisibility
                           bbGetInputRenderer()->RemoveActor( vtkactor );
                         }  // actorAdded
                } // Active
      }
+ }