VTK  9.7.1
vtkCellGridBoundsQuery.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
11 #ifndef vtkCellGridBoundsQuery_h
12 #define vtkCellGridBoundsQuery_h
13 
14 #include "vtkCellGridQuery.h"
15 
16 #include <array> // For Bounds ivar.
17 
18 VTK_ABI_NAMESPACE_BEGIN
19 class vtkBoundingBox;
20 
21 class VTKCOMMONDATAMODEL_EXPORT vtkCellGridBoundsQuery : public vtkCellGridQuery
22 {
23 public:
24  static vtkCellGridBoundsQuery* New();
26  void PrintSelf(ostream& os, vtkIndent indent) override;
27 
28  bool Initialize() override;
29  void GetBounds(double* bds) VTK_SIZEHINT(6);
30  void AddBounds(vtkBoundingBox& bbox);
31 
32 protected:
33  vtkCellGridBoundsQuery() = default;
34  ~vtkCellGridBoundsQuery() override = default;
35 
36  std::array<double, 6> Bounds;
37 
38 private:
40  void operator=(const vtkCellGridBoundsQuery&) = delete;
41 };
42 
43 VTK_ABI_NAMESPACE_END
44 #endif // vtkCellGridBoundsQuery_h
Compute the geometric bounds of a cell-grid.
void GetBounds(T a, double bds[6])
Perform an operation on cells in a vtkCellMetadata instance.
a simple class to control print indentation
Definition: vtkIndent.h:28
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
#define VTK_SIZEHINT(...)
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
std::array< double, 6 > Bounds
virtual bool Initialize()
Override this if your query-result state requires initialization.
Fast, simple class for representing and operating on 3D bounds.