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
vtkImageEllipsoidSource::SetOutputScalarTypeToShort
void SetOutputScalarTypeToShort()
Set what type of scalar data this source should generate.
Definition: vtkImageEllipsoidSource.h:200
vtkImageEllipsoidSource::SetWholeExtent
void SetWholeExtent(int extent[6])
Set/Get the extent of the whole output image.
vtkImageEllipsoidSource::RequestData
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called in response to a REQUEST_DATA request from the executive.
vtkImageEllipsoidSource::SetOutputScalarTypeToLong
void SetOutputScalarTypeToLong()
Set what type of scalar data this source should generate.
Definition: vtkImageEllipsoidSource.h:196
VTK_UNSIGNED_INT
#define VTK_UNSIGNED_INT
Definition: vtkType.h:51
vtkImageEllipsoidSource::InValue
double InValue
Definition: vtkImageEllipsoidSource.h:213
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:145
VTK_UNSIGNED_SHORT
#define VTK_UNSIGNED_SHORT
Definition: vtkType.h:49
vtkImageEllipsoidSource::GetWholeExtent
int * GetWholeExtent()
Set/Get the extent of the whole output image.
Definition: vtkImageEllipsoidSource.h:153
vtkImageEllipsoidSource::SetOutputScalarTypeToUnsignedLong
void SetOutputScalarTypeToUnsignedLong()
Set what type of scalar data this source should generate.
Definition: vtkImageEllipsoidSource.h:197
vtkImageEllipsoidSource::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkImageAlgorithm.h
vtkImageAlgorithm
Generic algorithm superclass for image algs.
Definition: vtkImageAlgorithm.h:57
vtkImageEllipsoidSource::SetOutputScalarTypeToFloat
void SetOutputScalarTypeToFloat()
Set what type of scalar data this source should generate.
Definition: vtkImageEllipsoidSource.h:194
vtkImageEllipsoidSource::SetOutputScalarTypeToInt
void SetOutputScalarTypeToInt()
Set what type of scalar data this source should generate.
Definition: vtkImageEllipsoidSource.h:198
vtkImageEllipsoidSource::SetOutputScalarTypeToDouble
void SetOutputScalarTypeToDouble()
Set what type of scalar data this source should generate.
Definition: vtkImageEllipsoidSource.h:195
vtkImageEllipsoidSource::SetWholeExtent
void SetWholeExtent(int minX, int maxX, int minY, int maxY, int minZ, int maxZ)
Set/Get the extent of the whole output image.
VTK_SIZEHINT
#define VTK_SIZEHINT(...)
Definition: vtkWrappingHints.h:48
VTK_CHAR
#define VTK_CHAR
Definition: vtkType.h:45
vtkImageEllipsoidSource::SetOutputScalarTypeToUnsignedChar
void SetOutputScalarTypeToUnsignedChar()
Set what type of scalar data this source should generate.
Definition: vtkImageEllipsoidSource.h:203
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:113
vtkImageEllipsoidSource::SetOutputScalarTypeToChar
void SetOutputScalarTypeToChar()
Set what type of scalar data this source should generate.
Definition: vtkImageEllipsoidSource.h:202
VTK_FLOAT
#define VTK_FLOAT
Definition: vtkType.h:54
VTK_DOUBLE
#define VTK_DOUBLE
Definition: vtkType.h:55
VTK_UNSIGNED_CHAR
#define VTK_UNSIGNED_CHAR
Definition: vtkType.h:47
VTK_LONG
#define VTK_LONG
Definition: vtkType.h:52
vtkImageEllipsoidSource::SetOutputScalarTypeToUnsignedInt
void SetOutputScalarTypeToUnsignedInt()
Set what type of scalar data this source should generate.
Definition: vtkImageEllipsoidSource.h:199
vtkImageEllipsoidSource::RequestInformation
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses can reimplement this method to collect information from their inputs and set information f...
vtkImageEllipsoidSource::OutValue
double OutValue
Definition: vtkImageEllipsoidSource.h:214
VTK_UNSIGNED_LONG
#define VTK_UNSIGNED_LONG
Definition: vtkType.h:53
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:183
vtkImageEllipsoidSource::~vtkImageEllipsoidSource
~vtkImageEllipsoidSource() override
VTK_SHORT
#define VTK_SHORT
Definition: vtkType.h:48
vtkImageEllipsoidSource::SetOutputScalarTypeToUnsignedShort
void SetOutputScalarTypeToUnsignedShort()
Set what type of scalar data this source should generate.
Definition: vtkImageEllipsoidSource.h:201
vtkX3D::extent
@ extent
Definition: vtkX3D.h:351
vtkImageEllipsoidSource::vtkImageEllipsoidSource
vtkImageEllipsoidSource()
vtkImageEllipsoidSource
Create a binary image of an ellipsoid.
Definition: vtkImageEllipsoidSource.h:140
VTK_INT
#define VTK_INT
Definition: vtkType.h:50
vtkImageEllipsoidSource::New
static vtkImageEllipsoidSource * New()
vtkImageEllipsoidSource::GetWholeExtent
void GetWholeExtent(int extent[6])
Set/Get the extent of the whole output image.
vtkImageEllipsoidSource::OutputScalarType
int OutputScalarType
Definition: vtkImageEllipsoidSource.h:215