#ifndef _vtk_ImageToIsosurface_h_ #define _vtk_ImageToIsosurface_h_ #include #include #include #include #include #include #include #include #include #include #include class VTK_EXPORT vtkImageToIsosurface: public vtkObject { public: static vtkImageToIsosurface *New(); vtkTypeRevisionMacro(vtkImageToIsosurface, vtkObject); vtkSetObjectMacro (Input, vtkImageData); vtkGetObjectMacro (Input, vtkImageData); vtkActor* GetActor (void) const { return this->Actor; } vtkPolyData* GetPolyData (void) const { return this->Mapper->GetInput(); } void SetParameters (int val, double color[4]); void Update(void); void SetDecimationOff (void) { this->Mapper->SetInput (this->Smoother->GetOutput()); } void SetDecimationOn (void) { this->Mapper->SetInput (this->Decimate->GetOutput()); } protected: vtkImageToIsosurface(); ~vtkImageToIsosurface(); private: vtkImageCast* Caster; vtkImageThreshold* Thresholder; vtkContourFilter* ContourFilter; vtkDecimatePro* Decimate; vtkSmoothPolyDataFilter* Smoother; vtkImageData* Input; vtkPolyDataMapper* Mapper; vtkActor* Actor; }; #endif