X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcreaVtk%2FvtkVectorsTensorsVisuBase.cpp;h=ee7fc4999d6066a96640c5bedb001e17b4286343;hb=cf0bc4afad6916bb3f3e9d7865ad1c2b19112aea;hp=f582efe2851e0e412815a4e9615c2ba77cae9c4f;hpb=41a74698bb0203749248628baa1503144e1f12f7;p=creaVtk.git diff --git a/lib/creaVtk/vtkVectorsTensorsVisuBase.cpp b/lib/creaVtk/vtkVectorsTensorsVisuBase.cpp index f582efe..ee7fc49 100644 --- a/lib/creaVtk/vtkVectorsTensorsVisuBase.cpp +++ b/lib/creaVtk/vtkVectorsTensorsVisuBase.cpp @@ -118,6 +118,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 +126,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(*input); - if (j==1) diry= static_cast(*input); - if (j==2) dirz= static_cast(*input); - tmp = static_cast(*input); + if (j==0) dirx= static_cast(*input); + if (j==1) diry= static_cast(*input); + if (j==2) dirz= static_cast(*input); + tmp = static_cast(*input); sum += (tmp * tmp); ++input; } @@ -141,6 +142,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); @@ -192,29 +194,25 @@ void vtkLookupTableDirectionVector::PrintSelf(ostream& os, vtkIndent indent) //---------------------------------- //---------------------------------- - - - - - - - vtkVectorsTensorsVisuBase::vtkVectorsTensorsVisuBase() { - _firsttime = true; + _firsttime = true; _active = false; - _scalefactor = 1; - _opacity = 1; + _scalefactor= 1; + _opacity = 1; _dataobject = NULL; _renderer = NULL; - _typeForm = 0; + _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() @@ -316,20 +314,40 @@ 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 rgb) +{ + if (rgb.size()==3) + { + _colorR=rgb[0]; + _colorG=rgb[1]; + _colorB=rgb[2]; + } else { + _colorR=1; + _colorG=1; + _colorB=1; + } +}