X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk_creaVtk_PKG%2Fsrc%2FbbcreaVtkLinearExtrusionFilter.cxx;h=63cdfeafb4d1fecb705ca98abec50432909761f0;hb=7adae3b62a9d3adf11e40486e130277d2ad04fdf;hp=f254fc431b509508fe0e8644ffef076e2c12dbe8;hpb=5e5f73f9b602ec408b5389171e048f94eb078fef;p=creaVtk.git diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkLinearExtrusionFilter.cxx b/bbtk_creaVtk_PKG/src/bbcreaVtkLinearExtrusionFilter.cxx index f254fc4..63cdfea 100644 --- a/bbtk_creaVtk_PKG/src/bbcreaVtkLinearExtrusionFilter.cxx +++ b/bbtk_creaVtk_PKG/src/bbcreaVtkLinearExtrusionFilter.cxx @@ -45,6 +45,8 @@ void LinearExtrusionFilter::Process() std::vector dir = bbGetInputDirection(); extrude = vtkLinearExtrusionFilter::New(); triangleFilter = vtkTriangleFilter::New(); + + extrude->SetInputData( bbGetInputIn() ); extrude->SetExtrusionTypeToNormalExtrusion(); if (dir.size()==3) @@ -53,11 +55,25 @@ void LinearExtrusionFilter::Process() } else { extrude->SetVector(1, 0, 0); } - extrude->SetScaleFactor( bbGetInputScalarFactor() * (-1) ); + // extrude->SetScaleFactor( bbGetInputScalarFactor() * (-1) ); + extrude->SetScaleFactor( bbGetInputScalarFactor() ); extrude->Update(); triangleFilter->SetInputData( extrude->GetOutput() ); triangleFilter->Update( ); - bbSetOutputOut( triangleFilter->GetOutput() ); + + vtkPolyData *outputPolydata = triangleFilter->GetOutput(); + printf("EED LinearExtrusionFilter::Process A\n"); + if (bbGetInputScalarFactor()>1 ) + { + printf("EED LinearExtrusionFilter::Process B\n"); + vtkReverseSense * reverseSense = vtkReverseSense::New(); + reverseSense->SetInputData( triangleFilter->GetOutput() ); + reverseSense->ReverseNormalsOff(); + reverseSense->ReverseCellsOn(); + reverseSense->Update(); + outputPolydata=reverseSense->GetOutput(); + } + bbSetOutputOut( outputPolydata ); } else { bbSetOutputOut( NULL ); }// if bbGetInputIn