VTK  9.7.1
vtkRTAnalyticSource.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
18 #ifndef vtkRTAnalyticSource_h
19 #define vtkRTAnalyticSource_h
20 
21 #include "vtkImageAlgorithm.h"
22 #include "vtkImagingCoreModule.h" // For export macro
23 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
24 
25 VTK_ABI_NAMESPACE_BEGIN
26 class VTKIMAGINGCORE_EXPORT VTK_MARSHALAUTO vtkRTAnalyticSource : public vtkImageAlgorithm
27 {
28 public:
29  static vtkRTAnalyticSource* New();
31  void PrintSelf(ostream& os, vtkIndent indent) override;
32 
34 
38  void SetWholeExtent(int xMinx, int xMax, int yMin, int yMax, int zMin, int zMax);
39  vtkGetVector6Macro(WholeExtent, int);
41 
43 
46  vtkSetVector3Macro(Center, double);
47  vtkGetVector3Macro(Center, double);
49 
51 
54  vtkSetMacro(Maximum, double);
55  vtkGetMacro(Maximum, double);
57 
59 
62  vtkSetMacro(StandardDeviation, double);
63  vtkGetMacro(StandardDeviation, double);
65 
67 
70  vtkSetMacro(XFreq, double);
71  vtkGetMacro(XFreq, double);
73 
75 
78  vtkSetMacro(YFreq, double);
79  vtkGetMacro(YFreq, double);
81 
83 
86  vtkSetMacro(ZFreq, double);
87  vtkGetMacro(ZFreq, double);
89 
91 
94  vtkSetMacro(XMag, double);
95  vtkGetMacro(XMag, double);
97 
99 
102  vtkSetMacro(YMag, double);
103  vtkGetMacro(YMag, double);
105 
107 
110  vtkSetMacro(ZMag, double);
111  vtkGetMacro(ZMag, double);
113 
115 
118  vtkSetMacro(SubsampleRate, int);
119  vtkGetMacro(SubsampleRate, int);
121 
122 protected:
130 
134  ~vtkRTAnalyticSource() override = default;
135 
136  double XFreq;
137  double YFreq;
138  double ZFreq;
139  double XMag;
140  double YMag;
141  double ZMag;
143  int WholeExtent[6];
144  double Center[3];
145  double Maximum;
147 
148  int RequestInformation(vtkInformation* request, vtkInformationVector** inputVector,
149  vtkInformationVector* outputVector) override;
151 
152 private:
153  vtkRTAnalyticSource(const vtkRTAnalyticSource&) = delete;
154  void operator=(const vtkRTAnalyticSource&) = delete;
155 };
156 
157 VTK_ABI_NAMESPACE_END
158 #endif
Store vtkAlgorithm input/output information.
virtual void ExecuteDataWithInformation(vtkDataObject *output, vtkInformation *outInfo)
This is a convenience method that is implemented in many subclasses instead of RequestData.
a simple class to control print indentation
Definition: vtkIndent.h:28
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
Subclasses can reimplement this method to collect information from their inputs and set information f...
Create an image for regression testing.
Generic algorithm superclass for image algs.
Store zero or more vtkInformation instances.
static vtkAlgorithm * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
#define VTK_MARSHALAUTO
general representation of visualization data
Definition: vtkDataObject.h:55