VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkExtractArraysOverTime.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00035 #ifndef __vtkExtractArraysOverTime_h 00036 #define __vtkExtractArraysOverTime_h 00037 00038 #include "vtkFiltersExtractionModule.h" // For export macro 00039 #include "vtkMultiBlockDataSetAlgorithm.h" 00040 00041 class vtkSelection; 00042 class vtkDataSet; 00043 class vtkTable; 00044 class vtkExtractSelection; 00045 class vtkDataSetAttributes; 00046 00047 class VTKFILTERSEXTRACTION_EXPORT vtkExtractArraysOverTime : public vtkMultiBlockDataSetAlgorithm 00048 { 00049 public: 00050 static vtkExtractArraysOverTime *New(); 00051 vtkTypeMacro(vtkExtractArraysOverTime, vtkMultiBlockDataSetAlgorithm); 00052 void PrintSelf(ostream& os, vtkIndent indent); 00053 00055 00056 vtkGetMacro(NumberOfTimeSteps,int); 00058 00060 00062 void SetSelectionConnection(vtkAlgorithmOutput* algOutput) 00063 { 00064 this->SetInputConnection(1, algOutput); 00065 } 00067 00069 00074 virtual void SetSelectionExtractor(vtkExtractSelection*); 00075 vtkGetObjectMacro(SelectionExtractor,vtkExtractSelection); 00077 00079 00085 vtkSetMacro(ReportStatisticsOnly,int); 00086 vtkGetMacro(ReportStatisticsOnly,int); 00087 vtkBooleanMacro(ReportStatisticsOnly,int); 00089 00090 //BTX 00091 protected: 00092 vtkExtractArraysOverTime(); 00093 ~vtkExtractArraysOverTime(); 00094 00095 virtual int RequestInformation(vtkInformation* request, 00096 vtkInformationVector** inputVector, 00097 vtkInformationVector* outputVector); 00098 virtual int RequestUpdateExtent(vtkInformation* request, 00099 vtkInformationVector** inputVector, 00100 vtkInformationVector* outputVector); 00101 virtual int RequestData(vtkInformation* request, 00102 vtkInformationVector** inputVector, 00103 vtkInformationVector* outputVector); 00104 00105 virtual void PostExecute(vtkInformation* request, 00106 vtkInformationVector** inputVector, 00107 vtkInformationVector* outputVector); 00108 00113 int DetermineSelectionType(vtkSelection*); 00114 00115 virtual int FillInputPortInformation(int port, vtkInformation* info); 00116 00118 00120 bool UpdateFastPathIDs( 00121 vtkInformationVector** inputV, vtkInformation* outInfo); 00123 00127 void CopyFastPathDataToOutput(vtkDataSet *input, vtkTable *output); 00128 00129 00130 void ExecuteAtTimeStep(vtkInformationVector** inputV, 00131 vtkInformation* outInfo); 00132 00133 int CurrentTimeIndex; 00134 int NumberOfTimeSteps; 00135 00136 int FieldType; 00137 int ContentType; 00138 00139 bool WaitingForFastPathData; 00140 bool IsExecuting; 00141 bool UseFastPath; 00142 00143 int ReportStatisticsOnly; 00144 00145 int Error; 00146 00147 enum Errors 00148 { 00149 NoError, 00150 MoreThan1Indices 00151 }; 00152 00153 vtkExtractSelection* SelectionExtractor; 00154 00155 private: 00156 vtkExtractArraysOverTime(const vtkExtractArraysOverTime&); // Not implemented. 00157 void operator=(const vtkExtractArraysOverTime&); // Not implemented. 00158 00159 class vtkInternal; 00160 vtkInternal *Internal; 00161 00162 //ETX 00163 }; 00164 00165 #endif