VTK  9.1.0
vtkImageEllipsoidSource.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkImageEllipsoidSource.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 =========================================================================*/
133 #ifndef vtkImageEllipsoidSource_h
134 #define vtkImageEllipsoidSource_h
135 
136 #include "vtkImageAlgorithm.h"
137 #include "vtkImagingSourcesModule.h" // For export macro
138 
139 class VTKIMAGINGSOURCES_EXPORT vtkImageEllipsoidSource : public vtkImageAlgorithm
140 {
141 public:
144  void PrintSelf(ostream& os, vtkIndent indent) override;
145 
147 
150  void SetWholeExtent(int extent[6]);
151  void SetWholeExtent(int minX, int maxX, int minY, int maxY, int minZ, int maxZ);
152  void GetWholeExtent(int extent[6]);
153  int* GetWholeExtent() VTK_SIZEHINT(6) { return this->WholeExtent; }
155 
157 
160  vtkSetVector3Macro(Center, double);
161  vtkGetVector3Macro(Center, double);
163 
165 
168  vtkSetVector3Macro(Radius, double);
169  vtkGetVector3Macro(Radius, double);
171 
173 
176  vtkSetMacro(InValue, double);
177  vtkGetMacro(InValue, double);
179 
181 
184  vtkSetMacro(OutValue, double);
185  vtkGetMacro(OutValue, double);
187 
189 
192  vtkSetMacro(OutputScalarType, int);
193  vtkGetMacro(OutputScalarType, int);
194  void SetOutputScalarTypeToFloat() { this->SetOutputScalarType(VTK_FLOAT); }
195  void SetOutputScalarTypeToDouble() { this->SetOutputScalarType(VTK_DOUBLE); }
196  void SetOutputScalarTypeToLong() { this->SetOutputScalarType(VTK_LONG); }
197  void SetOutputScalarTypeToUnsignedLong() { this->SetOutputScalarType(VTK_UNSIGNED_LONG); }
198  void SetOutputScalarTypeToInt() { this->SetOutputScalarType(VTK_INT); }
199  void SetOutputScalarTypeToUnsignedInt() { this->SetOutputScalarType(VTK_UNSIGNED_INT); }
200  void SetOutputScalarTypeToShort() { this->SetOutputScalarType(VTK_SHORT); }
201  void SetOutputScalarTypeToUnsignedShort() { this->SetOutputScalarType(VTK_UNSIGNED_SHORT); }
202  void SetOutputScalarTypeToChar() { this->SetOutputScalarType(VTK_CHAR); }
203  void SetOutputScalarTypeToUnsignedChar() { this->SetOutputScalarType(VTK_UNSIGNED_CHAR); }
205 
206 protected:
209 
210  int WholeExtent[6];
211  double Center[3];
212  double Radius[3];
213  double InValue;
214  double OutValue;
216 
218 
220 
221 private:
223  void operator=(const vtkImageEllipsoidSource&) = delete;
224 };
225 
226 #endif
Generic algorithm superclass for image algs.
Create a binary image of an ellipsoid.
static vtkImageEllipsoidSource * New()
void SetOutputScalarTypeToDouble()
Set what type of scalar data this source should generate.
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.
int * GetWholeExtent()
Set/Get the extent of the whole output image.
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:113
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
@ extent
Definition: vtkX3D.h:351
#define VTK_SHORT
Definition: vtkType.h:48
#define VTK_UNSIGNED_INT
Definition: vtkType.h:51
#define VTK_DOUBLE
Definition: vtkType.h:55
#define VTK_UNSIGNED_CHAR
Definition: vtkType.h:47
#define VTK_UNSIGNED_SHORT
Definition: vtkType.h:49
#define VTK_INT
Definition: vtkType.h:50
#define VTK_FLOAT
Definition: vtkType.h:54
#define VTK_CHAR
Definition: vtkType.h:45
#define VTK_UNSIGNED_LONG
Definition: vtkType.h:53
#define VTK_LONG
Definition: vtkType.h:52
#define VTK_SIZEHINT(...)