Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages
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
00059 #ifndef __vtkVoxelContoursToSurfaceFilter_h
00060 #define __vtkVoxelContoursToSurfaceFilter_h
00061
00062 #include "vtkPolyDataToPolyDataFilter.h"
00063
00064 class VTK_GRAPHICS_EXPORT vtkVoxelContoursToSurfaceFilter : public vtkPolyDataToPolyDataFilter
00065 {
00066 public:
00067 static vtkVoxelContoursToSurfaceFilter *New();
00068 vtkTypeRevisionMacro(vtkVoxelContoursToSurfaceFilter,vtkPolyDataToPolyDataFilter);
00069 void PrintSelf(ostream& os, vtkIndent indent);
00070
00072
00076 vtkSetMacro( MemoryLimitInBytes, int );
00077 vtkGetMacro( MemoryLimitInBytes, int );
00079
00080 vtkSetVector3Macro( Spacing, float );
00081 vtkGetVectorMacro( Spacing, float, 3 );
00082
00083 protected:
00084 vtkVoxelContoursToSurfaceFilter();
00085 ~vtkVoxelContoursToSurfaceFilter();
00086
00087 void Execute();
00088
00089 int MemoryLimitInBytes;
00090
00091 float Spacing[3];
00092
00093 float *LineList;
00094 int LineListLength;
00095 int LineListSize;
00096
00097 float *SortedXList;
00098 float *SortedYList;
00099 int SortedListSize;
00100
00101 int *WorkingList;
00102 int WorkingListLength;
00103
00104 float *IntersectionList;
00105 int IntersectionListLength;
00106
00107 void AddLineToLineList( float x1, float y1, float x2, float y2 );
00108 void SortLineList();
00109
00110 void CastLines( float *slice, float gridOrigin[3],
00111 int gridSize[3], int type );
00112
00113 void PushDistances( float *ptr, int gridSize[3], int chunkSize );
00114 private:
00115 vtkVoxelContoursToSurfaceFilter(const vtkVoxelContoursToSurfaceFilter&);
00116 void operator=(const vtkVoxelContoursToSurfaceFilter&);
00117 };
00118
00119 #endif
00120
00121