VTK
vtkTemporalStatistics.h
Go to the documentation of this file.
1 // -*- c++ -*-
2 /*=========================================================================
3 
4  Program: Visualization Toolkit
5  Module: vtkTemporalStatistics.h
6 
7  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
8  All rights reserved.
9  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
10 
11  This software is distributed WITHOUT ANY WARRANTY; without even
12  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
13  PURPOSE. See the above copyright notice for more information.
14 
15 =========================================================================*/
16 
17 /*
18  * Copyright 2008 Sandia Corporation.
19  * Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
20  * license for use of this work by or on behalf of the
21  * U.S. Government. Redistribution and use in source and binary forms, with
22  * or without modification, are permitted provided that this Notice and any
23  * statement of authorship are reproduced on all copies.
24  */
25 
55 #ifndef vtkTemporalStatistics_h
56 #define vtkTemporalStatistics_h
57 
58 #include "vtkFiltersGeneralModule.h" // For export macro
60 
62 class vtkDataSet;
63 class vtkFieldData;
64 class vtkGraph;
65 
66 class VTKFILTERSGENERAL_EXPORT vtkTemporalStatistics : public vtkPassInputTypeAlgorithm
67 {
68 public:
70  static vtkTemporalStatistics *New();
71  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
72 
74 
78  vtkGetMacro(ComputeAverage, int);
79  vtkSetMacro(ComputeAverage, int);
80  vtkBooleanMacro(ComputeAverage, int);
82 
84 
88  vtkGetMacro(ComputeMinimum, int);
89  vtkSetMacro(ComputeMinimum, int);
90  vtkBooleanMacro(ComputeMinimum, int);
92 
94 
98  vtkGetMacro(ComputeMaximum, int);
99  vtkSetMacro(ComputeMaximum, int);
100  vtkBooleanMacro(ComputeMaximum, int);
102 
103  // Definition:
104  // Turn on/off the computation of the standard deviation of the values over
105  // time. On by default. The resulting array names have "_stddev" appended to
106  // them.
107  vtkGetMacro(ComputeStandardDeviation, int);
108  vtkSetMacro(ComputeStandardDeviation, int);
109  vtkBooleanMacro(ComputeStandardDeviation, int);
110 
111 protected:
113  ~vtkTemporalStatistics() VTK_OVERRIDE;
114 
115  int ComputeAverage;
116  int ComputeMaximum;
117  int ComputeMinimum;
118  int ComputeStandardDeviation;
119 
120  // Used when iterating the pipeline to keep track of which timestep we are on.
121  int CurrentTimeIndex;
122 
123  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
124 
125  int RequestDataObject(vtkInformation *request,
126  vtkInformationVector **inputVector,
127  vtkInformationVector *outputVector) VTK_OVERRIDE;
128  int RequestInformation(vtkInformation *request,
129  vtkInformationVector **inputVector,
130  vtkInformationVector *outputVector) VTK_OVERRIDE;
131  int RequestUpdateExtent(vtkInformation *request,
132  vtkInformationVector **inputVector,
133  vtkInformationVector *outputVector) VTK_OVERRIDE;
134  int RequestData(vtkInformation *request,
135  vtkInformationVector **inputVector,
136  vtkInformationVector *outputVector) VTK_OVERRIDE;
137 
138  virtual void InitializeStatistics(vtkDataObject *input,
139  vtkDataObject *output);
140  virtual void InitializeStatistics(vtkDataSet *input, vtkDataSet *output);
141  virtual void InitializeStatistics(vtkGraph *input, vtkGraph *output);
142  virtual void InitializeStatistics(vtkCompositeDataSet *input,
143  vtkCompositeDataSet *output);
144  virtual void InitializeArrays(vtkFieldData *inFd, vtkFieldData *outFd);
145  virtual void InitializeArray(vtkDataArray *array, vtkFieldData *outFd);
146 
147  virtual void AccumulateStatistics(vtkDataObject *input,
148  vtkDataObject *output);
149  virtual void AccumulateStatistics(vtkDataSet *input, vtkDataSet *output);
150  virtual void AccumulateStatistics(vtkGraph *input, vtkGraph *output);
151  virtual void AccumulateStatistics(vtkCompositeDataSet *input,
152  vtkCompositeDataSet *output);
153  virtual void AccumulateArrays(vtkFieldData *inFd, vtkFieldData *outFd);
154 
155  virtual void PostExecute(vtkDataObject *input, vtkDataObject *output);
156  virtual void PostExecute(vtkDataSet *input, vtkDataSet *output);
157  virtual void PostExecute(vtkGraph *input, vtkGraph *output);
158  virtual void PostExecute(vtkCompositeDataSet *input,
159  vtkCompositeDataSet *output);
160  virtual void FinishArrays(vtkFieldData *inFd, vtkFieldData *outFd);
161 
162  virtual vtkDataArray *GetArray(vtkFieldData *fieldData,
163  vtkDataArray *inArray,
164  const char *nameSuffix);
165 
166 private:
167  vtkTemporalStatistics(const vtkTemporalStatistics &) VTK_DELETE_FUNCTION;
168  void operator=(const vtkTemporalStatistics &) VTK_DELETE_FUNCTION;
169 
171 
176  bool GeneratedChangingTopologyWarning;
177 };
179 
180 #endif //_vtkTemporalStatistics_h
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:62
Base class for graph data types.
Definition: vtkGraph.h:287
abstract superclass for composite (multi-block or AMR) datasets
a simple class to control print indentation
Definition: vtkIndent.h:39
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:54
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
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.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
general representation of visualization data
Definition: vtkDataObject.h:64
static vtkPassInputTypeAlgorithm * New()
represent and manipulate fields of data
Definition: vtkFieldData.h:56