X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk_creaVtk_PKG%2Fsrc%2FbbcreaVtkLinearExtrusionFilter.cxx;h=678efe5f3a63f556834ca75a5819605f5487e8d0;hb=0e6cb4ca72960a6df5670a618ab1efb9558bf650;hp=0c16df888c6381f2b1b20f72c68cbb381ecdd69a;hpb=6171943e84350719c7dfae2af1d2476f3df9abd1;p=creaVtk.git diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkLinearExtrusionFilter.cxx b/bbtk_creaVtk_PKG/src/bbcreaVtkLinearExtrusionFilter.cxx index 0c16df8..678efe5 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,23 @@ void LinearExtrusionFilter::Process() } else { extrude->SetVector(1, 0, 0); } - extrude->SetScaleFactor( bbGetInputScalarFactor() ); + // extrude->SetScaleFactor( bbGetInputScalarFactor() * (-1) ); + extrude->SetScaleFactor( bbGetInputScalarFactor() ); extrude->Update(); triangleFilter->SetInputData( extrude->GetOutput() ); triangleFilter->Update( ); - bbSetOutputOut( triangleFilter->GetOutput() ); + + vtkPolyData *outputPolydata = triangleFilter->GetOutput(); + if (bbGetInputScalarFactor()>1 ) + { + vtkReverseSense * reverseSense = vtkReverseSense::New(); + reverseSense->SetInputData( triangleFilter->GetOutput() ); + reverseSense->ReverseNormalsOff(); + reverseSense->ReverseCellsOn(); + reverseSense->Update(); + outputPolydata=reverseSense->GetOutput(); + } + bbSetOutputOut( outputPolydata ); } else { bbSetOutputOut( NULL ); }// if bbGetInputIn