00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00045
#ifndef __vtkProgrammableFilter_h
00046
#define __vtkProgrammableFilter_h
00047
00048
#include "vtkDataSetToDataSetFilter.h"
00049
00050 class VTK_GRAPHICS_EXPORT vtkProgrammableFilter :
public vtkDataSetToDataSetFilter
00051 {
00052
public:
00053
static vtkProgrammableFilter *
New();
00054 vtkTypeRevisionMacro(vtkProgrammableFilter,
vtkDataSetToDataSetFilter);
00055
00058
void SetExecuteMethod(
void (*f)(
void *),
void *arg);
00059
00061
void SetExecuteMethodArgDelete(
void (*f)(
void *));
00062
00067
vtkPolyData *GetPolyDataInput();
00068
00070
vtkStructuredPoints *GetStructuredPointsInput();
00071
00073
vtkStructuredGrid *GetStructuredGridInput();
00074
00076
vtkUnstructuredGrid *GetUnstructuredGridInput();
00077
00079
vtkRectilinearGrid *GetRectilinearGridInput();
00080
00081
protected:
00082 vtkProgrammableFilter();
00083 ~vtkProgrammableFilter();
00084
00085
void Execute();
00086
00087 void (*ExecuteMethod)(
void *);
00088 void (*ExecuteMethodArgDelete)(
void *);
00089 void *ExecuteMethodArg;
00090
00091
private:
00092 vtkProgrammableFilter(
const vtkProgrammableFilter&);
00093
void operator=(
const vtkProgrammableFilter&);
00094 };
00095
00096
#endif
00097