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 
54 #ifndef _vtkTemporalStatistics_h
55 #define _vtkTemporalStatistics_h
56 
57 #include "vtkFiltersGeneralModule.h" // For export macro
59 
61 class vtkDataSet;
62 class vtkFieldData;
63 class vtkGraph;
64 
66 {
67 public:
69  static vtkTemporalStatistics *New();
70  virtual void PrintSelf(ostream &os, vtkIndent indent);
71 
73 
75  vtkGetMacro(ComputeAverage, int);
76  vtkSetMacro(ComputeAverage, int);
77  vtkBooleanMacro(ComputeAverage, int);
79 
81 
83  vtkGetMacro(ComputeMinimum, int);
84  vtkSetMacro(ComputeMinimum, int);
85  vtkBooleanMacro(ComputeMinimum, int);
87 
89 
91  vtkGetMacro(ComputeMaximum, int);
92  vtkSetMacro(ComputeMaximum, int);
93  vtkBooleanMacro(ComputeMaximum, int);
95 
96  // Definition:
97  // Turn on/off the computation of the standard deviation of the values over
98  // time. On by default. The resulting array names have "_stddev" appended to
99  // them.
100  vtkGetMacro(ComputeStandardDeviation, int);
101  vtkSetMacro(ComputeStandardDeviation, int);
102  vtkBooleanMacro(ComputeStandardDeviation, int);
103 
104 protected:
107 
112 
113  // Used when iterating the pipeline to keep track of which timestep we are on.
115 
117 
118  virtual int RequestDataObject(vtkInformation *request,
119  vtkInformationVector **inputVector,
120  vtkInformationVector *outputVector);
121  virtual int RequestInformation(vtkInformation *request,
122  vtkInformationVector **inputVector,
123  vtkInformationVector *outputVector);
124  virtual int RequestUpdateExtent(vtkInformation *request,
125  vtkInformationVector **inputVector,
126  vtkInformationVector *outputVector);
127  virtual int RequestData(vtkInformation *request,
128  vtkInformationVector **inputVector,
129  vtkInformationVector *outputVector);
130 
131  virtual void InitializeStatistics(vtkDataObject *input,
132  vtkDataObject *output);
133  virtual void InitializeStatistics(vtkDataSet *input, vtkDataSet *output);
134  virtual void InitializeStatistics(vtkGraph *input, vtkGraph *output);
135  virtual void InitializeStatistics(vtkCompositeDataSet *input,
136  vtkCompositeDataSet *output);
137  virtual void InitializeArrays(vtkFieldData *inFd, vtkFieldData *outFd);
138  virtual void InitializeArray(vtkDataArray *array, vtkFieldData *outFd);
139 
140  virtual void AccumulateStatistics(vtkDataObject *input,
141  vtkDataObject *output);
142  virtual void AccumulateStatistics(vtkDataSet *input, vtkDataSet *output);
143  virtual void AccumulateStatistics(vtkGraph *input, vtkGraph *output);
144  virtual void AccumulateStatistics(vtkCompositeDataSet *input,
145  vtkCompositeDataSet *output);
146  virtual void AccumulateArrays(vtkFieldData *inFd, vtkFieldData *outFd);
147 
148  virtual void PostExecute(vtkDataObject *input, vtkDataObject *output);
149  virtual void PostExecute(vtkDataSet *input, vtkDataSet *output);
150  virtual void PostExecute(vtkGraph *input, vtkGraph *output);
151  virtual void PostExecute(vtkCompositeDataSet *input,
152  vtkCompositeDataSet *output);
153  virtual void FinishArrays(vtkFieldData *inFd, vtkFieldData *outFd);
154 
155  virtual vtkDataArray *GetArray(vtkFieldData *fieldData,
156  vtkDataArray *inArray,
157  const char *nameSuffix);
158 
159 private:
160  vtkTemporalStatistics(const vtkTemporalStatistics &); // Not implemented.
161  void operator=(const vtkTemporalStatistics &); // Not implemented.
162 };
163 
164 #endif //_vtkTemporalStatistics_h
virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
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:61
Base class for graph data types.
Definition: vtkGraph.h:288
virtual int FillInputPortInformation(int port, vtkInformation *info)
abstract superclass for composite (multi-block or AMR) datasets
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
a simple class to control print indentation
Definition: vtkIndent.h:38
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:54
#define VTKFILTERSGENERAL_EXPORT
virtual int RequestDataObject(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
void PrintSelf(ostream &os, vtkIndent indent)
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:64
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
static vtkPassInputTypeAlgorithm * New()
represent and manipulate fields of data
Definition: vtkFieldData.h:55