VTK  9.2.5
vtkCubeSource.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkCubeSource.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 vtkCubeSource_h
31#define vtkCubeSource_h
32
33#include "vtkFiltersSourcesModule.h" // For export macro
35
36class VTKFILTERSSOURCES_EXPORT vtkCubeSource : public vtkPolyDataAlgorithm
37{
38public:
39 static vtkCubeSource* New();
41 void PrintSelf(ostream& os, vtkIndent indent) override;
42
44
47 vtkSetClampMacro(XLength, double, 0.0, VTK_DOUBLE_MAX);
48 vtkGetMacro(XLength, double);
50
52
55 vtkSetClampMacro(YLength, double, 0.0, VTK_DOUBLE_MAX);
56 vtkGetMacro(YLength, double);
58
60
63 vtkSetClampMacro(ZLength, double, 0.0, VTK_DOUBLE_MAX);
64 vtkGetMacro(ZLength, double);
66
68
71 vtkSetVector3Macro(Center, double);
72 vtkGetVectorMacro(Center, double, 3);
74
76
79 void SetBounds(double xMin, double xMax, double yMin, double yMax, double zMin, double zMax);
80 void SetBounds(const double bounds[6]);
81 void GetBounds(double bounds[6]);
83
85
90 vtkSetMacro(OutputPointsPrecision, int);
91 vtkGetMacro(OutputPointsPrecision, int);
93
94protected:
95 vtkCubeSource(double xL = 1.0, double yL = 1.0, double zL = 1.0);
96 ~vtkCubeSource() override = default;
97
99 double XLength;
100 double YLength;
101 double ZLength;
102 double Center[3];
104
105private:
106 vtkCubeSource(const vtkCubeSource&) = delete;
107 void operator=(const vtkCubeSource&) = delete;
108};
109
110#endif
create a polygonal representation of a cube
Definition: vtkCubeSource.h:37
~vtkCubeSource() override=default
void GetBounds(double bounds[6])
Convenience methods allows creation of cube by specifying bounding box.
static vtkCubeSource * New()
int OutputPointsPrecision
vtkCubeSource(double xL=1.0, double yL=1.0, double zL=1.0)
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
void SetBounds(const double bounds[6])
Convenience methods allows creation of cube by specifying bounding box.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetBounds(double xMin, double xMax, double yMin, double yMax, double zMin, double zMax)
Convenience methods allows creation of cube by specifying bounding box.
a simple class to control print indentation
Definition: vtkIndent.h:40
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce only polydata as output.
#define VTK_DOUBLE_MAX
Definition: vtkType.h:165