vtkPVClipDataSet.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
12 #ifndef vtkPVClipDataSet_h
13 #define vtkPVClipDataSet_h
14 
15 #include "vtkNew.h" // for vtkNew
16 #include "vtkPVVTKExtensionsFiltersGeneralModule.h" //needed for exports
18 
19 #include <memory> // for unique_ptr
20 
22 class vtkDataObjectMeshCache;
23 class vtkDataObjectTree;
24 
26 {
27 public:
29  void PrintSelf(ostream& os, vtkIndent indent) override;
30 
31  static vtkPVClipDataSet* New();
32 
34 
38  vtkSetMacro(UseAMRDualClipForAMR, bool);
39  vtkGetMacro(UseAMRDualClipForAMR, bool);
40  vtkBooleanMacro(UseAMRDualClipForAMR, bool);
42 
44 
47  vtkSetMacro(ExactBoxClip, bool);
48  vtkGetMacro(ExactBoxClip, bool);
49  vtkBooleanMacro(ExactBoxClip, bool);
51 
52 protected:
54  ~vtkPVClipDataSet() override;
55 
57 
58  int RequestDataObject(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override;
59 
60  int FillInputPortInformation(int, vtkInformation* info) override;
61  int FillOutputPortInformation(int, vtkInformation* info) override;
62 
69  int ClipUsingSuperclass(vtkInformation* request, vtkInformationVector** inputVector,
70  vtkInformationVector* outputVector);
71 
75  int ClipUsingThreshold(vtkInformation* request, vtkInformationVector** inputVector,
76  vtkInformationVector* outputVector);
77 
80 
81 private:
82  vtkPVClipDataSet(const vtkPVClipDataSet&) = delete;
83  void operator=(const vtkPVClipDataSet&) = delete;
84 
85  bool ClipDataObject(vtkInformation*, vtkInformationVector**, vtkInformationVector*);
87  void InitializeOutput(vtkDataObjectTree* input, vtkDataObjectTree* output);
88 
89  std::unique_ptr<vtkEdgesCacheInternal> EdgesCache;
91 };
92 
93 #endif
void PrintSelf(ostream &os, vtkIndent indent)
static vtkTableBasedClipDataSet * New()
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
Cache edges informations for interpolation purpose.
virtual int FillOutputPortInformation(int port, vtkInformation *info)
#define VTKPVVTKEXTENSIONSFILTERSGENERAL_EXPORT
virtual int FillInputPortInformation(int port, vtkInformation *info)
void operator=(const vtkObjectBase &)
Clip filter.