]> Creatis software - creaVtk.git/blobdiff - lib/creaVtk/vtkVectorsTensorsVisuBase.cpp
#3110 creaVtk Bug New Normal - branch vtk7itk4 compilation with vtk7
[creaVtk.git] / lib / creaVtk / vtkVectorsTensorsVisuBase.cpp
index f582efe2851e0e412815a4e9615c2ba77cae9c4f..094eebc40db7d2390744ac416cef2de54b65458e 100644 (file)
 */
 
 #include "vtkVectorsTensorsVisuBase.h"
-
-
 #include "vtkObjectFactory.h"
 
-
-
-
 vtkStandardNewMacro(vtkLookupTableDirectionVector);
 
 // Construct with range=(0,1); and hsv ranges set up for rainbow color table 
@@ -48,14 +43,11 @@ vtkLookupTableDirectionVector::~vtkLookupTableDirectionVector()
 {
 }
 
-
-
 unsigned char *vtkLookupTableDirectionVector::MapValue(double v)
 {
        
        //int idx = this->GetIndex(v);
-       //return (this->Table->GetPointer(0) + 4*idx);
-       
+       //return (this->Table->GetPointer(0) + 4*idx);  
        return 0;
 }
 
@@ -118,6 +110,7 @@ void vtkLookupTableMapDirVectorEED(vtkLookupTableDirectionVector *self, T *input
        double dirx,diry,dirz;
        
        
+inIncr=3;
        printf("EED length %d  %p\n", length,input);
 //     mag = new double[length];
        for (i = 0; i < length; ++i)
@@ -125,13 +118,13 @@ void vtkLookupTableMapDirVectorEED(vtkLookupTableDirectionVector *self, T *input
                dirx    = 0;
                diry    = 0;
                dirz    = 0;
-               sum             = 0;
+               sum     = 0;
                for (j = 0; j < inIncr; ++j)
                {
-                       if (j==0) dirx= static_cast<double>(*input);  
-                       if (j==1) diry= static_cast<double>(*input);  
-                       if (j==2) dirz= static_cast<double>(*input);  
-                       tmp = static_cast<double>(*input);  
+                       if (j==0) dirx= static_cast<T>(*input);  
+                       if (j==1) diry= static_cast<T>(*input);  
+                       if (j==2) dirz= static_cast<T>(*input);  
+                       tmp = static_cast<T>(*input);  
                        sum += (tmp * tmp);
                        ++input;
                }
@@ -141,6 +134,7 @@ void vtkLookupTableMapDirVectorEED(vtkLookupTableDirectionVector *self, T *input
                *output++ = (unsigned char) abs( (255*dirz/sum) );
                *output++ = 255;
 //             printf("%d %d %d   ",(int)(255*dirx/sum),(int)(255*diry/sum),(int)(255*dirz/sum));
+//             printf(" C     %d        %f %f %f   \n",inIncr,dirx,diry,dirz);
     }
        
 //     vtkLookupTableMapData(self, mag, output, length, 1, outFormat);
@@ -149,7 +143,6 @@ void vtkLookupTableMapDirVectorEED(vtkLookupTableDirectionVector *self, T *input
 }
 
 
-
 //----------------------------------------------------------------------------
 void vtkLookupTableDirectionVector::MapScalarsThroughTable2(void *input, 
                                              unsigned char *output,
@@ -192,29 +185,25 @@ void vtkLookupTableDirectionVector::PrintSelf(ostream& os, vtkIndent indent)
 //----------------------------------
 //----------------------------------
 
-
-
-
-
-
-
-
 vtkVectorsTensorsVisuBase::vtkVectorsTensorsVisuBase()
 {
-        _firsttime     = true;
-       _active         = false;
+     _firsttime                = true;
+       _active                 = false;
        _scalefactor    = 1;
-       _opacity        = 1;
-       _dataobject     = NULL;
-       _renderer       = NULL;
-       _typeForm       = 0;
+       _opacity                = 1;
+       _dataobject             = NULL;
+       _renderer               = NULL;
+       _typeForm               = 0;
 
        _LutEED         = vtkLookupTableDirectionVector::New();
-       _LutEED->SetVectorMode(0);
-
-       _pdm            = vtkPolyDataMapper::New();
-       _actor          = vtkActor::New();
-       _actorAdded     = false;
+//     _LutEED->SetVectorMode(0);
+//_LutEED->SetVectorModeToMagnitude();
+//_LutEED->SetVectorModeToComponent();
+_LutEED->SetVectorModeToRGBColors();
+
+       _pdm                    = vtkPolyDataMapper::New();
+       _actor                  = vtkActor::New();
+       _actorAdded             = false;
 }
 
 vtkVectorsTensorsVisuBase::~vtkVectorsTensorsVisuBase()
@@ -307,8 +296,6 @@ void vtkVectorsTensorsVisuBase::Process()    // virtual
 {
 }
 
-
-
 //------------------------------------------------------------------------------
 void vtkVectorsTensorsVisuBase::VisibilityActor()
 {
@@ -316,20 +303,39 @@ void vtkVectorsTensorsVisuBase::VisibilityActor()
        if ( (_active==true) && (_actorAdded==false) ){
                if (GetRenderer()!=NULL)
                {
-                  GetRenderer()->AddActor(_actor);
+             GetRenderer()->AddActor(_actor);
                   _actorAdded=true;
-                        } // if Renderer
+       } // if Renderer
        } // if _active==true 
 
        if ( (_active==false) && (_actorAdded==true) ){
                if (GetRenderer()!=NULL)
                {
-                  GetRenderer()->RemoveActor(_actor);
+             GetRenderer()->RemoveActor(_actor);
                   _actorAdded=false;
-                        } // if Renderer
+      } // if Renderer
        } // if _active==false  
 }
 
+//------------------------------------------------------------------------------
+void vtkVectorsTensorsVisuBase::SetColorLaw(int colorlaw)
+{
+       _colorlaw = colorlaw;
+}
 
+//------------------------------------------------------------------------------
+void vtkVectorsTensorsVisuBase::SetColor(std::vector<double> rgb)
+{
+       if (rgb.size()==3)
+       {
+               _colorR=rgb[0];
+               _colorG=rgb[1];
+               _colorB=rgb[2];
+       } else {
+               _colorR=1;
+               _colorG=1;
+               _colorB=1;
+       }
+}