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