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 "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 //BTX 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&); // Not implemented. 00130 void operator=(const vtkExtractArraysOverTime&); // Not implemented. 00131 00132 class vtkInternal; 00133 vtkInternal *Internal; 00134 00135 //ETX 00136 }; 00137 00138 #endif 00139 00140 00141