X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk_creaVtk_PKG%2Fsrc%2FbbcreaVtkLinearExtrusionFilter.cxx;h=63cdfeafb4d1fecb705ca98abec50432909761f0;hb=4521468a9a2d9c73ef10eb7773cad56ba3c83ae2;hp=2b39efe8a1463a6c85188901682e363c273aeae3;hpb=797e2ddbfbbf4794b08653db4e8ba0b63e077b33;p=creaVtk.git diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkLinearExtrusionFilter.cxx b/bbtk_creaVtk_PKG/src/bbcreaVtkLinearExtrusionFilter.cxx index 2b39efe..63cdfea 100644 --- a/bbtk_creaVtk_PKG/src/bbcreaVtkLinearExtrusionFilter.cxx +++ b/bbtk_creaVtk_PKG/src/bbcreaVtkLinearExtrusionFilter.cxx @@ -29,8 +29,6 @@ void LinearExtrusionFilter::Process() // bbSetOutputOut( bbGetInputIn() ); // std::cout << "Output value = " <Delete(); @@ -47,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) @@ -55,11 +55,25 @@ 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(); + 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