VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkProbeFilter.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 =========================================================================*/ 00040 #ifndef __vtkProbeFilter_h 00041 #define __vtkProbeFilter_h 00042 00043 #include "vtkDataSetAlgorithm.h" 00044 #include "vtkDataSetAttributes.h" // needed for vtkDataSetAttributes::FieldList 00045 00046 class vtkIdTypeArray; 00047 class vtkCharArray; 00048 class vtkMaskPoints; 00049 00050 class VTK_GRAPHICS_EXPORT vtkProbeFilter : public vtkDataSetAlgorithm 00051 { 00052 public: 00053 static vtkProbeFilter *New(); 00054 vtkTypeRevisionMacro(vtkProbeFilter,vtkDataSetAlgorithm); 00055 void PrintSelf(ostream& os, vtkIndent indent); 00056 00058 00060 void SetSource(vtkDataObject *source); 00061 vtkDataObject *GetSource(); 00063 00066 void SetSourceConnection(vtkAlgorithmOutput* algOutput); 00067 00069 00077 vtkSetMacro(SpatialMatch, int); 00078 vtkGetMacro(SpatialMatch, int); 00079 vtkBooleanMacro(SpatialMatch, int); 00081 00083 00085 vtkGetObjectMacro(ValidPoints, vtkIdTypeArray); 00087 00089 00092 vtkSetStringMacro(ValidPointMaskArrayName) 00093 vtkGetStringMacro(ValidPointMaskArrayName) 00095 00096 //BTX 00097 protected: 00098 vtkProbeFilter(); 00099 ~vtkProbeFilter(); 00100 00101 int SpatialMatch; 00102 00103 virtual int RequestData(vtkInformation *, vtkInformationVector **, 00104 vtkInformationVector *); 00105 virtual int RequestInformation(vtkInformation *, vtkInformationVector **, 00106 vtkInformationVector *); 00107 virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, 00108 vtkInformationVector *); 00109 00111 void Probe(vtkDataSet *input, vtkDataSet *source, vtkDataSet *output); 00112 00115 void BuildFieldList(vtkDataSet* source); 00116 00119 void InitializeForProbing(vtkDataSet *input, vtkDataSet *output); 00120 00122 00125 void ProbeEmptyPoints(vtkDataSet *input, int srcIdx, vtkDataSet *source, 00126 vtkDataSet *output); 00128 00129 char* ValidPointMaskArrayName; 00130 vtkIdTypeArray *ValidPoints; 00131 vtkCharArray* MaskPoints; 00132 int NumberOfValidPoints; 00133 00134 vtkDataSetAttributes::FieldList* CellList; 00135 vtkDataSetAttributes::FieldList* PointList; 00136 private: 00137 vtkProbeFilter(const vtkProbeFilter&); // Not implemented. 00138 void operator=(const vtkProbeFilter&); // Not implemented. 00139 00140 class vtkVectorOfArrays; 00141 vtkVectorOfArrays* CellArrays; 00142 //ETX 00143 }; 00144 00145 #endif