00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00035 #ifndef __vtkExtractArraysOverTime_h
00036 #define __vtkExtractArraysOverTime_h
00037
00038 #include "vtkMultiBlockDataSetAlgorithm.h"
00039
00040 class vtkSelection;
00041 class vtkDataSet;
00042 class vtkTable;
00043 class vtkExtractArraysOverTimeInternal;
00044 class vtkDataSetAttributes;
00045
00046 class VTK_GRAPHICS_EXPORT vtkExtractArraysOverTime : public vtkMultiBlockDataSetAlgorithm
00047 {
00048 public:
00049 static vtkExtractArraysOverTime *New();
00050 vtkTypeMacro(vtkExtractArraysOverTime, vtkMultiBlockDataSetAlgorithm);
00051 void PrintSelf(ostream& os, vtkIndent indent);
00052
00054
00055 vtkGetMacro(NumberOfTimeSteps,int);
00057
00059
00061 void SetSelectionConnection(vtkAlgorithmOutput* algOutput)
00062 {
00063 this->SetInputConnection(1, algOutput);
00064 }
00066
00067
00068 protected:
00069 vtkExtractArraysOverTime();
00070 ~vtkExtractArraysOverTime();
00071
00072 virtual int RequestInformation(vtkInformation* request,
00073 vtkInformationVector** inputVector,
00074 vtkInformationVector* outputVector);
00075 virtual int RequestUpdateExtent(vtkInformation* request,
00076 vtkInformationVector** inputVector,
00077 vtkInformationVector* outputVector);
00078 virtual int RequestData(vtkInformation* request,
00079 vtkInformationVector** inputVector,
00080 vtkInformationVector* outputVector);
00081
00082 virtual void PostExecute(vtkInformation* request,
00083 vtkInformationVector** inputVector,
00084 vtkInformationVector* outputVector);
00085
00090 int DetermineSelectionType(vtkSelection*);
00091
00092 virtual int FillInputPortInformation(int port, vtkInformation* info);
00093
00095
00097 bool UpdateFastPathIDs(
00098 vtkInformationVector** inputV, vtkInformation* outInfo);
00100
00104 void CopyFastPathDataToOutput(vtkDataSet *input, vtkTable *output);
00105
00106
00107 void ExecuteAtTimeStep(vtkInformationVector** inputV,
00108 vtkInformation* outInfo);
00109
00110 int CurrentTimeIndex;
00111 int NumberOfTimeSteps;
00112
00113 int FieldType;
00114 int ContentType;
00115
00116 bool WaitingForFastPathData;
00117 bool IsExecuting;
00118 bool UseFastPath;
00119
00120 int Error;
00121
00122 enum Errors
00123 {
00124 NoError,
00125 MoreThan1Indices
00126 };
00127
00128 private:
00129 vtkExtractArraysOverTime(const vtkExtractArraysOverTime&);
00130 void operator=(const vtkExtractArraysOverTime&);
00131
00132 class vtkInternal;
00133 vtkInternal *Internal;
00134
00135
00136 };
00137
00138 #endif
00139
00140
00141