dox/Common/vtkSource.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00051 #ifndef __vtkSource_h
00052 #define __vtkSource_h
00053
00054 #include "vtkProcessObject.h"
00055
00056 class vtkDataObject;
00057 class vtkErrorCode;
00058
00059 class VTK_COMMON_EXPORT vtkSource : public vtkProcessObject
00060 {
00061 public:
00062 vtkTypeRevisionMacro(vtkSource,vtkProcessObject);
00063 void PrintSelf(ostream& os, vtkIndent indent);
00064
00068 virtual void Update();
00069
00072 virtual void UpdateWholeExtent();
00073
00076 virtual void UpdateInformation();
00077
00078 virtual void PropagateUpdateExtent(vtkDataObject *output);
00079
00080 virtual void TriggerAsynchronousUpdate();
00081
00082 virtual void UpdateData(vtkDataObject *output);
00083
00087 virtual void ComputeInputUpdateExtents( vtkDataObject *output );
00088
00090
00092 virtual void SetReleaseDataFlag(int);
00093 virtual int GetReleaseDataFlag();
00094 vtkBooleanMacro(ReleaseDataFlag,int);
00096
00098 virtual void UnRegister(vtkObjectBase *o);
00099
00101 virtual int InRegisterLoop(vtkObject *);
00102
00104
00106 vtkDataObject **GetOutputs();
00107 vtkGetMacro(NumberOfOutputs,int);
00109
00113 void UnRegisterAllOutputs(void);
00114
00117 int GetOutputIndex(vtkDataObject *out);
00118
00120
00122 vtkGetMacro( ErrorCode, unsigned long );
00124
00125 protected:
00126 vtkSource();
00127 ~vtkSource();
00128
00130
00133 virtual void ExecuteData(vtkDataObject *vtkNotUsed(output)) {
00134 this->Execute(); };
00136
00138 virtual void Execute();
00139
00140
00141
00142 virtual void ExecuteInformation();
00143
00144
00145 void SetNumberOfOutputs(int num);
00146
00147
00148 vtkDataObject *GetOutput(int idx);
00149
00150
00151 virtual void SetNthOutput(int num, vtkDataObject *output);
00152 virtual void AddOutput(vtkDataObject *output);
00153 virtual void RemoveOutput(vtkDataObject *output);
00154
00155 vtkDataObject **Outputs;
00156 int NumberOfOutputs;
00157 int Updating;
00158
00159 vtkTimeStamp InformationTime;
00160
00162
00164 vtkSetMacro( ErrorCode, unsigned long );
00166 private:
00167 vtkSource(const vtkSource&);
00168 void operator=(const vtkSource&);
00169
00170 unsigned long ErrorCode;
00171 };
00172
00173 #endif
00174
00175
00176