VTK  9.3.0
vtkTemporalStatistics.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-FileCopyrightText: Copyright 2008 Sandia Corporation
3 // SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Sandia-NVIDIA-USGov
4 
34 #ifndef vtkTemporalStatistics_h
35 #define vtkTemporalStatistics_h
36 
37 #include "vtkFiltersGeneralModule.h" // For export macro
39 
40 VTK_ABI_NAMESPACE_BEGIN
42 class vtkDataSet;
43 class vtkFieldData;
44 class vtkGraph;
45 
46 class VTKFILTERSGENERAL_EXPORT vtkTemporalStatistics : public vtkPassInputTypeAlgorithm
47 {
48 public:
50 
55  void PrintSelf(ostream& os, vtkIndent indent) override;
57 
59 
63  vtkGetMacro(ComputeAverage, vtkTypeBool);
64  vtkSetMacro(ComputeAverage, vtkTypeBool);
65  vtkBooleanMacro(ComputeAverage, vtkTypeBool);
67 
69 
73  vtkGetMacro(ComputeMinimum, vtkTypeBool);
74  vtkSetMacro(ComputeMinimum, vtkTypeBool);
75  vtkBooleanMacro(ComputeMinimum, vtkTypeBool);
77 
79 
83  vtkGetMacro(ComputeMaximum, vtkTypeBool);
84  vtkSetMacro(ComputeMaximum, vtkTypeBool);
85  vtkBooleanMacro(ComputeMaximum, vtkTypeBool);
87 
88  // Definition:
89  // Turn on/off the computation of the standard deviation of the values over
90  // time. On by default. The resulting array names have "_stddev" appended to
91  // them.
92  vtkGetMacro(ComputeStandardDeviation, vtkTypeBool);
93  vtkSetMacro(ComputeStandardDeviation, vtkTypeBool);
94  vtkBooleanMacro(ComputeStandardDeviation, vtkTypeBool);
95 
96 protected:
99 
104 
105  // Used when iterating the pipeline to keep track of which timestep we are on.
107 
109 
111  vtkInformationVector* outputVector) override;
113  vtkInformationVector* outputVector) override;
115  vtkInformationVector* outputVector) override;
116  int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
117  vtkInformationVector* outputVector) override;
118 
119  virtual void InitializeStatistics(vtkDataObject* input, vtkDataObject* output);
120  virtual void InitializeStatistics(vtkDataSet* input, vtkDataSet* output);
121  virtual void InitializeStatistics(vtkGraph* input, vtkGraph* output);
123  virtual void InitializeArrays(vtkFieldData* inFd, vtkFieldData* outFd);
124  virtual void InitializeArray(vtkDataArray* array, vtkFieldData* outFd);
125 
126  virtual void AccumulateStatistics(vtkDataObject* input, vtkDataObject* output);
127  virtual void AccumulateStatistics(vtkDataSet* input, vtkDataSet* output);
128  virtual void AccumulateStatistics(vtkGraph* input, vtkGraph* output);
130  virtual void AccumulateArrays(vtkFieldData* inFd, vtkFieldData* outFd);
131 
132  virtual void PostExecute(vtkDataObject* input, vtkDataObject* output);
133  virtual void PostExecute(vtkDataSet* input, vtkDataSet* output);
134  virtual void PostExecute(vtkGraph* input, vtkGraph* output);
135  virtual void PostExecute(vtkCompositeDataSet* input, vtkCompositeDataSet* output);
136  virtual void FinishArrays(vtkFieldData* inFd, vtkFieldData* outFd);
137 
139  vtkFieldData* fieldData, vtkDataArray* inArray, const char* nameSuffix);
140 
141 private:
143  void operator=(const vtkTemporalStatistics&) = delete;
144 
146 
151  bool GeneratedChangingTopologyWarning;
153 };
154 
155 VTK_ABI_NAMESPACE_END
156 #endif //_vtkTemporalStatistics_h
abstract superclass for composite (multi-block or AMR) datasets
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:45
general representation of visualization data
Definition: vtkDataObject.h:55
abstract class to specify dataset behavior
Definition: vtkDataSet.h:53
represent and manipulate fields of data
Definition: vtkFieldData.h:52
Base class for graph data types.
Definition: vtkGraph.h:281
a simple class to control print indentation
Definition: vtkIndent.h:29
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce output of the same type as input.
Compute statistics of point or cell data as it changes over time.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
int RequestUpdateExtent(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called within ProcessRequest when each filter in the pipeline decides what portion of its inp...
virtual void InitializeStatistics(vtkDataObject *input, vtkDataObject *output)
virtual void PostExecute(vtkCompositeDataSet *input, vtkCompositeDataSet *output)
static vtkTemporalStatistics * New()
Standard methods for instantiation, type information, and printing.
int RequestDataObject(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called within ProcessRequest when a request asks the algorithm to create empty output data ob...
~vtkTemporalStatistics() override
virtual void InitializeStatistics(vtkCompositeDataSet *input, vtkCompositeDataSet *output)
virtual void AccumulateStatistics(vtkGraph *input, vtkGraph *output)
virtual void AccumulateStatistics(vtkCompositeDataSet *input, vtkCompositeDataSet *output)
virtual void FinishArrays(vtkFieldData *inFd, vtkFieldData *outFd)
virtual void AccumulateStatistics(vtkDataObject *input, vtkDataObject *output)
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for instantiation, type information, and printing.
virtual vtkDataArray * GetArray(vtkFieldData *fieldData, vtkDataArray *inArray, const char *nameSuffix)
virtual void AccumulateArrays(vtkFieldData *inFd, vtkFieldData *outFd)
int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called within ProcessRequest when a request asks for Information.
virtual void InitializeStatistics(vtkDataSet *input, vtkDataSet *output)
virtual void InitializeStatistics(vtkGraph *input, vtkGraph *output)
virtual void AccumulateStatistics(vtkDataSet *input, vtkDataSet *output)
virtual void InitializeArrays(vtkFieldData *inFd, vtkFieldData *outFd)
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called within ProcessRequest when a request asks the algorithm to do its work.
virtual void PostExecute(vtkGraph *input, vtkGraph *output)
virtual void PostExecute(vtkDataObject *input, vtkDataObject *output)
virtual void PostExecute(vtkDataSet *input, vtkDataSet *output)
virtual void InitializeArray(vtkDataArray *array, vtkFieldData *outFd)
@ info
Definition: vtkX3D.h:376
@ port
Definition: vtkX3D.h:447
int vtkTypeBool
Definition: vtkABI.h:64