VTK  9.7.1
vtkContourHelper.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
17 #ifndef vtkContourHelper_h
18 #define vtkContourHelper_h
19 
20 #include "vtkCellArray.h" // For complete type required by vtkNew
21 #include "vtkCellData.h" // For complete type required by vtkNew
22 #include "vtkDeprecation.h" // For VTK_DEPRECATED_IN_9_7_0
23 #include "vtkFiltersCoreModule.h" // For export macro
24 #include "vtkWeakPointer.h" // For vtkWeakPointer
25 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
26 
27 VTK_ABI_NAMESPACE_BEGIN
29 class vtkCellArray;
30 class vtkPointData;
31 class vtkCellData;
32 class vtkCell;
33 class vtkDataArray;
34 
35 class VTKFILTERSCORE_EXPORT VTK_MARSHALAUTO vtkContourHelper
36 {
37 public:
39  "Use vtkContourHelper(vtkIncrementalPointLocator*, vtkCellArray*, vtkCellArray*, "
40  "vtkCellArray*, vtkPointData*, vtkCellData*, vtkPointData*, vtkCellData*, bool) instead.")
58  vtkCellArray* outLines, vtkCellArray* outPolys, vtkPointData* inPd, vtkCellData* inCd,
59  vtkPointData* outPd, vtkCellData* outCd, int trisEstimatedSize, bool outputTriangles);
60 
76  vtkCellArray* outLines, vtkCellArray* outPolys, vtkPointData* inPd, vtkCellData* inCd,
77  vtkPointData* outPd, vtkCellData* outCd, bool outputTriangles);
78  ~vtkContourHelper() = default;
79 
94  void Contour(vtkCell* cell, double value, vtkDataArray* cellScalars, vtkIdType cellId);
95 
96 private:
97  vtkContourHelper(const vtkContourHelper&) = delete;
98  vtkContourHelper& operator=(const vtkContourHelper&) = delete;
99 
108  void InitializeTempContainers();
109 
110  // Filled upon construction
119  bool OutputTriangles = false;
120 
121  // Temporary containers reused per helper instance.
122  vtkNew<vtkCellArray> TempTris;
123  vtkNew<vtkCellData> TempTriData;
124  bool TempContainersInitialized = false;
125 };
126 
127 VTK_ABI_NAMESPACE_END
128 #endif
129 // VTK-HeaderTest-Exclude: vtkContourHelper.h
represent and manipulate point attribute data
Definition: vtkPointData.h:30
represent and manipulate cell attribute data
Definition: vtkCellData.h:31
Abstract class in support of both point location and point insertion.
int vtkIdType
Definition: vtkType.h:363
abstract class to specify cell behavior
Definition: vtkCell.h:50
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:44
object to represent cell connectivity
Definition: vtkCellArray.h:177
#define VTK_MARSHALAUTO
#define VTK_DEPRECATED_IN_9_7_0(reason)
A utility class used by various contour filters.