// bbSetOutputOut( bbGetInputIn() );
// std::cout << "Output value = " <<bbGetOutputOut() << std::endl;
- printf("EED LinearExtrusionFilter::Process In=%p \n",bbGetInputIn() );
-
if (extrude!=NULL)
{
extrude->Delete();
std::vector<double> dir = bbGetInputDirection();
extrude = vtkLinearExtrusionFilter::New();
triangleFilter = vtkTriangleFilter::New();
+
+
extrude->SetInputData( bbGetInputIn() );
extrude->SetExtrusionTypeToNormalExtrusion();
if (dir.size()==3)
} else {
extrude->SetVector(1, 0, 0);
}
- extrude->SetScaleFactor( bbGetInputScalarFactor() );
+ extrude->SetScaleFactor( bbGetInputScalarFactor()/3 );
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