Common/vtkProcessObject.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00067 #ifndef __vtkProcessObject_h
00068 #define __vtkProcessObject_h
00069
00070 #include "vtkObject.h"
00071
00072 class vtkDataObject;
00073
00074 class VTK_COMMON_EXPORT vtkProcessObject : public vtkObject
00075 {
00076 public:
00077 vtkTypeRevisionMacro(vtkProcessObject,vtkObject);
00078 void PrintSelf(ostream& os, vtkIndent indent);
00079
00081 void SetStartMethod(void (*f)(void *), void *arg);
00082
00084 void SetProgressMethod(void (*f)(void *), void *arg);
00085
00087 void SetEndMethod(void (*f)(void *), void *arg);
00088
00090 void SetStartMethodArgDelete(void (*f)(void *));
00091
00093 void SetProgressMethodArgDelete(void (*f)(void *));
00094
00096 void SetEndMethodArgDelete(void (*f)(void *));
00097
00099
00101 vtkSetMacro(AbortExecute,int);
00102 vtkGetMacro(AbortExecute,int);
00103 vtkBooleanMacro(AbortExecute,int);
00105
00107
00108 vtkSetClampMacro(Progress,float,0.0f,1.0f);
00109 vtkGetMacro(Progress,float);
00111
00115 void UpdateProgress(float amount);
00116
00118
00120 vtkSetStringMacro(ProgressText);
00121 vtkGetStringMacro(ProgressText);
00123
00124
00125 int AbortExecute;
00126
00128
00130 vtkDataObject **GetInputs() {return this->Inputs;}
00131 vtkGetMacro(NumberOfInputs,int);
00133
00136 void SqueezeInputArray();
00137
00139 void RemoveAllInputs();
00140
00141 protected:
00142 vtkProcessObject();
00143 ~vtkProcessObject();
00144
00145
00146 unsigned long StartTag;
00147 unsigned long ProgressTag;
00148 unsigned long EndTag;
00149 float Progress;
00150 char *ProgressText;
00151
00152 int NumberOfInputs;
00153 int NumberOfRequiredInputs;
00154 vtkDataObject **Inputs;
00155
00156
00157 vtkDataObject **SortedInputs;
00158
00159
00160 vtkDataObject **SortedInputs2;
00161 void SortInputsByLocality();
00162
00163 void SortMerge(vtkDataObject **a1, int l1,
00164 vtkDataObject **a2, int l2,
00165 vtkDataObject **results);
00166
00167
00168 void SetNumberOfInputs(int num);
00169
00170
00171 virtual void SetNthInput(int num, vtkDataObject *input);
00172 virtual void AddInput(vtkDataObject *input);
00173 virtual void RemoveInput(vtkDataObject *input);
00174
00175 private:
00176 vtkProcessObject(const vtkProcessObject&);
00177 void operator=(const vtkProcessObject&);
00178 };
00179
00180 #endif
00181