X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcreaVtk%2FvtkVectorsVisu.cpp;h=c29dace97f7f3ddbccc12d64f61bc51ba4331aa1;hb=05400a294e401b74b2e7a3058f6a4ee3decfc62d;hp=7c8a6bc1776e0d0d29ffa25e3e81e88ce74e9f8f;hpb=7b056a20a4768265dac820ba75338779e04c787d;p=creaVtk.git diff --git a/lib/creaVtk/vtkVectorsVisu.cpp b/lib/creaVtk/vtkVectorsVisu.cpp index 7c8a6bc..c29dace 100644 --- a/lib/creaVtk/vtkVectorsVisu.cpp +++ b/lib/creaVtk/vtkVectorsVisu.cpp @@ -31,7 +31,9 @@ //Borrame #include "vtkPointData.h" - +#include "vtkArrayData.h" +#include "vtkDataObject.h" +#include //------------------------------------------------------------------------------ vtkVectorsVisu::vtkVectorsVisu() @@ -67,13 +69,14 @@ void vtkVectorsVisu::Process() { if (_vtkglyph==NULL) { - if (GetOrientation()==0) + if (GetOrientation()==-1) { _vtkglyph = vtkGlyph3D::New(); } // _orientation - if ((GetOrientation()>=1) && (GetOrientation()<=3)) + if ((GetOrientation()>=0) && (GetOrientation()<=2)) { - _vtkglyph = vtkGlyph2D::New(); + _vtkglyph = vtkGlyph3D::New(); +// _vtkglyph = vtkGlyph2D::New(); } // _orientation } // _vtkglyph NULL @@ -100,7 +103,15 @@ void vtkVectorsVisu::Process() #endif } _vtkglyph->SetScaleModeToScaleByVector(); - _vtkglyph->SetColorModeToColorByVector(); + + + if (_externalLut==NULL) + { + _vtkglyph->SetColorModeToColorByVector(); + } else { + _vtkglyph->SetColorModeToColorByScalar(); + } // if _externalLut + _vtkglyph->SetScaleFactor( GetScaleFactor() ); _vtkglyph->Update(); @@ -121,20 +132,60 @@ vtkPointData *data = _vtkglyph->GetOutput()->GetPointData(); // 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(); + if (_externalLut==NULL) + { + _pdm->ScalarVisibilityOn(); + _pdm->SetColorModeToMapScalars(); + // _pdm->SetColorModeToDefault(); + // _pdm->SetColorModeToDirectScalars(); // NOT compile + _pdm->SetScalarModeToUsePointFieldData(); + // _pdm->ImmediateModeRenderingOn(); // obsolete + _LutEED->SetVectorModeToComponent(); + //_LutEED->SetVectorModeToRGBColors(); + //_LutEED->SetVectorModeToMagnitud(); + // _pdm->SetScalarModeToUsePointFieldData(); _pdm->SetLookupTable( _LutEED ); _pdm->SelectColorArray( "GlyphVector" ); + } else { + data->SetActiveScalars("angle"); + + _pdm->ScalarVisibilityOn(); + double scalarRange[2]; + scalarRange[0]=0; + scalarRange[1]=40; +printf("EED warnnning ..... vtkVectorsVisu::Process clean scalar Range ......\n"); +printf("EED warnnning ..... vtkVectorsVisu::Process clean scalar Range ......\n"); +printf("EED warnnning ..... vtkVectorsVisu::Process clean scalar Range ......\n"); +printf("EED warnnning ..... vtkVectorsVisu::Process clean scalar Range ......\n"); +printf("EED warnnning ..... vtkVectorsVisu::Process clean scalar Range ......\n"); + _pdm->SetScalarRange(scalarRange); + _pdm->SetColorModeToMapScalars(); +// _pdm->SetColorModeToDefault(); +// _pdm->SetColorModeToDirectScalars(); // NOT compile +// _pdm->SetScalarModeToUsePointFieldData(); + _pdm->ImmediateModeRenderingOn(); // obsolete + _pdm->SetLookupTable( _externalLut ); + _pdm->SelectColorArray( "angle" ); + } // if _externalLut + +printf("EED warnnning ..... vtkVectorsVisu::Process Clean angle ......\n"); +printf("EED warnnning ..... vtkVectorsVisu::Process Clean angle ......\n"); +printf("EED warnnning ..... vtkVectorsVisu::Process Clean angle ......\n"); +printf("EED warnnning ..... vtkVectorsVisu::Process Clean angle ......\n"); +printf("EED warnnning ..... vtkVectorsVisu::Process Clean angle ......\n"); + +/* +_vtkglyph->Update(); +vtkPointData *pointdata=_vtkglyph->GetOutput()->GetPointData(); +int i,size=pointdata->GetNumberOfArrays(); +for (i=0;iGetArray(i); + printf(" vtkVectorsVisu::Process array name %d:<%s> size:%d\n", i, array->GetName(), array->GetSize() ); +} +*/ + // vSliceMapperVec->SetLookupTable( vGreenToRedLut ); // vSliceMapperVec->SetColorModeToMapScalars(); @@ -145,23 +196,30 @@ vtkPointData *data = _vtkglyph->GetOutput()->GetPointData(); _pdm->Update(); #endif - // Orientation 0 3D OK - // Orientation 1 2D xy OK - - // Orientation 2 2D yz - if (GetOrientation()==2) + // Orientation -1 3D OK + + // Orientation 0 2D yz + if (GetOrientation()==0) { _trans->Identity(); _trans->Translate(900,0,0); - _trans->RotateWXYZ(-90,0,1,0); _actor->SetUserTransform(_trans); } - // Orientation 3 2D xz - if (GetOrientation()==3) + + // Orientation 1 2D xz + if (GetOrientation()==1) + { + _trans->Identity(); + _trans->Translate(0,-900,0); + _actor->SetUserTransform(_trans); + } + + // Orientation 2 2D xy + if (GetOrientation()==2) { _trans->Identity(); - _trans->RotateWXYZ(90,1,0,0); + _trans->Translate(0,0,-900); _actor->SetUserTransform(_trans); }