VTK  9.3.0
vtkOutlineFilter.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
38 #ifndef vtkOutlineFilter_h
39 #define vtkOutlineFilter_h
40 
41 #include "vtkFiltersModelingModule.h" // For export macro
42 #include "vtkPolyDataAlgorithm.h"
43 
44 VTK_ABI_NAMESPACE_BEGIN
45 class VTKFILTERSMODELING_EXPORT vtkOutlineFilter : public vtkPolyDataAlgorithm
46 {
47 public:
49 
52  static vtkOutlineFilter* New();
54  void PrintSelf(ostream& os, vtkIndent indent) override;
56 
58 
61  vtkSetMacro(GenerateFaces, vtkTypeBool);
62  vtkBooleanMacro(GenerateFaces, vtkTypeBool);
63  vtkGetMacro(GenerateFaces, vtkTypeBool);
65 
67  {
68  ROOT_LEVEL = 0,
69  LEAF_DATASETS = 1,
70  ROOT_AND_LEAFS = 2,
71  SPECIFIED_INDEX = 3
72  };
73 
75 
85  vtkSetMacro(CompositeStyle, int);
86  vtkGetMacro(CompositeStyle, int);
87  void SetCompositeStyleToRoot() { this->SetCompositeStyle(ROOT_LEVEL); }
88  void SetCompositeStyleToLeafs() { this->SetCompositeStyle(LEAF_DATASETS); }
89  void SetCompositeStyleToRootAndLeafs() { this->SetCompositeStyle(ROOT_AND_LEAFS); }
90  void SetCompositeStyleToSpecifiedIndex() { this->SetCompositeStyle(SPECIFIED_INDEX); }
92 
94 
101  void AddIndex(unsigned int index);
102  void RemoveIndex(unsigned int index);
105 
107 
112  vtkSetMacro(OutputPointsPrecision, int);
113  vtkGetMacro(OutputPointsPrecision, int);
115 
116 protected:
118  ~vtkOutlineFilter() override;
119 
123 
124  class vtkIndexSet;
125  vtkIndexSet* Indices;
126 
127  void AppendOutline(vtkPoints* pts, vtkCellArray* lines, vtkCellArray* faces, double bds[6]);
128 
131 
132 private:
133  vtkOutlineFilter(const vtkOutlineFilter&) = delete;
134  void operator=(const vtkOutlineFilter&) = delete;
135 };
136 
137 VTK_ABI_NAMESPACE_END
138 #endif
object to represent cell connectivity
Definition: vtkCellArray.h:185
a simple class to control print indentation
Definition: vtkIndent.h:38
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
create wireframe outline for an arbitrary data set or composite dataset
void SetCompositeStyleToRootAndLeafs()
Specify a style for creating bounding boxes around input composite datasets.
void RemoveAllIndices()
If the composite style is set to SpecifiedIndex, then one or more flat indices can be specified,...
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
void SetCompositeStyleToLeafs()
Specify a style for creating bounding boxes around input composite datasets.
void RemoveIndex(unsigned int index)
If the composite style is set to SpecifiedIndex, then one or more flat indices can be specified,...
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
void AppendOutline(vtkPoints *pts, vtkCellArray *lines, vtkCellArray *faces, double bds[6])
void SetCompositeStyleToSpecifiedIndex()
Specify a style for creating bounding boxes around input composite datasets.
void AddIndex(unsigned int index)
If the composite style is set to SpecifiedIndex, then one or more flat indices can be specified,...
static vtkOutlineFilter * New()
Standard methods for instantiation.
~vtkOutlineFilter() override
vtkTypeBool GenerateFaces
vtkIndexSet * Indices
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for instantiation.
void SetCompositeStyleToRoot()
Specify a style for creating bounding boxes around input composite datasets.
represent and manipulate 3D points
Definition: vtkPoints.h:38
Superclass for algorithms that produce only polydata as output.
@ info
Definition: vtkX3D.h:376
@ port
Definition: vtkX3D.h:447
@ index
Definition: vtkX3D.h:246
int vtkTypeBool
Definition: vtkABI.h:64