VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkSpatialRepresentationFilter.h 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 =========================================================================*/ 00058 #ifndef __vtkSpatialRepresentationFilter_h 00059 #define __vtkSpatialRepresentationFilter_h 00060 00061 #include "vtkPolyDataSource.h" 00062 00063 #define VTK_MAX_SPATIAL_REP_LEVEL 24 00064 00065 class vtkLocator; 00066 class vtkDataSet; 00067 00068 class VTK_GRAPHICS_EXPORT vtkSpatialRepresentationFilter : public vtkPolyDataSource 00069 { 00070 public: 00071 static vtkSpatialRepresentationFilter *New(); 00072 vtkTypeMacro(vtkSpatialRepresentationFilter,vtkPolyDataSource); 00073 void PrintSelf(ostream& os, vtkIndent indent); 00074 00076 00077 virtual void SetSpatialRepresentation(vtkLocator*); 00078 vtkGetObjectMacro(SpatialRepresentation,vtkLocator); 00080 00082 00083 vtkGetMacro(Level,int); 00085 00088 vtkPolyData *GetOutput(int level); 00089 00091 vtkPolyData *GetOutput(); 00092 00094 void ResetOutput(); 00095 00097 00098 virtual void SetInput(vtkDataSet *input); 00099 vtkDataSet *GetInput(); 00101 00102 protected: 00103 vtkSpatialRepresentationFilter(); 00104 ~vtkSpatialRepresentationFilter(); 00105 00106 void Execute(); 00107 void GenerateOutput(); 00108 00109 int Level; 00110 int TerminalNodesRequested; 00111 00112 vtkLocator *SpatialRepresentation; 00113 00114 virtual void ReportReferences(vtkGarbageCollector*); 00115 virtual int FillInputPortInformation(int, vtkInformation*); 00116 private: 00117 vtkSpatialRepresentationFilter(const vtkSpatialRepresentationFilter&); // Not implemented. 00118 void operator=(const vtkSpatialRepresentationFilter&); // Not implemented. 00119 }; 00120 00121 #endif 00122 00123