VTK  9.3.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 
24 VTK_ABI_NAMESPACE_BEGIN
25 class VTKIMAGINGCORE_EXPORT vtkRTAnalyticSource : public vtkImageAlgorithm
26 {
27 public:
28  static vtkRTAnalyticSource* New();
30  void PrintSelf(ostream& os, vtkIndent indent) override;
31 
33 
37  void SetWholeExtent(int xMinx, int xMax, int yMin, int yMax, int zMin, int zMax);
38  vtkGetVector6Macro(WholeExtent, int);
40 
42 
45  vtkSetVector3Macro(Center, double);
46  vtkGetVector3Macro(Center, double);
48 
50 
53  vtkSetMacro(Maximum, double);
54  vtkGetMacro(Maximum, double);
56 
58 
61  vtkSetMacro(StandardDeviation, double);
62  vtkGetMacro(StandardDeviation, double);
64 
66 
69  vtkSetMacro(XFreq, double);
70  vtkGetMacro(XFreq, double);
72 
74 
77  vtkSetMacro(YFreq, double);
78  vtkGetMacro(YFreq, double);
80 
82 
85  vtkSetMacro(ZFreq, double);
86  vtkGetMacro(ZFreq, double);
88 
90 
93  vtkSetMacro(XMag, double);
94  vtkGetMacro(XMag, double);
96 
98 
101  vtkSetMacro(YMag, double);
102  vtkGetMacro(YMag, double);
104 
106 
109  vtkSetMacro(ZMag, double);
110  vtkGetMacro(ZMag, double);
112 
114 
117  vtkSetMacro(SubsampleRate, int);
118  vtkGetMacro(SubsampleRate, int);
120 
121 protected:
129 
133  ~vtkRTAnalyticSource() override = default;
134 
135  double XFreq;
136  double YFreq;
137  double ZFreq;
138  double XMag;
139  double YMag;
140  double ZMag;
142  int WholeExtent[6];
143  double Center[3];
144  double Maximum;
146 
147  int RequestInformation(vtkInformation* request, vtkInformationVector** inputVector,
148  vtkInformationVector* outputVector) override;
150 
151 private:
152  vtkRTAnalyticSource(const vtkRTAnalyticSource&) = delete;
153  void operator=(const vtkRTAnalyticSource&) = delete;
154 };
155 
156 VTK_ABI_NAMESPACE_END
157 #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.
general representation of visualization data
Definition: vtkDataObject.h:54