00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00043 #ifndef __vtkProbeFilter_h
00044 #define __vtkProbeFilter_h
00045
00046 #include "vtkDataSetAlgorithm.h"
00047
00048 class vtkIdTypeArray;
00049 class vtkCharArray;
00050 class vtkMaskPoints;
00051
00052 class VTK_GRAPHICS_EXPORT vtkProbeFilter : public vtkDataSetAlgorithm
00053 {
00054 public:
00055 static vtkProbeFilter *New();
00056 vtkTypeRevisionMacro(vtkProbeFilter,vtkDataSetAlgorithm);
00057 void PrintSelf(ostream& os, vtkIndent indent);
00058
00060
00062 void SetSource(vtkDataObject *source);
00063 vtkDataObject *GetSource();
00065
00068 void SetSourceConnection(vtkAlgorithmOutput* algOutput);
00069
00071
00079 vtkSetMacro(SpatialMatch, int);
00080 vtkGetMacro(SpatialMatch, int);
00081 vtkBooleanMacro(SpatialMatch, int);
00083
00085
00087 vtkGetObjectMacro(ValidPoints, vtkIdTypeArray);
00089
00091
00094 vtkSetStringMacro(ValidPointMaskArrayName)
00095 vtkGetStringMacro(ValidPointMaskArrayName)
00097
00098 protected:
00099 vtkProbeFilter();
00100 ~vtkProbeFilter();
00101
00102 int SpatialMatch;
00103
00104 virtual int RequestData(vtkInformation *, vtkInformationVector **,
00105 vtkInformationVector *);
00106 virtual int RequestInformation(vtkInformation *, vtkInformationVector **,
00107 vtkInformationVector *);
00108 virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **,
00109 vtkInformationVector *);
00110
00112 void Probe(vtkDataSet *input, vtkDataSet *source, vtkDataSet *output);
00113
00115
00117 void InitializeForProbing(vtkDataSet *input, vtkDataSet *source,
00118 vtkDataSet *output);
00120
00122
00124 void ProbeEmptyPoints(vtkDataSet *input, vtkDataSet *source,
00125 vtkDataSet *output);
00127
00128 char* ValidPointMaskArrayName;
00129 vtkIdTypeArray *ValidPoints;
00130 vtkCharArray* MaskPoints;
00131 int NumberOfValidPoints;
00132 private:
00133 vtkProbeFilter(const vtkProbeFilter&);
00134 void operator=(const vtkProbeFilter&);
00135
00136 class vtkVectorOfArrays;
00137 vtkVectorOfArrays* CellArrays;
00138
00139 };
00140
00141 #endif