VTK
vtkProgrammableAttributeDataFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkProgrammableAttributeDataFilter.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
79 #ifndef __vtkProgrammableAttributeDataFilter_h
80 #define __vtkProgrammableAttributeDataFilter_h
81 
82 #include "vtkDataSetAlgorithm.h"
83 
85 
87 {
88 public:
91  void PrintSelf(ostream& os, vtkIndent indent);
92 
94  void AddInput(vtkDataSet *in);
95 
97  void RemoveInput(vtkDataSet *in);
98 
100  vtkDataSetCollection *GetInputList() {return this->InputList;};
101 
109  typedef void (*ProgrammableMethodCallbackType)(void *arg);
110 
113  void SetExecuteMethod(void (*f)(void *), void *arg);
114 
116  void SetExecuteMethodArgDelete(void (*f)(void *));
117 
118 protected:
121 
123  vtkDataSetCollection *InputList; //list of datasets to process
124  ProgrammableMethodCallbackType ExecuteMethod; //function to invoke
125  ProgrammableMethodCallbackType ExecuteMethodArgDelete;
127 
128  virtual void ReportReferences(vtkGarbageCollector*);
129 
130 private:
131  // hide the superclass' AddInput() from the user and the compiler
132  void AddInput(vtkDataObject *)
133  { vtkErrorMacro( << "AddInput() must be called with a vtkDataSet not a vtkDataObject."); };
134 
135 private:
137  void operator=(const vtkProgrammableAttributeDataFilter&); // Not implemented.
138 };
139 
140 #endif
141 
142