dox/Graphics/vtkVoxelContoursToSurfaceFilter.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00049 #ifndef __vtkVoxelContoursToSurfaceFilter_h
00050 #define __vtkVoxelContoursToSurfaceFilter_h
00051
00052 #include "vtkPolyDataToPolyDataFilter.h"
00053
00054 class VTK_GRAPHICS_EXPORT vtkVoxelContoursToSurfaceFilter : public vtkPolyDataToPolyDataFilter
00055 {
00056 public:
00057 static vtkVoxelContoursToSurfaceFilter *New();
00058 vtkTypeRevisionMacro(vtkVoxelContoursToSurfaceFilter,vtkPolyDataToPolyDataFilter);
00059 void PrintSelf(ostream& os, vtkIndent indent);
00060
00062
00066 vtkSetMacro( MemoryLimitInBytes, int );
00067 vtkGetMacro( MemoryLimitInBytes, int );
00069
00070 vtkSetVector3Macro( Spacing, float );
00071 vtkGetVectorMacro( Spacing, float, 3 );
00072
00073 protected:
00074 vtkVoxelContoursToSurfaceFilter();
00075 ~vtkVoxelContoursToSurfaceFilter();
00076
00077 void Execute();
00078
00079 int MemoryLimitInBytes;
00080
00081 float Spacing[3];
00082
00083 float *LineList;
00084 int LineListLength;
00085 int LineListSize;
00086
00087 float *SortedXList;
00088 float *SortedYList;
00089 int SortedListSize;
00090
00091 int *WorkingList;
00092 int WorkingListLength;
00093
00094 float *IntersectionList;
00095 int IntersectionListLength;
00096
00097 void AddLineToLineList( float x1, float y1, float x2, float y2 );
00098 void SortLineList();
00099
00100 void CastLines( float *slice, float gridOrigin[3],
00101 int gridSize[3], int type );
00102
00103 void PushDistances( float *ptr, int gridSize[3], int chunkSize );
00104 private:
00105 vtkVoxelContoursToSurfaceFilter(const vtkVoxelContoursToSurfaceFilter&);
00106 void operator=(const vtkVoxelContoursToSurfaceFilter&);
00107 };
00108
00109 #endif
00110
00111