+
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
+ // This method is much too long, and has to be broken up!
+ // Furthermore we are loosing the normals !!!
+ void vtkClosePolyData::Execute()
+ {
+ vtkPolyData *input = this->GetInput();
+ vtkPolyData *output = this->GetOutput();
+
+ //#closing the polydata see : close.py for details
+ vtkFeatureEdges *boundary = vtkFeatureEdges::New();
+ boundary->SetInput( input );
+ boundary->BoundaryEdgesOn ();
+ boundary->FeatureEdgesOff ();
+ boundary->NonManifoldEdgesOff ();
+ boundary->ManifoldEdgesOff ();
+ //boundary->ColoringOff ();
+
+ vtkStripper *stripper = vtkStripper::New();
+ stripper->SetInput( boundary->GetOutput() );
+ stripper->Update(); //important
+ boundary->Delete();
+
+ vtkPolyData *pd = vtkPolyData::New();
+ pd->SetPoints ( stripper->GetOutput()->GetPoints() );
+ pd->SetPolys ( stripper->GetOutput()->GetLines() );
+ stripper->Delete();
+
+ //vtkGLUTesselatorTriangleFilter *triangle = vtkGLUTesselatorTriangleFilter::New();
+ vtkTriangleFilter *triangle = vtkTriangleFilter::New();
+ triangle->SetInput( pd );
+ pd->Delete();
+
+ vtkAppendPolyData *append = vtkAppendPolyData::New();
+ append->AddInput( input );
+ append->AddInput( triangle->GetOutput());
+ triangle->Delete();
+ vtkInformation
+ vtkCleanPolyData *clean = vtkCleanPolyData::New();
+ clean->SetInput( append->GetOutput());
+ append->Delete();
+
+ // When all optimizations are complete, this squeeze will be unecessary.
+ // (But it does not seem to cost much.)
+ clean->Update(); //important before ShallowCopy
+ output->ShallowCopy( clean->GetOutput() );
+ clean->Delete();
+ }
+
+#else
+/*
+ int vtkClosePolyData::ProcessRequest( vtkInformation *request,
+ vtkInformationVector **inputVector,
+ vtkInformationVector *outputVector)
+ {
+printf("EED Warning ERROR ! vtkClosePolyData::ProcessRequest not implemented VTK7 migration");
+ // generate the data
+ if(request->Has(vtkDemandDrivenPipeline::REQUEST_INFORMATION()))
+ {
+ // specify that the output (only one for this filter) will be double
+ vtkInformation* outInfo = outputVector->GetInformationObject(0);
+ outInfo->Set(vtkDataObject::SCALAR_TYPE(),VTK_DOUBLE);
+ return 1;
+ }
+ return this->Superclass::ProcessRequest(request,inputVector,outputVector);
+ }
+*/
+
+int vtkClosePolyData::RequestData( vtkInformation *vtkNotUsed(request), vtkInformationVector **inputVector, vtkInformationVector *outputVector)