VTK  9.5.20250803
vtkSpatioTemporalHarmonicsSource.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
41#ifndef vtkSpatioTemporalHarmonicsSource_h
42#define vtkSpatioTemporalHarmonicsSource_h
43
44#include "vtkFiltersSourcesModule.h" // For export macro
45#include "vtkImageAlgorithm.h"
46
47#include <memory>
48
49VTK_ABI_NAMESPACE_BEGIN
50class VTKFILTERSSOURCES_EXPORT vtkSpatioTemporalHarmonicsSource : public vtkImageAlgorithm
51{
52public:
54
56 void PrintSelf(ostream& os, vtkIndent indent) override;
57
59
63 vtkSetVector6Macro(WholeExtent, int);
64 vtkGetVector6Macro(WholeExtent, int);
66
71 void AddTimeStepValue(double timeStepValue);
72
77
84
89 void AddHarmonic(double amplitude, double temporalFrequency, double xWaveVector,
90 double yWaveVector, double zWaveVector, double phase);
91
96
103
104protected:
107
110
111private:
113 void operator=(const vtkSpatioTemporalHarmonicsSource&) = delete;
114
115 struct vtkInternals;
116 std::unique_ptr<vtkInternals> Internals;
117
118 int WholeExtent[6] = { -10, 10, -10, 10, -10, 10 };
119};
120
121VTK_ABI_NAMESPACE_END
122#endif
Generic algorithm superclass for image algs.
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Creates a vtkImageData with harmonics data.
void AddTimeStepValue(double timeStepValue)
Add a time step value.
void ClearHarmonics()
Clear all harmonics.
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses can reimplement this method to collect information from their inputs and set information f...
~vtkSpatioTemporalHarmonicsSource() override=default
void ResetTimeStepValues()
Reset time step values to default.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called in response to a REQUEST_DATA request from the executive.
void ResetHarmonics()
Reset harmonics to default.
void ClearTimeStepValues()
Clear time step values.
static vtkSpatioTemporalHarmonicsSource * New()
void AddHarmonic(double amplitude, double temporalFrequency, double xWaveVector, double yWaveVector, double zWaveVector, double phase)
Add an harmonic with all needed parameters.