VTK  9.3.1
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 
54  static vtkTemporalStatistics* New();
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:
98  ~vtkTemporalStatistics() override;
99 
104 
105  // Used when iterating the pipeline to keep track of which timestep we are on.
107 
108  int FillInputPortInformation(int port, vtkInformation* info) override;
109 
110  int RequestDataObject(vtkInformation* request, vtkInformationVector** inputVector,
111  vtkInformationVector* outputVector) override;
112  int RequestInformation(vtkInformation* request, vtkInformationVector** inputVector,
113  vtkInformationVector* outputVector) override;
114  int RequestUpdateExtent(vtkInformation* request, vtkInformationVector** inputVector,
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);
122  virtual void InitializeStatistics(vtkCompositeDataSet* input, vtkCompositeDataSet* 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);
129  virtual void AccumulateStatistics(vtkCompositeDataSet* input, vtkCompositeDataSet* 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 
138  virtual vtkDataArray* GetArray(
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
virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called within ProcessRequest when a request asks for Information.
Superclass for algorithms that produce output of the same type as input.
Store vtkAlgorithm input/output information.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:52
int vtkTypeBool
Definition: vtkABI.h:64
Base class for graph data types.
Definition: vtkGraph.h:280
abstract superclass for composite (multi-block or AMR) datasets
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called within ProcessRequest when each filter in the pipeline decides what portion of its inp...
a simple class to control print indentation
Definition: vtkIndent.h:28
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:44
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
virtual int RequestDataObject(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called within ProcessRequest when a request asks the algorithm to create empty output data ob...
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Store zero or more vtkInformation instances.
Compute statistics of point or cell data as it changes over time.
general representation of visualization data
Definition: vtkDataObject.h:54
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called within ProcessRequest when a request asks the algorithm to do its work.
static vtkPassInputTypeAlgorithm * New()
represent and manipulate fields of data
Definition: vtkFieldData.h:51