vtkPVContourFilter.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
3 // SPDX-License-Identifier: BSD-3-Clause
25 #ifndef vtkPVContourFilter_h
26 #define vtkPVContourFilter_h
27 
28 #include "vtkContourFilter.h"
29 #include "vtkHyperTreeGridContour.h" // for vtkHyperTreeGridContour
30 #include "vtkPVVTKExtensionsFiltersGeneralModule.h" // needed for exports
31 
32 class vtkAMRContourFilter;
34 {
35 public:
37 
38  void PrintSelf(ostream& os, vtkIndent indent) override;
39 
40  static vtkPVContourFilter* New();
41 
43 
55  vtkGetMacro(HTGStrategy3D, int);
56  vtkSetClampMacro(HTGStrategy3D, int, vtkHyperTreeGridContour::USE_VOXELS,
57  vtkHyperTreeGridContour::USE_DECOMPOSED_POLYHEDRA);
59 
61 
70  vtkSetMacro(UseImplicitArraysHTG, bool);
71  vtkGetMacro(UseImplicitArraysHTG, bool);
72  vtkBooleanMacro(UseImplicitArraysHTG, bool);
74 
75 protected:
77  ~vtkPVContourFilter() override;
78 
79  int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
80  vtkInformationVector* outputVector) override;
81 
82  int FillInputPortInformation(int port, vtkInformation* info) override;
83 
88  int ContourUsingSuperclass(vtkInformation* request, vtkInformationVector** inputVector,
89  vtkInformationVector* outputVector);
90 
99  void CleanOutputScalars(vtkDataArray* outScalars);
100 
101 private:
102  vtkPVContourFilter(const vtkPVContourFilter&) = delete;
103  void operator=(const vtkPVContourFilter&) = delete;
104 
105  // Strategy used to represent HTG dual cells in 3D
106  int HTGStrategy3D = vtkHyperTreeGridContour::USE_VOXELS;
107 
108  // Use implicit arrays to store contour values in case of HTG input
109  bool UseImplicitArraysHTG = false;
110 
111  // Keep this one around as it supports caching
112  vtkNew<vtkAMRContourFilter> AMRContourFilter;
113 };
114 
115 #endif // vtkPVContourFilter_h
generate isosurfaces/isolines from scalar values
static vtkContourFilter * New()
virtual int FillInputPortInformation(int port, vtkInformation *info)
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
void PrintSelf(ostream &os, vtkIndent indent)
#define VTKPVVTKEXTENSIONSFILTERSGENERAL_EXPORT
void operator=(const vtkObjectBase &)