00001 00002 00003 #ifndef __VTK__STL__EXTRACTOR__HXX__ 00004 #define __VTK__STL__EXTRACTOR__HXX__ 00005 00006 00007 /* 00008 * La clase vtkSTLExtractor recibe como parametro un volumen binario y a partir de el 00009 * genera las superficies de estereolitografia interna y externa. 00010 * 00011 * The class vtkSTLExtractor receives a a binary volume and from this volume, 00012 * generates the inner and outer stereolitography surfaces. 00013 * 00014 * Author: Diego Cantor. 00015 */ 00016 00017 00018 #include <vtkImageData.h> 00019 #include <vtkPolyData.h> 00020 00021 00022 class vtkSTLExtractor 00023 { 00024 public: 00025 vtkSTLExtractor(); 00026 virtual ~vtkSTLExtractor(); 00027 void setVolume(vtkImageData *volume); 00028 void setMarchingCubesLevel(double level); 00029 void setSigmaLevel(double level); 00030 double getMarchingCubesLevel(); 00031 double getSigmaLevel(); 00032 void calculate(); 00033 vtkPolyData* getInnerSurface(); 00034 vtkPolyData* getOuterSurface(); 00035 void Delete(); 00036 00037 private: 00038 00039 double sigmaLevel; 00040 double marchingCubesLevel; 00041 vtkPolyData *innerSurface; 00042 vtkPolyData *outerSurface; 00043 vtkImageData *volume; 00044 00045 00046 }; 00047 00048 #endif //__VTK__STL__EXTRACTOR__HXX__