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