00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00056
#ifndef __vtkGeometryFilter_h
00057
#define __vtkGeometryFilter_h
00058
00059
#include "vtkDataSetToPolyDataFilter.h"
00060
00061
class vtkPointLocator;
00062
00063 class VTK_GRAPHICS_EXPORT vtkGeometryFilter :
public vtkDataSetToPolyDataFilter
00064 {
00065
public:
00066
static vtkGeometryFilter *
New();
00067 vtkTypeRevisionMacro(vtkGeometryFilter,
vtkDataSetToPolyDataFilter);
00068
void PrintSelf(ostream& os,
vtkIndent indent);
00069
00071
00072 vtkSetMacro(PointClipping,
int);
00073 vtkGetMacro(PointClipping,
int);
00074 vtkBooleanMacro(PointClipping,
int);
00076
00078
00079 vtkSetMacro(CellClipping,
int);
00080 vtkGetMacro(CellClipping,
int);
00081 vtkBooleanMacro(CellClipping,
int);
00083
00085
00086 vtkSetMacro(ExtentClipping,
int);
00087 vtkGetMacro(ExtentClipping,
int);
00088 vtkBooleanMacro(ExtentClipping,
int);
00090
00092
00093 vtkSetClampMacro(PointMinimum,
vtkIdType,0,VTK_LARGE_ID);
00094 vtkGetMacro(PointMinimum,
vtkIdType);
00096
00098
00099 vtkSetClampMacro(PointMaximum,
vtkIdType,0,VTK_LARGE_ID);
00100 vtkGetMacro(PointMaximum,
vtkIdType);
00102
00104
00105 vtkSetClampMacro(CellMinimum,
vtkIdType,0,VTK_LARGE_ID);
00106 vtkGetMacro(CellMinimum,
vtkIdType);
00108
00110
00111 vtkSetClampMacro(CellMaximum,
vtkIdType,0,VTK_LARGE_ID);
00112 vtkGetMacro(CellMaximum,
vtkIdType);
00114
00116
00118
void SetExtent(
float xMin,
float xMax,
float yMin,
float yMax,
00119
float zMin,
float zMax);
00121
00123
00125
void SetExtent(
float extent[6]);
00126 float *GetExtent() {
return this->Extent;};
00128
00130
00133 vtkSetMacro(Merging,
int);
00134 vtkGetMacro(Merging,
int);
00135 vtkBooleanMacro(Merging,
int);
00137
00139
00141
void SetLocator(
vtkPointLocator *locator);
00142 vtkGetObjectMacro(Locator,
vtkPointLocator);
00144
00146
void CreateDefaultLocator();
00147
00149
unsigned long GetMTime();
00150
00151
protected:
00152 vtkGeometryFilter();
00153 ~vtkGeometryFilter();
00154
00155
void Execute();
00156
void PolyDataExecute();
00157
void UnstructuredGridExecute();
00158
void StructuredGridExecute();
00159
void ComputeInputUpdateExtents(
vtkDataObject *output);
00160
void ExecuteInformation();
00161
00162 vtkIdType PointMaximum;
00163 vtkIdType PointMinimum;
00164 vtkIdType CellMinimum;
00165 vtkIdType CellMaximum;
00166 float Extent[6];
00167 int PointClipping;
00168 int CellClipping;
00169 int ExtentClipping;
00170
00171 int Merging;
00172 vtkPointLocator *Locator;
00173
private:
00174 vtkGeometryFilter(
const vtkGeometryFilter&);
00175
void operator=(
const vtkGeometryFilter&);
00176 };
00177
00178
#endif
00179
00180