]> Creatis software - creaVtk.git/blobdiff - lib/creaVtk/vtkVectorsVisu.cpp
#3100 creaVtk Feature New Normal - Vectors Visu refresh
[creaVtk.git] / lib / creaVtk / vtkVectorsVisu.cpp
index 43df474428cfa2e3e5c0701424a4b178ad4da08d..5b50b2ae0395e506e8e40c51243479be963eb3d8 100644 (file)
 
 #include "vtkProperty.h"
 
+//Borrame
+#include "vtkPointData.h"
+
+
 //------------------------------------------------------------------------------
 vtkVectorsVisu::vtkVectorsVisu()
   :vtkVectorsTensorsVisuBase()
 {
-       _vtkarrowsource = vtkArrowSource::New();
-       _vtkglyph       = vtkGlyph3D::New();
+       _vtkarrowsource         = vtkArrowSource::New();
+       _vtkglyph                       = vtkGlyph3D::New();
+       _vtklinesource          = vtkLineSource::New();
+
+       double point1[3];
+       double point2[3];
+       point1[0]=1;
+       point1[1]=0;
+       point1[2]=0;
+       point2[0]=-1;
+       point2[1]=0;
+       point2[2]=0;
+       _vtklinesource->SetPoint1( point1 );
+       _vtklinesource->SetPoint2( point2 );
 }
 
 
@@ -46,53 +62,56 @@ vtkVectorsVisu::~vtkVectorsVisu()
 //------------------------------------------------------------------------------
 void vtkVectorsVisu::Process()
 {
-printf("EED vtkVectorsVisu::Process()  start\n");
      if(_active==true)
      {
-printf("EED vtkVectorsVisu::Process()  1\n");
          _vtkglyph->SetInput( GetDataObject() );  
-printf("EED vtkVectorsVisu::Process()  2\n");
-         _vtkglyph->SetSource( _vtkarrowsource->GetOutput() );
-printf("EED vtkVectorsVisu::Process()  3\n");
+                       if(GetTypeForm()==1)                                                            // source Arrow
+                       {
+                _vtkglyph->SetSource( _vtkarrowsource->GetOutput() );
+                       } else {                                                                                                // source Line
+                               _vtkglyph->SetSource( _vtklinesource->GetOutput() );    
+                       }
          _vtkglyph->SetScaleModeToScaleByVector();
          _vtkglyph->SetColorModeToColorByVector();
          _vtkglyph->SetScaleFactor( GetScaleFactor() );
-printf("EED vtkVectorsVisu::Process()  4\n");
          _vtkglyph->Update();
-printf("EED vtkVectorsVisu::Process()  5\n");
-
          _pdm->SetInput( _vtkglyph->GetOutput());
-printf("EED vtkVectorsVisu::Process()  5.1\n");
-//EED         _pdm->SetScalarRange( range );
-//EED         vtkPolyData      *pd                     = vGlyphFlowPlane->GetOutput();
-//EED         vtkPointData     *pointdata              = pd->GetPointData();
-//EED         vtkDataArray     *da                     = pointdata->GetVectors();
-//EED         vtkDataArray *nda = vtkFloatArray::New();
-//EED         nda->DeepCopy(da);
-//       pointdata->RemoveArray( "GlyphVector" );
-//       bbGetInputIn()->GetPointData()->RemoveArray( "GlyphVector" );
-//EED         pointdata->AddArray( nda );
-//EED         bbGetInputIn()->GetPointData()->AddArray( nda );
-//EED2         _pdm->ScalarVisibilityOn();
-printf("EED vtkVectorsVisu::Process()  6\n");
-         _pdm->SetScalarModeToUsePointFieldData();
+vtkPointData   *data   = _vtkglyph->GetOutput()->GetPointData();
+//printf("EED -------------------------------------------\n");
+//_vtkglyph->GetOutput()->Print(std::cout);
+//printf("EED -------------------------------------------\n");
+//data->Print(std::cout);
+int i,sizeDa = data->GetNumberOfArrays();
+for (i=0;i<sizeDa;i++)
+{
+       data->GetArray(i)->Print(std::cout);
+}
+
+       _pdm->ScalarVisibilityOn();
+       _pdm->SetColorModeToMapScalars();
+       //_pdm->SetColorModeToDefault();
+       // _pdm->SetColorModeToDirectScalars();  // NOT compile
+       _pdm->SetScalarModeToUsePointFieldData();
+       _pdm->ImmediateModeRenderingOn();
+
+       _LutEED->SetVectorModeToComponent();
+       //_LutEED->SetVectorModeToRGBColors();
+       //_LutEED->SetVectorModeToMagnitud();
+
+
 
+//         _pdm->SetScalarModeToUsePointFieldData();
          _pdm->SetLookupTable( _LutEED );
-printf("EED vtkVectorsVisu::Process()  7\n");
          _pdm->SelectColorArray( "GlyphVector" );
 
 //       vSliceMapperVec->SetLookupTable( vGreenToRedLut );
 //       vSliceMapperVec->SetColorModeToMapScalars();
 
          _actor->SetMapper( _pdm );
-printf("EED vtkVectorsVisu::Process()  8\n");
          _actor->GetProperty()->SetOpacity( GetOpacity() );
-printf ("EED vtkVectorsVisu::Process opacity:%f\n",GetOpacity()  ); 
     }// if _active
 
-printf("EED vtkVectorsVisu::Process()  9\n");
     VisibilityActor(); 
-printf("EED vtkVectorsVisu::Process()  end\n");
 }