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 "vtkFiltersProgrammableModule.h" // For export macro
83 #include "vtkDataSetAlgorithm.h"
84 
86 
88 {
89 public:
92  void PrintSelf(ostream& os, vtkIndent indent);
93 
95  void AddInput(vtkDataSet *in);
96 
98  void RemoveInput(vtkDataSet *in);
99 
101  vtkDataSetCollection *GetInputList() {return this->InputList;};
102 
110  typedef void (*ProgrammableMethodCallbackType)(void *arg);
111 
114  void SetExecuteMethod(void (*f)(void *), void *arg);
115 
117  void SetExecuteMethodArgDelete(void (*f)(void *));
118 
119 protected:
122 
124  vtkDataSetCollection *InputList; //list of datasets to process
125  ProgrammableMethodCallbackType ExecuteMethod; //function to invoke
126  ProgrammableMethodCallbackType ExecuteMethodArgDelete;
128 
129  virtual void ReportReferences(vtkGarbageCollector*);
130 
131 private:
132  // hide the superclass' AddInput() from the user and the compiler
133  void AddInput(vtkDataObject *)
134  { vtkErrorMacro( << "AddInput() must be called with a vtkDataSet not a vtkDataObject."); };
135 
136 private:
138  void operator=(const vtkProgrammableAttributeDataFilter&); // Not implemented.
139 };
140 
141 #endif
142 
143 
maintain an unordered list of dataset objects
Store vtkAlgorithm input/output information.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:61
Detect and break reference loops.
virtual void ReportReferences(vtkGarbageCollector *)
a simple class to control print indentation
Definition: vtkIndent.h:38
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
manipulate attribute (cell and point) data via a user-specified function
#define VTKFILTERSPROGRAMMABLE_EXPORT
Store zero or more vtkInformation instances.
void PrintSelf(ostream &os, vtkIndent indent)
Superclass for algorithms that produce output of the same type as input.
general representation of visualization data
Definition: vtkDataObject.h:64
static vtkDataSetAlgorithm * New()