VTK  9.7.1
vtkOutlineSource.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
18 #ifndef vtkOutlineSource_h
19 #define vtkOutlineSource_h
20 
21 #include "vtkFiltersSourcesModule.h" // For export macro
22 #include "vtkPolyDataAlgorithm.h"
23 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
24 
25 #define VTK_BOX_TYPE_AXIS_ALIGNED 0
26 #define VTK_BOX_TYPE_ORIENTED 1
27 
28 VTK_ABI_NAMESPACE_BEGIN
29 class VTKFILTERSSOURCES_EXPORT VTK_MARSHALAUTO vtkOutlineSource : public vtkPolyDataAlgorithm
30 {
31 public:
33 
36  static vtkOutlineSource* New();
38  void PrintSelf(ostream& os, vtkIndent indent) override;
40 
42 
47  vtkSetMacro(BoxType, int);
48  vtkGetMacro(BoxType, int);
49  void SetBoxTypeToAxisAligned() { this->SetBoxType(VTK_BOX_TYPE_AXIS_ALIGNED); }
50  void SetBoxTypeToOriented() { this->SetBoxType(VTK_BOX_TYPE_ORIENTED); }
52 
54 
57  vtkSetVector6Macro(Bounds, double);
58  vtkGetVectorMacro(Bounds, double, 6);
60 
62 
68  vtkSetVectorMacro(Corners, double, 24);
69  vtkGetVectorMacro(Corners, double, 24);
71 
73 
76  vtkSetMacro(GenerateFaces, vtkTypeBool);
77  vtkBooleanMacro(GenerateFaces, vtkTypeBool);
78  vtkGetMacro(GenerateFaces, vtkTypeBool);
80 
82 
87  vtkSetMacro(OutputPointsPrecision, int);
88  vtkGetMacro(OutputPointsPrecision, int);
90 
91 protected:
93  ~vtkOutlineSource() override = default;
94 
96  int BoxType;
99  double Bounds[6];
100  double Corners[24];
101 
102 private:
103  vtkOutlineSource(const vtkOutlineSource&) = delete;
104  void operator=(const vtkOutlineSource&) = delete;
105 };
106 
107 VTK_ABI_NAMESPACE_END
108 #endif
#define VTK_BOX_TYPE_AXIS_ALIGNED
vtkTypeBool GenerateFaces
Store vtkAlgorithm input/output information.
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
void SetBoxTypeToOriented()
Set box type to AxisAligned (default) or Oriented.
static vtkPolyDataAlgorithm * New()
int vtkTypeBool
Definition: vtkABI.h:64
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:28
create wireframe outline around bounding box
#define VTK_BOX_TYPE_ORIENTED
Store zero or more vtkInformation instances.
#define VTK_MARSHALAUTO
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetBoxTypeToAxisAligned()
Set box type to AxisAligned (default) or Oriented.