1 /*=========================================================================
3 Program: Visualization Toolkit
4 Module: vtkTemporalUGWavelet.h
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
14 =========================================================================*/
16 * @class vtkTemporalUGWavelet
17 * @brief Create a Temporal Unstructured Grid Wavelet with a static mesh
19 * vtkTemporalUGWavelet specialize vtkRTAnalyticSource to create
20 * a wavelet converted to vtkUnstructuredGrid, with timesteps.
21 * The "tPoint" and "tCell" arrays are the only data actually changing
22 * over time, the geometry is generated once and then not modified.
25 #ifndef vtkTemporalUGWavelet_h
26 #define vtkTemporalUGWavelet_h
29 #include <vtkRTAnalyticSource.h>
31 #include "StaticMeshModuleModule.h"
33 class vtkUnstructuredGrid;
35 class STATICMESHMODULE_EXPORT vtkTemporalUGWavelet : public vtkRTAnalyticSource
38 static vtkTemporalUGWavelet* New();
39 vtkTypeMacro(vtkTemporalUGWavelet, vtkRTAnalyticSource);
40 void PrintSelf(ostream& os, vtkIndent indent) override;
44 * Set/Get the number of time steps. Initial value is 10.
46 vtkSetMacro(NumberOfTimeSteps, int);
47 vtkGetMacro(NumberOfTimeSteps, int);
51 vtkTemporalUGWavelet() = default;
52 ~vtkTemporalUGWavelet() override = default;
56 * see vtkDataSetAlgorithm
58 int FillOutputPortInformation(int vtkNotUsed(port), vtkInformation* info) override;
59 int RequestInformation(vtkInformation* request, vtkInformationVector** inputVector,
60 vtkInformationVector* outputVector) override;
61 int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override;
65 vtkTemporalUGWavelet(const vtkTemporalUGWavelet&) = delete;
66 void operator=(const vtkTemporalUGWavelet&) = delete;
68 int NumberOfTimeSteps = 10;
69 vtkNew<vtkUnstructuredGrid> Cache;
70 vtkTimeStamp CacheMTime;