Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

dox/Graphics/vtkVoxelContoursToSurfaceFilter.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkVoxelContoursToSurfaceFilter.h,v $ 00005 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 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&); // Not implemented. 00106 void operator=(const vtkVoxelContoursToSurfaceFilter&); // Not implemented. 00107 }; 00108 00109 #endif 00110 00111