VTK  9.2.6
vtkRTAnalyticSource.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkRTAnalyticSource.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 =========================================================================*/
30 #ifndef vtkRTAnalyticSource_h
31 #define vtkRTAnalyticSource_h
32 
33 #include "vtkImageAlgorithm.h"
34 #include "vtkImagingCoreModule.h" // For export macro
35 
36 class VTKIMAGINGCORE_EXPORT vtkRTAnalyticSource : public vtkImageAlgorithm
37 {
38 public:
39  static vtkRTAnalyticSource* New();
41  void PrintSelf(ostream& os, vtkIndent indent) override;
42 
44 
48  void SetWholeExtent(int xMinx, int xMax, int yMin, int yMax, int zMin, int zMax);
49  vtkGetVector6Macro(WholeExtent, int);
51 
53 
56  vtkSetVector3Macro(Center, double);
57  vtkGetVector3Macro(Center, double);
59 
61 
64  vtkSetMacro(Maximum, double);
65  vtkGetMacro(Maximum, double);
67 
69 
72  vtkSetMacro(StandardDeviation, double);
73  vtkGetMacro(StandardDeviation, double);
75 
77 
80  vtkSetMacro(XFreq, double);
81  vtkGetMacro(XFreq, double);
83 
85 
88  vtkSetMacro(YFreq, double);
89  vtkGetMacro(YFreq, double);
91 
93 
96  vtkSetMacro(ZFreq, double);
97  vtkGetMacro(ZFreq, double);
99 
101 
104  vtkSetMacro(XMag, double);
105  vtkGetMacro(XMag, double);
107 
109 
112  vtkSetMacro(YMag, double);
113  vtkGetMacro(YMag, double);
115 
117 
120  vtkSetMacro(ZMag, double);
121  vtkGetMacro(ZMag, double);
123 
125 
128  vtkSetMacro(SubsampleRate, int);
129  vtkGetMacro(SubsampleRate, int);
131 
132 protected:
140 
144  ~vtkRTAnalyticSource() override = default;
145 
146  double XFreq;
147  double YFreq;
148  double ZFreq;
149  double XMag;
150  double YMag;
151  double ZMag;
153  int WholeExtent[6];
154  double Center[3];
155  double Maximum;
157 
158  int RequestInformation(vtkInformation* request, vtkInformationVector** inputVector,
159  vtkInformationVector* outputVector) override;
161 
162 private:
163  vtkRTAnalyticSource(const vtkRTAnalyticSource&) = delete;
164  void operator=(const vtkRTAnalyticSource&) = delete;
165 };
166 
167 #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:39
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:65