00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkSpatialRepresentationFilter.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 =========================================================================*/ 00073 #ifndef __vtkSpatialRepresentationFilter_h 00074 #define __vtkSpatialRepresentationFilter_h 00075 00076 #include "vtkPolyDataSource.h" 00077 00078 #define VTK_MAX_SPATIAL_REP_LEVEL 24 00079 00080 class vtkLocator; 00081 class vtkDataSet; 00082 00083 class VTK_GRAPHICS_EXPORT vtkSpatialRepresentationFilter : public vtkPolyDataSource 00084 { 00085 public: 00086 static vtkSpatialRepresentationFilter *New(); 00087 vtkTypeRevisionMacro(vtkSpatialRepresentationFilter,vtkPolyDataSource); 00088 void PrintSelf(ostream& os, vtkIndent indent); 00089 00091 00092 virtual void SetSpatialRepresentation(vtkLocator*); 00093 vtkGetObjectMacro(SpatialRepresentation,vtkLocator); 00095 00097 00098 vtkGetMacro(Level,int); 00100 00103 vtkPolyData *GetOutput(int level); 00104 00106 vtkPolyData *GetOutput(); 00107 00109 void ResetOutput(); 00110 00112 00113 virtual void SetInput(vtkDataSet *input); 00114 vtkDataSet *GetInput(); 00116 00117 protected: 00118 vtkSpatialRepresentationFilter(); 00119 ~vtkSpatialRepresentationFilter(); 00120 00121 void Execute(); 00122 void GenerateOutput(); 00123 00124 int Level; 00125 int TerminalNodesRequested; 00126 00127 vtkLocator *SpatialRepresentation; 00128 00129 virtual void ReportReferences(vtkGarbageCollector*); 00130 virtual void RemoveReferences(); 00131 virtual int FillInputPortInformation(int, vtkInformation*); 00132 private: 00133 vtkSpatialRepresentationFilter(const vtkSpatialRepresentationFilter&); // Not implemented. 00134 void operator=(const vtkSpatialRepresentationFilter&); // Not implemented. 00135 }; 00136 00137 #endif 00138 00139