VTK  9.3.20240424
vtkImageEllipsoidSource.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
124#ifndef vtkImageEllipsoidSource_h
125#define vtkImageEllipsoidSource_h
126
127#include "vtkImageAlgorithm.h"
128#include "vtkImagingSourcesModule.h" // For export macro
129
130VTK_ABI_NAMESPACE_BEGIN
131class VTKIMAGINGSOURCES_EXPORT vtkImageEllipsoidSource : public vtkImageAlgorithm
132{
133public:
136 void PrintSelf(ostream& os, vtkIndent indent) override;
137
139
142 void SetWholeExtent(int extent[6]);
143 void SetWholeExtent(int minX, int maxX, int minY, int maxY, int minZ, int maxZ);
144 void GetWholeExtent(int extent[6]);
145 int* GetWholeExtent() VTK_SIZEHINT(6) { return this->WholeExtent; }
147
149
152 vtkSetVector3Macro(Center, double);
153 vtkGetVector3Macro(Center, double);
155
157
160 vtkSetVector3Macro(Radius, double);
161 vtkGetVector3Macro(Radius, double);
163
165
168 vtkSetMacro(InValue, double);
169 vtkGetMacro(InValue, double);
171
173
176 vtkSetMacro(OutValue, double);
177 vtkGetMacro(OutValue, double);
179
181
184 vtkSetMacro(OutputScalarType, int);
185 vtkGetMacro(OutputScalarType, int);
186 void SetOutputScalarTypeToFloat() { this->SetOutputScalarType(VTK_FLOAT); }
187 void SetOutputScalarTypeToDouble() { this->SetOutputScalarType(VTK_DOUBLE); }
188 void SetOutputScalarTypeToLong() { this->SetOutputScalarType(VTK_LONG); }
189 void SetOutputScalarTypeToUnsignedLong() { this->SetOutputScalarType(VTK_UNSIGNED_LONG); }
190 void SetOutputScalarTypeToInt() { this->SetOutputScalarType(VTK_INT); }
191 void SetOutputScalarTypeToUnsignedInt() { this->SetOutputScalarType(VTK_UNSIGNED_INT); }
192 void SetOutputScalarTypeToShort() { this->SetOutputScalarType(VTK_SHORT); }
193 void SetOutputScalarTypeToUnsignedShort() { this->SetOutputScalarType(VTK_UNSIGNED_SHORT); }
194 void SetOutputScalarTypeToChar() { this->SetOutputScalarType(VTK_CHAR); }
195 void SetOutputScalarTypeToUnsignedChar() { this->SetOutputScalarType(VTK_UNSIGNED_CHAR); }
197
198protected:
201
202 int WholeExtent[6];
203 double Center[3];
204 double Radius[3];
205 double InValue;
206 double OutValue;
208
210
212
213private:
215 void operator=(const vtkImageEllipsoidSource&) = delete;
216};
217
218VTK_ABI_NAMESPACE_END
219#endif
Generic algorithm superclass for image algs.
Create a binary image of an ellipsoid.
void SetOutputScalarTypeToDouble()
Set what type of scalar data this source should generate.
int * GetWholeExtent()
Set/Get the extent of the whole output image.
void SetOutputScalarTypeToUnsignedChar()
Set what type of scalar data this source should generate.
void SetOutputScalarTypeToUnsignedInt()
Set what type of scalar data this source should generate.
~vtkImageEllipsoidSource() override
void GetWholeExtent(int extent[6])
Set/Get the extent of the whole output image.
static vtkImageEllipsoidSource * New()
void SetOutputScalarTypeToShort()
Set what type of scalar data this source should generate.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses can reimplement this method to collect information from their inputs and set information f...
void SetOutputScalarTypeToUnsignedShort()
Set what type of scalar data this source should generate.
void SetOutputScalarTypeToChar()
Set what type of scalar data this source should generate.
void SetOutputScalarTypeToLong()
Set what type of scalar data this source should generate.
void SetOutputScalarTypeToUnsignedLong()
Set what type of scalar data this source should generate.
void SetOutputScalarTypeToFloat()
Set what type of scalar data this source should generate.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called in response to a REQUEST_DATA request from the executive.
void SetWholeExtent(int minX, int maxX, int minY, int maxY, int minZ, int maxZ)
Set/Get the extent of the whole output image.
void SetOutputScalarTypeToInt()
Set what type of scalar data this source should generate.
void SetWholeExtent(int extent[6])
Set/Get the extent of the whole output image.
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
#define VTK_SHORT
Definition vtkType.h:36
#define VTK_UNSIGNED_INT
Definition vtkType.h:39
#define VTK_DOUBLE
Definition vtkType.h:43
#define VTK_UNSIGNED_CHAR
Definition vtkType.h:35
#define VTK_UNSIGNED_SHORT
Definition vtkType.h:37
#define VTK_INT
Definition vtkType.h:38
#define VTK_FLOAT
Definition vtkType.h:42
#define VTK_CHAR
Definition vtkType.h:33
#define VTK_UNSIGNED_LONG
Definition vtkType.h:41
#define VTK_LONG
Definition vtkType.h:40
#define VTK_SIZEHINT(...)