#include <vtkClosePolyData.h>
Public Member Functions | |
vtkTypeRevisionMacro (vtkClosePolyData, vtkPolyDataToPolyDataFilter) | |
void | PrintSelf (ostream &os, vtkIndent indent) |
Static Public Member Functions | |
static vtkClosePolyData * | New () |
Protected Member Functions | |
vtkClosePolyData () | |
~vtkClosePolyData () | |
void | Execute () |
Private Member Functions | |
vtkClosePolyData (const vtkClosePolyData &) | |
void | operator= (const vtkClosePolyData &) |
Definition at line 35 of file vtkClosePolyData.h.
vtkClosePolyData::vtkClosePolyData | ( | ) | [protected] |
vtkClosePolyData::~vtkClosePolyData | ( | ) | [protected] |
vtkClosePolyData::vtkClosePolyData | ( | const vtkClosePolyData & | ) | [private] |
static vtkClosePolyData* vtkClosePolyData::New | ( | ) | [static] |
Referenced by vtk3DSurfaceSTLWidget::ExportSurfaceAsSTL(), wxVtkClipping3DViewCntrlPanel::OnBtnCreateFileSTL(), wxSTLWidget_02::OnBtnCreateFileSTL(), wxSTLWidget_03::OnBtnCreateFileSTL(), wxPathologyWidget_01::OnBtnFileSTL(), and vtk3DSurfaceSTLWidget::SetCuttingMode().
vtkClosePolyData::vtkTypeRevisionMacro | ( | vtkClosePolyData | , | |
vtkPolyDataToPolyDataFilter | ||||
) |
void vtkClosePolyData::PrintSelf | ( | ostream & | os, | |
vtkIndent | indent | |||
) |
void vtkClosePolyData::Execute | ( | ) | [protected] |
Definition at line 45 of file vtkClosePolyData.cxx.
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 }
void vtkClosePolyData::operator= | ( | const vtkClosePolyData & | ) | [private] |