vtkBoundedVolumeSource.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
11 #ifndef vtkBoundedVolumeSource_h
12 #define vtkBoundedVolumeSource_h
13 
14 #include "vtkImageAlgorithm.h"
15 #include "vtkPVVTKExtensionsPointsModule.h" // for export macro
16 #include "vtkVector.h" // for vtkVector
17 
18 class vtkBoundingBox;
19 
21 {
22 public:
23  static vtkBoundedVolumeSource* New();
25  void PrintSelf(ostream& os, vtkIndent indent) override;
26 
28 
31  vtkSetVector3Macro(Origin, double);
32  vtkGetVector3Macro(Origin, double);
34 
36 
40  vtkSetVector3Macro(Scale, double);
41  vtkGetVector3Macro(Scale, double);
43 
45  {
47  USE_CELL_SIZE
48  };
49 
53  vtkSetClampMacro(RefinementMode, int, USE_RESOLUTION, USE_CELL_SIZE);
54  vtkGetMacro(RefinementMode, int);
55 
57 
61  vtkSetVector3Macro(Resolution, int);
62  vtkGetVector3Macro(Resolution, int);
64 
66 
70  vtkSetMacro(CellSize, double);
71  vtkGetMacro(CellSize, double);
73 
75 
79  vtkSetClampMacro(Padding, double, 0, VTK_DOUBLE_MAX);
80  vtkGetMacro(Padding, double);
82 
84 
88  static bool SetImageParameters(
89  vtkImageData* image, const vtkBoundingBox& bbox, const vtkVector3i& resolution);
90  static bool SetImageParameters(vtkImageData* image, const vtkBoundingBox& bbox, double cellSize);
92 
93 protected:
95  ~vtkBoundedVolumeSource() override;
96 
97  int RequestInformation(vtkInformation* request, vtkInformationVector** inputVector,
98  vtkInformationVector* outputVector) override;
99  void ExecuteDataWithInformation(vtkDataObject* data, vtkInformation* outInfo) override;
100 
101  double Origin[3];
102  double Scale[3];
104  int Resolution[3];
105  double CellSize;
106  double Padding;
107 
108 private:
110  void operator=(const vtkBoundedVolumeSource&) = delete;
111 };
112 
113 #endif
#define VTKPVVTKEXTENSIONSPOINTS_EXPORT
virtual void ExecuteDataWithInformation(vtkDataObject *output, vtkInformation *outInfo)
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
static vtkAlgorithm * New()
void operator=(const vtkObjectBase &)
a source to generate an image volume.