vtkAxisAlignedCutter.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
29 #ifndef vtkAxisAlignedPlaneCutter_h
30 #define vtkAxisAlignedPlaneCutter_h
31 
32 #include "vtkAMRSliceFilter.h" // for vtkAMRSliceFilter
33 #include "vtkContourValues.h" // for vtkContourValues
34 #include "vtkDataObjectAlgorithm.h"
35 #include "vtkHyperTreeGridAxisCut.h" // for vtkHyperTreeGridAxisCut
36 #include "vtkImplicitFunction.h" // fir vtkImplicitFunction
37 #include "vtkPVVTKExtensionsFiltersGeneralModule.h" // for export macro
38 #include "vtkSmartPointer.h" // for vtkSmartPointer
39 
41 class vtkPVPlane;
42 
44 {
45 public:
47  void PrintSelf(ostream& os, vtkIndent indent) override;
48  static vtkAxisAlignedCutter* New();
49 
51 
55  vtkSetSmartPointerMacro(CutFunction, vtkImplicitFunction);
56  vtkGetSmartPointerMacro(CutFunction, vtkImplicitFunction);
58 
64  vtkMTimeType GetMTime() override;
65 
67 
72  void SetOffsetValue(int i, double value);
73  double GetOffsetValue(int i);
75 
77 
81  void SetNumberOfOffsetValues(int number);
82  int GetNumberOfOffsetValues();
84 
86 
92  vtkSetMacro(LevelOfResolution, int);
93  vtkGetMacro(LevelOfResolution, int);
95 
96 protected:
98  ~vtkAxisAlignedCutter() override;
99 
102  int FillInputPortInformation(int, vtkInformation* info) override;
103 
104 private:
106  void operator=(const vtkAxisAlignedCutter&) = delete;
107 
111  void CutHTGWithAAPlane(
112  vtkHyperTreeGrid* input, vtkHyperTreeGrid* output, vtkPVPlane* plane, double offset);
113 
117  void CutAMRWithAAPlane(vtkOverlappingAMR* input, vtkOverlappingAMR* output, vtkPVPlane* plane);
118 
121  vtkNew<vtkAMRSliceFilter> AMRCutter;
122  int LevelOfResolution = 0;
123  vtkNew<vtkContourValues> OffsetValues;
124 };
125 
126 #endif
virtual int RequestDataObject(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
static vtkDataObjectAlgorithm * New()
vtkTypeUInt64 vtkMTimeType
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
Cut data with an Axis-Aligned cut function.
virtual vtkMTimeType GetMTime()
virtual int FillInputPortInformation(int port, vtkInformation *info)
#define VTKPVVTKEXTENSIONSFILTERSGENERAL_EXPORT
extends vtkPlane to add Offset parameter.
Definition: vtkPVPlane.h:19
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
void operator=(const vtkObjectBase &)