VTK  9.3.0
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
24 #ifndef vtkImageEllipsoidSource_h
25 #define vtkImageEllipsoidSource_h
26 
27 #include "vtkImageAlgorithm.h"
28 #include "vtkImagingSourcesModule.h" // For export macro
29 
30 VTK_ABI_NAMESPACE_BEGIN
31 class VTKIMAGINGSOURCES_EXPORT vtkImageEllipsoidSource : public vtkImageAlgorithm
32 {
33 public:
36  void PrintSelf(ostream& os, vtkIndent indent) override;
37 
39 
42  void SetWholeExtent(int extent[6]);
43  void SetWholeExtent(int minX, int maxX, int minY, int maxY, int minZ, int maxZ);
44  void GetWholeExtent(int extent[6]);
45  int* GetWholeExtent() VTK_SIZEHINT(6) { return this->WholeExtent; }
47 
49 
52  vtkSetVector3Macro(Center, double);
53  vtkGetVector3Macro(Center, double);
55 
57 
60  vtkSetVector3Macro(Radius, double);
61  vtkGetVector3Macro(Radius, double);
63 
65 
68  vtkSetMacro(InValue, double);
69  vtkGetMacro(InValue, double);
71 
73 
76  vtkSetMacro(OutValue, double);
77  vtkGetMacro(OutValue, double);
79 
81 
84  vtkSetMacro(OutputScalarType, int);
85  vtkGetMacro(OutputScalarType, int);
86  void SetOutputScalarTypeToFloat() { this->SetOutputScalarType(VTK_FLOAT); }
87  void SetOutputScalarTypeToDouble() { this->SetOutputScalarType(VTK_DOUBLE); }
88  void SetOutputScalarTypeToLong() { this->SetOutputScalarType(VTK_LONG); }
89  void SetOutputScalarTypeToUnsignedLong() { this->SetOutputScalarType(VTK_UNSIGNED_LONG); }
90  void SetOutputScalarTypeToInt() { this->SetOutputScalarType(VTK_INT); }
91  void SetOutputScalarTypeToUnsignedInt() { this->SetOutputScalarType(VTK_UNSIGNED_INT); }
92  void SetOutputScalarTypeToShort() { this->SetOutputScalarType(VTK_SHORT); }
93  void SetOutputScalarTypeToUnsignedShort() { this->SetOutputScalarType(VTK_UNSIGNED_SHORT); }
94  void SetOutputScalarTypeToChar() { this->SetOutputScalarType(VTK_CHAR); }
95  void SetOutputScalarTypeToUnsignedChar() { this->SetOutputScalarType(VTK_UNSIGNED_CHAR); }
97 
98 protected:
101 
102  int WholeExtent[6];
103  double Center[3];
104  double Radius[3];
105  double InValue;
106  double OutValue;
108 
110 
112 
113 private:
115  void operator=(const vtkImageEllipsoidSource&) = delete;
116 };
117 
118 VTK_ABI_NAMESPACE_END
119 #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:38
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
@ extent
Definition: vtkX3D.h:345
#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(...)