00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00038 #ifndef __vtkGenericDataSetTessellator_h
00039 #define __vtkGenericDataSetTessellator_h
00040 
00041 #include "vtkUnstructuredGridAlgorithm.h"
00042 
00043 class vtkPointData;
00044 class vtkIncrementalPointLocator;
00045 
00046 class VTK_GENERIC_FILTERING_EXPORT vtkGenericDataSetTessellator : public vtkUnstructuredGridAlgorithm
00047 {
00048 public:
00050 
00051   static vtkGenericDataSetTessellator *New();
00052   vtkTypeMacro(vtkGenericDataSetTessellator,
00053                        vtkUnstructuredGridAlgorithm);
00054   void PrintSelf(ostream& os, vtkIndent indent);
00056 
00058 
00062   vtkSetMacro(KeepCellIds, int);
00063   vtkGetMacro(KeepCellIds, int);
00064   vtkBooleanMacro(KeepCellIds, int);
00066   
00067   
00069 
00072   vtkSetMacro(Merging,int);
00073   vtkGetMacro(Merging,int);
00074   vtkBooleanMacro(Merging,int);
00076 
00078 
00080   void SetLocator(vtkIncrementalPointLocator *locator);
00081   vtkGetObjectMacro(Locator,vtkIncrementalPointLocator);
00083 
00085   void CreateDefaultLocator();
00086   
00088   unsigned long GetMTime();
00089   
00090 protected:
00091   vtkGenericDataSetTessellator();
00092   ~vtkGenericDataSetTessellator();
00093   
00094   int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00095   
00096   int FillInputPortInformation(int, vtkInformation*);
00097   
00098   
00099   int KeepCellIds;
00100   
00101   
00102   vtkPointData *InternalPD;
00103   
00104   int Merging;
00105   vtkIncrementalPointLocator *Locator;
00106   
00107 private:
00108   vtkGenericDataSetTessellator(const vtkGenericDataSetTessellator&);  
00109   void operator=(const vtkGenericDataSetTessellator&);  
00110 };
00111 
00112 #endif