VTK  9.3.20240328
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
138 #ifndef vtkOutlineFilter_h
139 #define vtkOutlineFilter_h
140 
141 #include "vtkFiltersModelingModule.h" // For export macro
142 #include "vtkPolyDataAlgorithm.h"
143 
144 VTK_ABI_NAMESPACE_BEGIN
145 class VTKFILTERSMODELING_EXPORT vtkOutlineFilter : public vtkPolyDataAlgorithm
146 {
147 public:
149 
154  void PrintSelf(ostream& os, vtkIndent indent) override;
156 
158 
161  vtkSetMacro(GenerateFaces, vtkTypeBool);
162  vtkBooleanMacro(GenerateFaces, vtkTypeBool);
163  vtkGetMacro(GenerateFaces, vtkTypeBool);
165 
167  {
168  ROOT_LEVEL = 0,
169  LEAF_DATASETS = 1,
170  ROOT_AND_LEAFS = 2,
171  SPECIFIED_INDEX = 3
172  };
173 
175 
185  vtkSetMacro(CompositeStyle, int);
186  vtkGetMacro(CompositeStyle, int);
187  void SetCompositeStyleToRoot() { this->SetCompositeStyle(ROOT_LEVEL); }
188  void SetCompositeStyleToLeafs() { this->SetCompositeStyle(LEAF_DATASETS); }
189  void SetCompositeStyleToRootAndLeafs() { this->SetCompositeStyle(ROOT_AND_LEAFS); }
190  void SetCompositeStyleToSpecifiedIndex() { this->SetCompositeStyle(SPECIFIED_INDEX); }
192 
194 
201  void AddIndex(unsigned int index);
202  void RemoveIndex(unsigned int index);
205 
207 
212  vtkSetMacro(OutputPointsPrecision, int);
213  vtkGetMacro(OutputPointsPrecision, int);
215 
216 protected:
218  ~vtkOutlineFilter() override;
219 
223 
224  class vtkIndexSet;
225  vtkIndexSet* Indices;
226 
227  void AppendOutline(vtkPoints* pts, vtkCellArray* lines, vtkCellArray* faces, double bds[6]);
228 
231 
232 private:
233  vtkOutlineFilter(const vtkOutlineFilter&) = delete;
234  void operator=(const vtkOutlineFilter&) = delete;
235 };
236 
237 VTK_ABI_NAMESPACE_END
238 #endif
object to represent cell connectivity
Definition: vtkCellArray.h:285
a simple class to control print indentation
Definition: vtkIndent.h:108
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:138
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