]> SALOME platform Git repositories - modules/paravis.git/blob - src/Plugins/StaticMesh/plugin/StaticMeshModule/vtkTemporalUGWavelet.h
Salome HOME
[EDF24911] : StaticMesh option in Ensight Reader + Force Static Mesh Plugin. Synchron...
[modules/paravis.git] / src / Plugins / StaticMesh / plugin / StaticMeshModule / vtkTemporalUGWavelet.h
1 /*=========================================================================
2
3   Program:   Visualization Toolkit
4   Module:    vtkTemporalUGWavelet.h
5
6   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7   All rights reserved.
8   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
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.
13
14 =========================================================================*/
15 /**
16  * @class   vtkTemporalUGWavelet
17  * @brief   Create a Temporal Unstructured Grid Wavelet with a static mesh
18  *
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.
23  */
24
25 #ifndef vtkTemporalUGWavelet_h
26 #define vtkTemporalUGWavelet_h
27
28 #include <vtkNew.h>
29 #include <vtkRTAnalyticSource.h>
30
31 #include "StaticMeshModuleModule.h"
32
33 class vtkUnstructuredGrid;
34
35 class STATICMESHMODULE_EXPORT vtkTemporalUGWavelet : public vtkRTAnalyticSource
36 {
37 public:
38   static vtkTemporalUGWavelet* New();
39   vtkTypeMacro(vtkTemporalUGWavelet, vtkRTAnalyticSource);
40   void PrintSelf(ostream& os, vtkIndent indent) override;
41
42   //@{
43   /**
44    * Set/Get the number of time steps. Initial value is 10.
45    */
46   vtkSetMacro(NumberOfTimeSteps, int);
47   vtkGetMacro(NumberOfTimeSteps, int);
48   //@}
49
50 protected:
51   vtkTemporalUGWavelet() = default;
52   ~vtkTemporalUGWavelet() override = default;
53
54   //@{
55   /**
56    * see vtkDataSetAlgorithm
57    */
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;
62   //@}
63
64 private:
65   vtkTemporalUGWavelet(const vtkTemporalUGWavelet&) = delete;
66   void operator=(const vtkTemporalUGWavelet&) = delete;
67
68   int NumberOfTimeSteps = 10;
69   vtkNew<vtkUnstructuredGrid> Cache;
70   vtkTimeStamp CacheMTime;
71 };
72
73 #endif