00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00049
#ifndef __vtkProgrammableFilter_h
00050
#define __vtkProgrammableFilter_h
00051
00052
#include "vtkDataSetToDataSetFilter.h"
00053
00054 class VTK_GRAPHICS_EXPORT vtkProgrammableFilter :
public vtkDataSetToDataSetFilter
00055 {
00056
public:
00057
static vtkProgrammableFilter *
New();
00058 vtkTypeRevisionMacro(vtkProgrammableFilter,
vtkDataSetToDataSetFilter);
00059
00062
void SetExecuteMethod(
void (*f)(
void *),
void *arg);
00063
00065
void SetExecuteMethodArgDelete(
void (*f)(
void *));
00066
00071
vtkPolyData *GetPolyDataInput();
00072
00074
vtkStructuredPoints *GetStructuredPointsInput();
00075
00077
vtkStructuredGrid *GetStructuredGridInput();
00078
00080
vtkUnstructuredGrid *GetUnstructuredGridInput();
00081
00083
vtkRectilinearGrid *GetRectilinearGridInput();
00084
00085
protected:
00086 vtkProgrammableFilter();
00087 ~vtkProgrammableFilter();
00088
00089
void Execute();
00090
00091 void (*ExecuteMethod)(
void *);
00092 void (*ExecuteMethodArgDelete)(
void *);
00093 void *ExecuteMethodArg;
00094
00095
private:
00096 vtkProgrammableFilter(
const vtkProgrammableFilter&);
00097
void operator=(
const vtkProgrammableFilter&);
00098 };
00099
00100
#endif
00101