Graphics/vtkProgrammableAttributeDataFilter.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00095 #ifndef __vtkProgrammableAttributeDataFilter_h
00096 #define __vtkProgrammableAttributeDataFilter_h
00097
00098 #include "vtkDataSetToDataSetFilter.h"
00099
00100 class vtkDataSetCollection;
00101
00102 class VTK_GRAPHICS_EXPORT vtkProgrammableAttributeDataFilter : public vtkDataSetToDataSetFilter
00103 {
00104 public:
00105 static vtkProgrammableAttributeDataFilter *New();
00106 vtkTypeRevisionMacro(vtkProgrammableAttributeDataFilter,vtkDataSetToDataSetFilter);
00107 void PrintSelf(ostream& os, vtkIndent indent);
00108
00110 void AddInput(vtkDataSet *in);
00111
00113 void RemoveInput(vtkDataSet *in);
00114
00116 vtkDataSetCollection *GetInputList() {return this->InputList;};
00117
00120 void SetExecuteMethod(void (*f)(void *), void *arg);
00121
00123 void SetExecuteMethodArgDelete(void (*f)(void *));
00124
00125 protected:
00126 vtkProgrammableAttributeDataFilter();
00127 ~vtkProgrammableAttributeDataFilter();
00128
00129 void Execute();
00130 vtkDataSetCollection *InputList;
00131 void (*ExecuteMethod)(void *);
00132 void (*ExecuteMethodArgDelete)(void *);
00133 void *ExecuteMethodArg;
00134
00135 private:
00136
00137 void AddInput(vtkDataObject *)
00138 { vtkErrorMacro( << "AddInput() must be called with a vtkDataSet not a vtkDataObject."); };
00139 void RemoveInput(vtkDataObject *input)
00140 { this->vtkProcessObject::RemoveInput(input); };
00141 private:
00142 vtkProgrammableAttributeDataFilter(const vtkProgrammableAttributeDataFilter&);
00143 void operator=(const vtkProgrammableAttributeDataFilter&);
00144 };
00145
00146 #endif
00147
00148