vtkClosePolyData Class Reference

#include <vtkClosePolyData.h>

List of all members.

Public Member Functions

 vtkTypeRevisionMacro (vtkClosePolyData, vtkPolyDataToPolyDataFilter)
void PrintSelf (ostream &os, vtkIndent indent)

Static Public Member Functions

static vtkClosePolyDataNew ()

Protected Member Functions

 vtkClosePolyData ()
 ~vtkClosePolyData ()
void Execute ()

Private Member Functions

 vtkClosePolyData (const vtkClosePolyData &)
void operator= (const vtkClosePolyData &)

Detailed Description

Definition at line 35 of file vtkClosePolyData.h.


Constructor & Destructor Documentation

vtkClosePolyData::vtkClosePolyData (  )  [protected]

Definition at line 33 of file vtkClosePolyData.cxx.

00034 {
00035 }

vtkClosePolyData::~vtkClosePolyData (  )  [protected]

Definition at line 38 of file vtkClosePolyData.cxx.

00039 {
00040 }

vtkClosePolyData::vtkClosePolyData ( const vtkClosePolyData  )  [private]

Member Function Documentation

void vtkClosePolyData::Execute (  )  [protected]

Definition at line 45 of file vtkClosePolyData.cxx.

References New().

00046 {
00047   vtkPolyData *input = this->GetInput();
00048   vtkPolyData *output = this->GetOutput();
00049   
00050    //#closing the polydata see : close.py for details
00051   vtkFeatureEdges *boundary = vtkFeatureEdges::New();
00052   boundary->SetInput( input );
00053   boundary->BoundaryEdgesOn ();
00054   boundary->FeatureEdgesOff ();
00055   boundary->NonManifoldEdgesOff ();
00056   boundary->ManifoldEdgesOff ();
00057   //boundary->ColoringOff ();
00058 
00059   vtkStripper *stripper = vtkStripper::New();
00060   stripper->SetInput( boundary->GetOutput() );
00061   stripper->Update(); //important
00062   boundary->Delete();
00063 
00064   vtkPolyData *pd = vtkPolyData::New();
00065   pd->SetPoints ( stripper->GetOutput()->GetPoints() );
00066   pd->SetPolys  ( stripper->GetOutput()->GetLines() );
00067   stripper->Delete();
00068     
00069   //vtkGLUTesselatorTriangleFilter *triangle = vtkGLUTesselatorTriangleFilter::New();
00070   vtkTriangleFilter *triangle = vtkTriangleFilter::New();
00071   triangle->SetInput( pd );
00072   pd->Delete();
00073     
00074   vtkAppendPolyData *append = vtkAppendPolyData::New();
00075   append->AddInput( input );
00076   append->AddInput( triangle->GetOutput());
00077   triangle->Delete();
00078       
00079   vtkCleanPolyData *clean = vtkCleanPolyData::New();
00080   clean->SetInput( append->GetOutput());
00081   append->Delete();
00082     
00083   // When all optimizations are complete, this squeeze will be unecessary.
00084   // (But it does not seem to cost much.)
00085   clean->Update();  //important before ShallowCopy
00086   output->ShallowCopy( clean->GetOutput() );
00087   clean->Delete();
00088 }

Here is the call graph for this function:

static vtkClosePolyData* vtkClosePolyData::New (  )  [static]
void vtkClosePolyData::operator= ( const vtkClosePolyData  )  [private]
void vtkClosePolyData::PrintSelf ( ostream &  os,
vtkIndent  indent 
)

Definition at line 91 of file vtkClosePolyData.cxx.

00092 {
00093   this->Superclass::PrintSelf(os,indent);
00094 }

vtkClosePolyData::vtkTypeRevisionMacro ( vtkClosePolyData  ,
vtkPolyDataToPolyDataFilter   
)

The documentation for this class was generated from the following files:

Generated on 18 Mar 2010 for creaMaracasVisu_lib by  doxygen 1.6.1