VTK  9.3.20240327
vtkRectilinearGridClip.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
16 #ifndef vtkRectilinearGridClip_h
17 #define vtkRectilinearGridClip_h
18 
19 // I did not make this a subclass of in place filter because
20 // the references on the data do not matter. I make no modifications
21 // to the data.
22 #include "vtkFiltersGeneralModule.h" // For export macro
24 
25 VTK_ABI_NAMESPACE_BEGIN
26 class VTKFILTERSGENERAL_EXPORT vtkRectilinearGridClip : public vtkRectilinearGridAlgorithm
27 {
28 public:
31  void PrintSelf(ostream& os, vtkIndent indent) override;
32 
34 
37  void SetOutputWholeExtent(int extent[6], vtkInformation* outInfo = nullptr);
38  void SetOutputWholeExtent(int minX, int maxX, int minY, int maxY, int minZ, int maxZ);
40  int* GetOutputWholeExtent() { return this->OutputWholeExtent; }
42 
44 
46 
51  vtkSetMacro(ClipData, vtkTypeBool);
52  vtkGetMacro(ClipData, vtkTypeBool);
53  vtkBooleanMacro(ClipData, vtkTypeBool);
55 
56 protected:
58  ~vtkRectilinearGridClip() override = default;
59 
60  // Time when OutputImageExtent was computed.
62  int Initialized; // Set the OutputImageExtent for the first time.
63  int OutputWholeExtent[6];
64 
66 
68 
69  void CopyData(vtkRectilinearGrid* inData, vtkRectilinearGrid* outData, int* ext);
70 
72 
73 private:
75  void operator=(const vtkRectilinearGridClip&) = delete;
76 };
77 
78 VTK_ABI_NAMESPACE_END
79 #endif
a simple class to control print indentation
Definition: vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce only rectilinear grid as output.
Reduces the image extent of the input.
~vtkRectilinearGridClip() override=default
int * GetOutputWholeExtent()
The whole extent of the output has to be set explicitly.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkRectilinearGridClip * New()
void SetOutputWholeExtent(int minX, int maxX, int minY, int maxY, int minZ, int maxZ)
The whole extent of the output has to be set explicitly.
void CopyData(vtkRectilinearGrid *inData, vtkRectilinearGrid *outData, int *ext)
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
void SetOutputWholeExtent(int extent[6], vtkInformation *outInfo=nullptr)
The whole extent of the output has to be set explicitly.
void GetOutputWholeExtent(int extent[6])
The whole extent of the output has to be set explicitly.
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
a dataset that is topologically regular with variable spacing in the three coordinate directions
record modification and/or execution time
Definition: vtkTimeStamp.h:44
@ extent
Definition: vtkX3D.h:345
int vtkTypeBool
Definition: vtkABI.h:64