VTK  9.3.1
vtkStructuredGridClip.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 vtkStructuredGridClip_h
17 #define vtkStructuredGridClip_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 vtkStructuredGridClip : public vtkStructuredGridAlgorithm
27 {
28 public:
29  static vtkStructuredGridClip* New();
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);
39  void GetOutputWholeExtent(int extent[6]);
40  int* GetOutputWholeExtent() { return this->OutputWholeExtent; }
42 
43  void ResetOutputWholeExtent();
44 
46 
51  vtkSetMacro(ClipData, vtkTypeBool);
52  vtkGetMacro(ClipData, vtkTypeBool);
53  vtkBooleanMacro(ClipData, vtkTypeBool);
55 
56 protected:
58  ~vtkStructuredGridClip() 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(vtkStructuredGrid* inData, vtkStructuredGrid* outData, int* ext);
70 
72 
73 private:
75  void operator=(const vtkStructuredGridClip&) = delete;
76 };
77 
78 VTK_ABI_NAMESPACE_END
79 #endif
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Store vtkAlgorithm input/output information.
record modification and/or execution time
Definition: vtkTimeStamp.h:24
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
static vtkStructuredGridAlgorithm * New()
int vtkTypeBool
Definition: vtkABI.h:64
a simple class to control print indentation
Definition: vtkIndent.h:28
Superclass for algorithms that produce only structured grid as output.
int * GetOutputWholeExtent()
The whole extent of the output has to be set explicitly.
topologically regular array of data
Store zero or more vtkInformation instances.
Reduces the image extent of the input.