vtkStreamingDemandDrivenPipeline.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00031 #ifndef __vtkStreamingDemandDrivenPipeline_h
00032 #define __vtkStreamingDemandDrivenPipeline_h
00033
00034 #include "vtkDemandDrivenPipeline.h"
00035
00036 class vtkExtentTranslator;
00037 class vtkInformationDoubleVectorKey;
00038 class vtkInformationIntegerKey;
00039 class vtkInformationIntegerVectorKey;
00040 class vtkInformationObjectBaseKey;
00041
00042 class VTK_FILTERING_EXPORT vtkStreamingDemandDrivenPipeline : public vtkDemandDrivenPipeline
00043 {
00044 public:
00045 static vtkStreamingDemandDrivenPipeline* New();
00046 vtkTypeRevisionMacro(vtkStreamingDemandDrivenPipeline,vtkDemandDrivenPipeline);
00047 void PrintSelf(ostream& os, vtkIndent indent);
00048
00050
00052 virtual int Update();
00053 virtual int Update(int port);
00054 virtual int Update(vtkAlgorithm* algorithm);
00055 virtual int UpdateWholeExtent(vtkAlgorithm* algorithm);
00056 virtual int Update(vtkAlgorithm* algorithm, int port);
00058
00059 virtual int UpdateData(int outputPort);
00060
00061 static vtkInformationIntegerKey* CONTINUE_EXECUTING();
00062 static vtkInformationObjectBaseKey* EXTENT_TRANSLATOR();
00063 static vtkInformationIntegerKey* MAXIMUM_NUMBER_OF_PIECES();
00064 static vtkInformationIntegerKey* REQUEST_UPDATE_EXTENT();
00065 static vtkInformationIntegerKey* UPDATE_EXTENT_INITIALIZED();
00066 static vtkInformationIntegerVectorKey* UPDATE_EXTENT();
00067 static vtkInformationIntegerKey* UPDATE_PIECE_NUMBER();
00068 static vtkInformationIntegerKey* UPDATE_NUMBER_OF_PIECES();
00069 static vtkInformationIntegerKey* UPDATE_NUMBER_OF_GHOST_LEVELS();
00070 static vtkInformationIntegerVectorKey* WHOLE_EXTENT();
00071 static vtkInformationDoubleVectorKey* WHOLE_BOUNDING_BOX();
00072 static vtkInformationIntegerKey* EXACT_EXTENT();
00073
00074 int PropagateUpdateExtent(int outputPort);
00075
00076 int SetMaximumNumberOfPieces(int port, int n);
00077 int GetMaximumNumberOfPieces(int port);
00078 int SetWholeExtent(int port, int extent[6]);
00079 void GetWholeExtent(int port, int extent[6]);
00080 int* GetWholeExtent(int port);
00081 int SetUpdateExtentToWholeExtent(int port);
00082 int SetUpdateExtent(int port, int extent[6]);
00083 void GetUpdateExtent(int port, int extent[6]);
00084 int* GetUpdateExtent(int port);
00085 int SetUpdateExtent(int port, int piece, int numPieces, int ghostLevel);
00086 int SetUpdatePiece(int port, int piece);
00087 int GetUpdatePiece(int port);
00088 int SetUpdateNumberOfPieces(int port, int n);
00089 int GetUpdateNumberOfPieces(int port);
00090 int SetUpdateGhostLevel(int port, int n);
00091 int GetUpdateGhostLevel(int port);
00092 int SetRequestExactExtent(int port, int flag);
00093 int GetRequestExactExtent(int port);
00094 int SetExtentTranslator(int port, vtkExtentTranslator* translator);
00095 vtkExtentTranslator* GetExtentTranslator(int port);
00096 int SetWholeBoundingBox(int port, double bb[6]);
00097 void GetWholeBoundingBox(int port, double bb[6]);
00098 double* GetWholeBoundingBox(int port);
00099
00100 protected:
00101 vtkStreamingDemandDrivenPipeline();
00102 ~vtkStreamingDemandDrivenPipeline();
00103
00104 virtual int ExecuteInformation();
00105 virtual void CopyDefaultDownstreamInformation();
00106 virtual void CopyDefaultUpstreamInformation(int outputPort);
00107 int VerifyOutputInformation(int outputPort);
00108 virtual int NeedToExecuteData(int outputPort);
00109
00110
00111 virtual void FillDefaultOutputInformation(int port, vtkInformation*);
00112
00113
00114 virtual void ResetPipelineInformation(int port, vtkInformation*);
00115
00116 private:
00117 vtkStreamingDemandDrivenPipeline(const vtkStreamingDemandDrivenPipeline&);
00118 void operator=(const vtkStreamingDemandDrivenPipeline&);
00119 };
00120
00121 #endif