VTK  9.2.5
vtkOutlineFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkOutlineFilter.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
150 #ifndef vtkOutlineFilter_h
151 #define vtkOutlineFilter_h
152 
153 #include "vtkFiltersModelingModule.h" // For export macro
154 #include "vtkPolyDataAlgorithm.h"
155 
156 class VTKFILTERSMODELING_EXPORT vtkOutlineFilter : public vtkPolyDataAlgorithm
157 {
158 public:
160 
165  void PrintSelf(ostream& os, vtkIndent indent) override;
167 
169 
172  vtkSetMacro(GenerateFaces, vtkTypeBool);
173  vtkBooleanMacro(GenerateFaces, vtkTypeBool);
174  vtkGetMacro(GenerateFaces, vtkTypeBool);
176 
178  {
179  ROOT_LEVEL = 0,
180  LEAF_DATASETS = 1,
181  ROOT_AND_LEAFS = 2,
182  SPECIFIED_INDEX = 3
183  };
184 
186 
196  vtkSetMacro(CompositeStyle, int);
197  vtkGetMacro(CompositeStyle, int);
198  void SetCompositeStyleToRoot() { this->SetCompositeStyle(ROOT_LEVEL); }
199  void SetCompositeStyleToLeafs() { this->SetCompositeStyle(LEAF_DATASETS); }
200  void SetCompositeStyleToRootAndLeafs() { this->SetCompositeStyle(ROOT_AND_LEAFS); }
201  void SetCompositeStyleToSpecifiedIndex() { this->SetCompositeStyle(SPECIFIED_INDEX); }
203 
205 
212  void AddIndex(unsigned int index);
213  void RemoveIndex(unsigned int index);
216 
218 
223  vtkSetMacro(OutputPointsPrecision, int);
224  vtkGetMacro(OutputPointsPrecision, int);
226 
227 protected:
229  ~vtkOutlineFilter() override;
230 
234 
235  class vtkIndexSet;
236  vtkIndexSet* Indices;
237 
238  void AppendOutline(vtkPoints* pts, vtkCellArray* lines, vtkCellArray* faces, double bds[6]);
239 
242 
243 private:
244  vtkOutlineFilter(const vtkOutlineFilter&) = delete;
245  void operator=(const vtkOutlineFilter&) = delete;
246 };
247 
248 #endif
object to represent cell connectivity
Definition: vtkCellArray.h:296
a simple class to control print indentation
Definition: vtkIndent.h:119
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:149
Superclass for algorithms that produce only polydata as output.
@ info
Definition: vtkX3D.h:382
@ port
Definition: vtkX3D.h:453
@ index
Definition: vtkX3D.h:252
int vtkTypeBool
Definition: vtkABI.h:69