vtkPVCutter.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
11 #ifndef vtkPVCutter_h
12 #define vtkPVCutter_h
13 
14 #include "vtkCutter.h"
15 #include "vtkPVVTKExtensionsFiltersGeneralModule.h" //needed for exports
16 
17 class vtkDataObjectMeshCache;
18 class vtkDataObjectTree;
20 class vtkPVPlaneCutter;
21 
23 {
24 public:
25  vtkTypeMacro(vtkPVCutter, vtkCutter);
26  void PrintSelf(ostream& os, vtkIndent indent) override;
27  static vtkPVCutter* New();
28 
30 
32 
35  vtkGetMacro(Dual, bool);
36  vtkSetMacro(Dual, bool);
38 
39 protected:
40  vtkPVCutter();
41  ~vtkPVCutter() override;
42 
44 
45  virtual int RequestDataObject(vtkInformation*, vtkInformationVector**, vtkInformationVector*);
46  int FillInputPortInformation(int, vtkInformation* info) override;
47  int FillOutputPortInformation(int, vtkInformation* info) override;
48 
55  int CutUsingSuperclassInstance(vtkInformation*, vtkInformationVector**, vtkInformationVector*);
56 
57  bool Dual = false;
59 
60 private:
61  vtkPVCutter(const vtkPVCutter&) = delete;
62  void operator=(const vtkPVCutter&) = delete;
63 
67  bool CutLeaf(vtkInformation* request, vtkInformationVector** inputVector,
69  vtkInformationVector* outputVector);
70  bool CutDataObject(vtkInformation* request, vtkInformationVector** inputVector,
71  vtkInformationVector* outputVector);
73 
74  void InitializeOutput(vtkDataObjectTree* input, vtkDataObjectTree* output);
75 
80  vtkSmartPointer<vtkInformationVector> DuplicateInfoForLeaf(
81  vtkInformationVector* inputInfo, vtkDataObject* leaf);
82 
83  std::unique_ptr<vtkEdgesCacheInternal> EdgesCache;
84 
86 };
87 
88 #endif
virtual int FillOutputPortInformation(int port, vtkInformation *info)
Slice with plane filter.
Cache edges informations for interpolation purpose.
vtkNew< vtkPVPlaneCutter > PlaneCutter
Definition: vtkPVCutter.h:58
virtual int ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
#define VTKPVVTKEXTENSIONSFILTERSGENERAL_EXPORT
static vtkCutter * New()
void PrintSelf(ostream &os, vtkIndent indent)
virtual int FillInputPortInformation(int port, vtkInformation *info)
Slice Filter.
Definition: vtkPVCutter.h:22
void operator=(const vtkObjectBase &)