Graphics/vtkProgrammableAttributeDataFilter.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00079 #ifndef __vtkProgrammableAttributeDataFilter_h
00080 #define __vtkProgrammableAttributeDataFilter_h
00081
00082 #include "vtkDataSetToDataSetFilter.h"
00083
00084 class vtkDataSetCollection;
00085
00086 class VTK_GRAPHICS_EXPORT vtkProgrammableAttributeDataFilter : public vtkDataSetToDataSetFilter
00087 {
00088 public:
00089 static vtkProgrammableAttributeDataFilter *New();
00090 vtkTypeRevisionMacro(vtkProgrammableAttributeDataFilter,vtkDataSetToDataSetFilter);
00091 void PrintSelf(ostream& os, vtkIndent indent);
00092
00094 void AddInput(vtkDataSet *in);
00095
00097 void RemoveInput(vtkDataSet *in);
00098
00100 vtkDataSetCollection *GetInputList() {return this->InputList;};
00101
00104 void SetExecuteMethod(void (*f)(void *), void *arg);
00105
00107 void SetExecuteMethodArgDelete(void (*f)(void *));
00108
00109 protected:
00110 vtkProgrammableAttributeDataFilter();
00111 ~vtkProgrammableAttributeDataFilter();
00112
00113 void Execute();
00114 vtkDataSetCollection *InputList;
00115 void (*ExecuteMethod)(void *);
00116 void (*ExecuteMethodArgDelete)(void *);
00117 void *ExecuteMethodArg;
00118
00119 private:
00120
00121 void AddInput(vtkDataObject *)
00122 { vtkErrorMacro( << "AddInput() must be called with a vtkDataSet not a vtkDataObject."); };
00123 void RemoveInput(vtkDataObject *input)
00124 { this->vtkProcessObject::RemoveInput(input); };
00125 private:
00126 vtkProgrammableAttributeDataFilter(const vtkProgrammableAttributeDataFilter&);
00127 void operator=(const vtkProgrammableAttributeDataFilter&);
00128 };
00129
00130 #endif
00131
00132