X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcreaVtk%2FcreaVtkStreamLine.cpp;h=fedfcb6e1f431184563a9e37301caa55f8f13673;hb=8eab35636049813a6ce1b8f0e2d99e62dd280e0e;hp=31ea59b07471fb35f49cb1dafce52ff28e4c5930;hpb=a30ca94a35cdfc9a3d6837b98c48bf3c377b340e;p=creaVtk.git diff --git a/lib/creaVtk/creaVtkStreamLine.cpp b/lib/creaVtk/creaVtkStreamLine.cpp index 31ea59b..fedfcb6 100644 --- a/lib/creaVtk/creaVtkStreamLine.cpp +++ b/lib/creaVtk/creaVtkStreamLine.cpp @@ -32,12 +32,12 @@ #include "vtkProperty.h" #include "vtkPolyDataWriter.h" + creaVtkStreamLine::creaVtkStreamLine() { - _source = vtkPointSource::New(); - _vPointWidget = vtkPointWidget::New(); +// _source = vtkPointSource::New(); +// _vPointWidget = vtkPointWidget::New(); _streamMapper2 = vtkPolyDataMapper::New(); - _streamer = vtkStreamTracer::New(); _tubefilter = vtkTubeFilter::New(); _ribbonfilter = vtkRibbonFilter::New(); } @@ -48,11 +48,6 @@ creaVtkStreamLine::~creaVtkStreamLine() { } -//--------------------------------------------- -void creaVtkStreamLine::SetSourcePoints( vtkDataSet* sourcepoints) -{ - _sourcePoints = sourcepoints; -} //--------------------------------------------- void creaVtkStreamLine::SetPolyData( vtkPolyData* polydata) @@ -65,13 +60,10 @@ void creaVtkStreamLine::Process() { printf("EED creaVtkStreamLine::Process Start \n"); - if (_polydata!=NULL){ - - if (_active==false) - { //bbGetInputPlaneFieldShow - _vPointWidget->Off(); - } else { - + if (_polydata!=NULL) + { + if (_active==true) + { /* //---------------------------Stream Lines----------------------- _vPointWidget->SetInput( (vtkDataSet*) GetDataObject() ); @@ -106,57 +98,85 @@ void creaVtkStreamLine::Process() // _streamer->Print(std::cout); // _streamer->GetOutput()->Print(std::cout); -//EED -//vtkPolyDataWriter *writer3 = vtkPolyDataWriter::New(); -//writer3->SetFileName( "/home/davila/Borrame/streamline-eed.vtk" ); -//writer3->SetInput( _streamer->GetOutput() ); -//writer3->Write(); //EED 3aout2011 _tubefilter->SetInput( _streamer->GetOutput() ); _ribbonfilter->SetInput(_streamer->GetOutput()); */ - _tubefilter->SetInput( _polydata ); - _ribbonfilter->SetInput( _polydata ); - + _polydata->Modified(); - _tubefilter->SetRadius( GetScaleFactor() ); - _tubefilter->SetNumberOfSides(12); - _tubefilter->SetVaryRadiusToVaryRadiusOff(); - - _ribbonfilter->SetWidth( GetScaleFactor() ); - _ribbonfilter->SetWidthFactor( GetScaleFactor()*10 ); - _ribbonfilter->GlobalWarningDisplayOff (); //EED this is to avoid the "BEVEL WARNING" + printf("EED creaVtkStreamLine::Process 0 %p \n", _polydata); - _polydata->Modified(); -//BORRAME _streamer->GetOutput()->GetScalarRange( range ); if (GetTypeForm()==0) { + printf("EED creaVtkStreamLine::Process 1 \n"); + _tubefilter->SetInput( _polydata ); + _tubefilter->SetRadius( GetScaleFactor() ); + _tubefilter->SetNumberOfSides(12); + _tubefilter->SetVaryRadiusToVaryRadiusOff(); + _tubefilter->Modified(); + _tubefilter->Update(); _streamMapper2->SetInput( _tubefilter->GetOutput() ); } if (GetTypeForm()==1) { + printf("EED creaVtkStreamLine::Process 2 \n"); + _ribbonfilter->SetInput( _polydata ); + _ribbonfilter->SetWidth( GetScaleFactor() ); + _ribbonfilter->SetWidthFactor( GetScaleFactor()*10 ); + _ribbonfilter->GlobalWarningDisplayOff (); //EED this is to avoid the "BEVEL WARNING" + _ribbonfilter->Modified(); + _ribbonfilter->Update(); _streamMapper2->SetInput( _ribbonfilter->GetOutput() ); } if (GetTypeForm()==2) { + printf("EED creaVtkStreamLine::Process 3 \n"); _streamMapper2->SetInput( _polydata ); } + printf("EED creaVtkStreamLine::Process 4 \n"); //EED _streamMapper2->SetLookupTable(vGreenToRedLut); - - -/* - vtkPolyData *pd = _streamer->GetOutput(); - vtkPointData *pointdata = pd->GetPointData(); + +/* +vtkDoubleArray* _velocity = vtkDoubleArray::New(); +_velocity->SetName("velocity"); // ... fill the colors array +for (int ivelocity=0; ivelocity<=4000; ivelocity++ ) +{ + _velocity->InsertTuple3 (ivelocity, 1, 0, 0); +} +_polydata->GetPointData()->AddArray(_velocity); +*/ + printf("EED creaVtkStreamLine::Process A \n" ); + + vtkPointData *data = _polydata->GetPointData(); + +printf("EED -------------------------------------------\n"); + _polydata->Print(std::cout); +printf("EED -------------------------------------------\n"); + data->Print(std::cout); +printf("EED -------------------------------------------\n"); + +// vtkFieldData *data = _polydata->GetFieldData(); // vtkDataArray *da = pointdata->GetArray("Normals"); - int i,sizeDa = pointdata->GetNumberOfArrays(); + int i,sizeDa = data->GetNumberOfArrays(); printf("EED creaVtkStreamLine::Process sizeDa %d \n", sizeDa ); for (i=0;iGetArrayName(i) ); + printf("EED creaVtkStreamLine::Process-name %d, %s \n", i, data->GetArrayName(i) ); + data->GetArray(i)->Print(std::cout); +printf("EED -------------------------------------------\n"); } + + + +/* +//EED + vtkPolyDataWriter *writer3 = vtkPolyDataWriter::New(); + writer3->SetFileName( "/home/davila/Borrame/streamline-eed-c.vtk" ); + writer3->SetInput( _polydata ); + writer3->Write(); */ @@ -175,15 +195,52 @@ void creaVtkStreamLine::Process() //Config 1 (Normals) // _streamMapper2->ScalarVisibilityOn(); // _streamMapper2->SetScalarModeToUsePointFieldData(); -// _streamMapper2->SetLookupTable( vLutEED ); +// _streamMapper2->SetLookupTable( _LutEED ); // _streamMapper2->SelectColorArray( "Normals" ); + //Config 2 Orientation vectors _streamMapper2->ScalarVisibilityOn(); _streamMapper2->SetScalarModeToUsePointFieldData(); _streamMapper2->SetLookupTable( _LutEED ); - _streamMapper2->SelectColorArray( "velocity" ); + + if (_colorlaw==0) + { + _LutEED->SetVectorModeToRGBColors(); + _streamMapper2->SelectColorArray( "creaColorDirection" ); + } + if (_colorlaw==1) + { +// _LutEED->SetVectorModeToMagnitude(); + vtkLookupTable *lookuptable = vtkLookupTable::New(); + _streamMapper2->SetLookupTable( lookuptable ); + _streamMapper2->SelectColorArray( "creaMagnitud" ); + } + if (_colorlaw==2) + { + + _streamMapper2->SelectColorArray( "xx" ); + _actor->GetProperty()->SetColor(_colorR,_colorG,_colorB); + } + +/* + _vtkglyph->SetInput( GetDataObject() ); + _vtkglyph->SetSource( _vtkarrowsource->GetOutput() ); + _vtkglyph->SetScaleModeToScaleByVector(); + _vtkglyph->SetColorModeToColorByVector(); + _vtkglyph->SetScaleFactor( GetScaleFactor() ); + _vtkglyph->Update(); + _pdm->SetInput( _vtkglyph->GetOutput()); + _pdm->SetScalarModeToUsePointFieldData(); + _pdm->SetLookupTable( _LutEED ); + _pdm->SelectColorArray( "GlyphVector" ); +*/ + + + + + //Config 3 Position // ??????? @@ -194,6 +251,9 @@ void creaVtkStreamLine::Process() VisibilityActor(); } // polydata + + printf("EED creaVtkStreamLine::Process End \n"); + }