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 
33 {
34 public:
36 
37  void PrintSelf(ostream& os, vtkIndent indent) override;
38 
39  static vtkPVContourFilter* New();
40 
42 
54  vtkGetMacro(HTGStrategy3D, int);
55  vtkSetClampMacro(HTGStrategy3D, int, vtkHyperTreeGridContour::USE_VOXELS,
56  vtkHyperTreeGridContour::USE_DECOMPOSED_POLYHEDRA);
58 
60 
69  vtkSetMacro(UseImplicitArraysHTG, bool);
70  vtkGetMacro(UseImplicitArraysHTG, bool);
71  vtkBooleanMacro(UseImplicitArraysHTG, bool);
73 
74 protected:
76  ~vtkPVContourFilter() override;
77 
78  int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
79  vtkInformationVector* outputVector) override;
80 
81  int FillInputPortInformation(int port, vtkInformation* info) override;
82 
87  int ContourUsingSuperclass(vtkInformation* request, vtkInformationVector** inputVector,
88  vtkInformationVector* outputVector);
89 
98  void CleanOutputScalars(vtkDataArray* outScalars);
99 
100 private:
101  vtkPVContourFilter(const vtkPVContourFilter&) = delete;
102  void operator=(const vtkPVContourFilter&) = delete;
103 
104  // Strategy used to represent HTG dual cells in 3D
105  int HTGStrategy3D = vtkHyperTreeGridContour::USE_VOXELS;
106 
107  // Use implicit arrays to store contour values in case of HTG input
108  bool UseImplicitArraysHTG = false;
109 };
110 
111 #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 &)