vtkBoundedVolumeSource.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkBoundedVolumeSource.h
5 
6  Copyright (c) Kitware, Inc.
7  All rights reserved.
8  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html 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 =========================================================================*/
23 #ifndef vtkBoundedVolumeSource_h
24 #define vtkBoundedVolumeSource_h
25 
26 #include "vtkImageAlgorithm.h"
27 #include "vtkPVVTKExtensionsPointsModule.h" // for export macro
28 #include "vtkVector.h" // for vtkVector
29 
30 class vtkBoundingBox;
31 
33 {
34 public:
35  static vtkBoundedVolumeSource* New();
37  void PrintSelf(ostream& os, vtkIndent indent) override;
38 
40 
43  vtkSetVector3Macro(Origin, double);
44  vtkGetVector3Macro(Origin, double);
46 
48 
52  vtkSetVector3Macro(Scale, double);
53  vtkGetVector3Macro(Scale, double);
55 
57  {
59  USE_CELL_SIZE
60  };
61 
65  vtkSetClampMacro(RefinementMode, int, USE_RESOLUTION, USE_CELL_SIZE);
66  vtkGetMacro(RefinementMode, int);
67 
69 
73  vtkSetVector3Macro(Resolution, int);
74  vtkGetVector3Macro(Resolution, int);
76 
78 
82  vtkSetMacro(CellSize, double);
83  vtkGetMacro(CellSize, double);
85 
87 
91  vtkSetClampMacro(Padding, double, 0, VTK_DOUBLE_MAX);
92  vtkGetMacro(Padding, double);
94 
96 
100  static bool SetImageParameters(
101  vtkImageData* image, const vtkBoundingBox& bbox, const vtkVector3i& resolution);
102  static bool SetImageParameters(
103  vtkImageData* image, const vtkBoundingBox& bbox, const double cellSize);
105 
106 protected:
108  ~vtkBoundedVolumeSource() override;
109 
110  int RequestInformation(vtkInformation* request, vtkInformationVector** inputVector,
111  vtkInformationVector* outputVector) override;
112  void ExecuteDataWithInformation(vtkDataObject* data, vtkInformation* outInfo) override;
113 
114  double Origin[3];
115  double Scale[3];
117  int Resolution[3];
118  double CellSize;
119  double Padding;
120 
121 private:
123  void operator=(const vtkBoundedVolumeSource&) = delete;
124 };
125 
126 #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.