X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcreaVtk%2FcreaVtkStreamLine.cpp;h=31ea59b07471fb35f49cb1dafce52ff28e4c5930;hb=7a66ae84aef4c670d7fb7ce855b39e5a9eb2b4a4;hp=5085b1da5cb2bc992b18cc48f91b477853de141b;hpb=08174c39ec53c37ea8ea7d6c97cf9f7af13659da;p=creaVtk.git diff --git a/lib/creaVtk/creaVtkStreamLine.cpp b/lib/creaVtk/creaVtkStreamLine.cpp index 5085b1d..31ea59b 100644 --- a/lib/creaVtk/creaVtkStreamLine.cpp +++ b/lib/creaVtk/creaVtkStreamLine.cpp @@ -30,16 +30,16 @@ #include "vtkPointData.h" #include "vtkRenderWindow.h" #include "vtkProperty.h" +#include "vtkPolyDataWriter.h" creaVtkStreamLine::creaVtkStreamLine() { - _source = vtkPointSource::New(); - _vPointWidget = vtkPointWidget::New(); - _streamMapper2 = vtkPolyDataMapper::New(); + _source = vtkPointSource::New(); + _vPointWidget = vtkPointWidget::New(); + _streamMapper2 = vtkPolyDataMapper::New(); _streamer = vtkStreamTracer::New(); - _tubefilter = vtkTubeFilter::New(); - _ribbonfilter = vtkRibbonFilter::New(); + _ribbonfilter = vtkRibbonFilter::New(); } @@ -54,15 +54,25 @@ void creaVtkStreamLine::SetSourcePoints( vtkDataSet* sourcepoints) _sourcePoints = sourcepoints; } +//--------------------------------------------- +void creaVtkStreamLine::SetPolyData( vtkPolyData* polydata) +{ + _polydata = polydata; +} + //--------------------------------------------- void creaVtkStreamLine::Process() { - -printf("creaVtkStreamLine::Process Start \n"); + printf("EED creaVtkStreamLine::Process Start \n"); + + if (_polydata!=NULL){ + if (_active==false) { //bbGetInputPlaneFieldShow _vPointWidget->Off(); } else { + +/* //---------------------------Stream Lines----------------------- _vPointWidget->SetInput( (vtkDataSet*) GetDataObject() ); if (_firsttime==true) @@ -76,56 +86,67 @@ printf("creaVtkStreamLine::Process Start \n"); } //EED1 _vPointWidget->On(); - double c[3]; _vPointWidget->GetPosition(c); _source->SetCenter( c ); _source->Update(); _streamer->SetInput( GetDataObject() ); - -//EED1 _streamer->SetSource( _source->GetOutput() ); +//EED1 _streamer->SetSource( _source->GetOutput() ); _streamer->SetSource( _sourcePoints ); - _streamer->SetIntegratorTypeToRungeKutta45(); - //EED _streamer->SetMaximumPropagation(500000); _streamer->SetMaximumPropagation(500); -//EED _streamer->SetMaximumPropagationUnitToTimeUnit(); - +//EED _streamer->SetMaximumPropagationUnitToTimeUnit(); _streamer->SetInitialIntegrationStep (0.001); //EED _streamer->SetInitialIntegrationStepUnitToCellLengthUnit(); - _streamer->SetIntegrationDirectionToBoth(); //EED streamer->ComputeVorticityOn (); _streamer->Update(); -printf("EED creaVtkStreamLine::Process StreamLine PrintSelf\n"); - _streamer->Print(std::cout); - -printf("EED creaVtkStreamLine::Process StreamLine->GetOutput() PrintSelf\n"); - _streamer->GetOutput()->Print(std::cout); +// _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()); + _tubefilter->SetInput( _streamer->GetOutput() ); + _ribbonfilter->SetInput(_streamer->GetOutput()); +*/ + + _tubefilter->SetInput( _polydata ); + _ribbonfilter->SetInput( _polydata ); + + _tubefilter->SetRadius( GetScaleFactor() ); _tubefilter->SetNumberOfSides(12); _tubefilter->SetVaryRadiusToVaryRadiusOff(); - _ribbonfilter->SetInput(_streamer->GetOutput()); _ribbonfilter->SetWidth( GetScaleFactor() ); _ribbonfilter->SetWidthFactor( GetScaleFactor()*10 ); _ribbonfilter->GlobalWarningDisplayOff (); //EED this is to avoid the "BEVEL WARNING" + _polydata->Modified(); //BORRAME _streamer->GetOutput()->GetScalarRange( range ); - if (GetTypeForm()==0) { + if (GetTypeForm()==0) + { _streamMapper2->SetInput( _tubefilter->GetOutput() ); - } else { + } + if (GetTypeForm()==1) + { _streamMapper2->SetInput( _ribbonfilter->GetOutput() ); } + if (GetTypeForm()==2) + { + _streamMapper2->SetInput( _polydata ); + } //EED _streamMapper2->SetLookupTable(vGreenToRedLut); +/* vtkPolyData *pd = _streamer->GetOutput(); vtkPointData *pointdata = pd->GetPointData(); // vtkDataArray *da = pointdata->GetArray("Normals"); @@ -136,6 +157,8 @@ printf("EED creaVtkStreamLine::Process StreamLine->GetOutput() PrintSelf\n"); { printf("EED creaVtkStreamLine::Process-name %d, %s \n", i, pointdata->GetArrayName(i) ); } +*/ + // vtkDataArray *nda = vtkDoubleArray::New(); // nda->DeepCopy(da); @@ -162,19 +185,16 @@ printf("EED creaVtkStreamLine::Process StreamLine->GetOutput() PrintSelf\n"); _streamMapper2->SetLookupTable( _LutEED ); _streamMapper2->SelectColorArray( "velocity" ); - - //Config 3 Position // ??????? - _actor->SetMapper( _streamMapper2 ); - -printf("EED lib creaVTK creaVtkStreamLine::Process opacity %f\n", GetOpacity() ); _actor->GetProperty()->SetOpacity( GetOpacity() ); }// _active VisibilityActor(); - - + } // polydata } + + +