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

vtkVoxelContoursToSurfaceFilter.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkVoxelContoursToSurfaceFilter.h,v $
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00045 #ifndef __vtkVoxelContoursToSurfaceFilter_h
00046 #define __vtkVoxelContoursToSurfaceFilter_h
00047 
00048 #include "vtkPolyDataAlgorithm.h"
00049 
00050 class VTK_GRAPHICS_EXPORT vtkVoxelContoursToSurfaceFilter : public vtkPolyDataAlgorithm
00051 {
00052 public:
00053   static vtkVoxelContoursToSurfaceFilter *New();
00054   vtkTypeRevisionMacro(vtkVoxelContoursToSurfaceFilter,vtkPolyDataAlgorithm);
00055   void PrintSelf(ostream& os, vtkIndent indent);
00056 
00058 
00062   vtkSetMacro( MemoryLimitInBytes, int );
00063   vtkGetMacro( MemoryLimitInBytes, int );
00065 
00066   vtkSetVector3Macro( Spacing, double );
00067   vtkGetVectorMacro( Spacing, double, 3 );
00068 
00069 protected:
00070   vtkVoxelContoursToSurfaceFilter();
00071   ~vtkVoxelContoursToSurfaceFilter();
00072 
00073   int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00074 
00075   int     MemoryLimitInBytes;
00076 
00077   double   Spacing[3];
00078 
00079   double   *LineList;
00080   int     LineListLength;
00081   int     LineListSize;
00082 
00083   double   *SortedXList;
00084   double   *SortedYList;
00085   int     SortedListSize;
00086 
00087   int     *WorkingList;
00088   int     WorkingListLength;
00089 
00090   double   *IntersectionList;
00091   int     IntersectionListLength;
00092 
00093   void    AddLineToLineList( double x1, double y1, double x2, double y2 );
00094   void    SortLineList();
00095   
00096   void    CastLines( float *slice, double gridOrigin[3], 
00097                      int gridSize[3], int type );
00098 
00099   void    PushDistances( float *ptr, int gridSize[3], int chunkSize );
00100 private:
00101   vtkVoxelContoursToSurfaceFilter(const vtkVoxelContoursToSurfaceFilter&);  // Not implemented.
00102   void operator=(const vtkVoxelContoursToSurfaceFilter&);  // Not implemented.
00103 };
00104 
00105 #endif

Generated on Mon Jan 21 23:07:26 2008 for VTK by  doxygen 1.4.3-20050530