VTK  9.5.20250831
vtkGenerateRegionIds.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
32#ifndef vtkGenerateRegionIds_h
33#define vtkGenerateRegionIds_h
34
35#include "vtkFiltersCoreModule.h" // For export macro
37#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
38
39#include <set> // for std::set
40#include <string> // for std::string
41
42VTK_ABI_NAMESPACE_BEGIN
43
44class VTKFILTERSCORE_EXPORT VTK_MARSHALAUTO vtkGenerateRegionIds : public vtkPolyDataAlgorithm
45{
46public:
48 void PrintSelf(ostream& os, vtkIndent indent) override;
49
51
53
60 vtkSetClampMacro(MaxAngle, double, 0, VTK_DOUBLE_MAX);
61 vtkGetMacro(MaxAngle, double);
63
65
69 vtkSetMacro(RegionIdsArrayName, std::string);
70 vtkGetMacro(RegionIdsArrayName, std::string);
72
73protected:
75 ~vtkGenerateRegionIds() override = default;
76
78
79private:
81 void operator=(const vtkGenerateRegionIds&) = delete;
82
89 vtkIdTypeArray* InitializeOutput(vtkPolyData* input, vtkPolyData* output);
90
94 bool SameRegion(vtkDataArray* normals, double threshold, vtkIdType first, vtkIdType second);
95
100 std::set<vtkIdType> GetCellNeighbors(vtkPolyData* polydata, vtkIdType cellId);
101
102 double MaxAngle = 30;
103 std::string RegionIdsArrayName = "vtkRegionIds";
104};
105
106VTK_ABI_NAMESPACE_END
107#endif
abstract superclass for arrays of numeric data
Generate cell array containing the region id.
static vtkGenerateRegionIds * New()
vtkGenerateRegionIds()=default
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
~vtkGenerateRegionIds() override=default
dynamic, self-adjusting array of vtkIdType
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce only polydata as output.
concrete dataset represents vertices, lines, polygons, and triangle strips
int vtkIdType
Definition vtkType.h:332
#define VTK_DOUBLE_MAX
Definition vtkType.h:171
#define VTK_MARSHALAUTO