Common/vtkProcessObject.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00047 #ifndef __vtkProcessObject_h
00048 #define __vtkProcessObject_h
00049
00050 #include "vtkObject.h"
00051
00052 class vtkDataObject;
00053
00054 class VTK_COMMON_EXPORT vtkProcessObject : public vtkObject
00055 {
00056 public:
00057 vtkTypeRevisionMacro(vtkProcessObject,vtkObject);
00058 void PrintSelf(ostream& os, vtkIndent indent);
00059
00061
00063 vtkSetMacro(AbortExecute,int);
00064 vtkGetMacro(AbortExecute,int);
00065 vtkBooleanMacro(AbortExecute,int);
00067
00069
00070 vtkSetClampMacro(Progress,double,0.0,1.0);
00071 vtkGetMacro(Progress,double);
00073
00077 void UpdateProgress(double amount);
00078
00080
00082 vtkSetStringMacro(ProgressText);
00083 vtkGetStringMacro(ProgressText);
00085
00086
00087 int AbortExecute;
00088
00090
00092 vtkDataObject **GetInputs() {return this->Inputs;}
00093 vtkGetMacro(NumberOfInputs,int);
00095
00098 void SqueezeInputArray();
00099
00101 void RemoveAllInputs();
00102
00104
00106 vtkGetMacro( ErrorCode, unsigned long );
00108
00109 protected:
00110 vtkProcessObject();
00111 ~vtkProcessObject();
00112
00113
00114 double Progress;
00115 char *ProgressText;
00116
00117 int NumberOfInputs;
00118 int NumberOfRequiredInputs;
00119 vtkDataObject **Inputs;
00120
00121
00122 vtkDataObject **SortedInputs;
00123
00124
00125 vtkDataObject **SortedInputs2;
00126 void SortInputsByLocality();
00127
00128 void SortMerge(vtkDataObject **a1, int l1,
00129 vtkDataObject **a2, int l2,
00130 vtkDataObject **results);
00131
00132
00133 void SetNumberOfInputs(int num);
00134
00135
00136 virtual void SetNthInput(int num, vtkDataObject *input);
00137 virtual void AddInput(vtkDataObject *input);
00138 virtual void RemoveInput(vtkDataObject *input);
00139
00141
00143 vtkSetMacro( ErrorCode, unsigned long );
00144 unsigned long ErrorCode;
00146
00147 private:
00148 vtkProcessObject(const vtkProcessObject&);
00149 void operator=(const vtkProcessObject&);
00150 };
00151
00152 #endif
00153