VTK  9.1.0
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 =========================================================================*/
144 #ifndef vtkOutlineFilter_h
145 #define vtkOutlineFilter_h
146 
147 #include "vtkFiltersModelingModule.h" // For export macro
148 #include "vtkPolyDataAlgorithm.h"
149 
150 class VTKFILTERSMODELING_EXPORT vtkOutlineFilter : public vtkPolyDataAlgorithm
151 {
152 public:
154 
159  void PrintSelf(ostream& os, vtkIndent indent) override;
161 
163 
166  vtkSetMacro(GenerateFaces, vtkTypeBool);
167  vtkBooleanMacro(GenerateFaces, vtkTypeBool);
168  vtkGetMacro(GenerateFaces, vtkTypeBool);
170 
172  {
173  ROOT_LEVEL = 0,
174  LEAF_DATASETS = 1,
175  ROOT_AND_LEAFS = 2,
176  SPECIFIED_INDEX = 3
177  };
178 
180 
190  vtkSetMacro(CompositeStyle, int);
191  vtkGetMacro(CompositeStyle, int);
192  void SetCompositeStyleToRoot() { this->SetCompositeStyle(ROOT_LEVEL); }
193  void SetCompositeStyleToLeafs() { this->SetCompositeStyle(LEAF_DATASETS); }
194  void SetCompositeStyleToRootAndLeafs() { this->SetCompositeStyle(ROOT_AND_LEAFS); }
195  void SetCompositeStyleToSpecifiedIndex() { this->SetCompositeStyle(SPECIFIED_INDEX); }
197 
199 
206  void AddIndex(unsigned int index);
207  void RemoveIndex(unsigned int index);
210 
212 
217  vtkSetMacro(OutputPointsPrecision, int);
218  vtkGetMacro(OutputPointsPrecision, int);
220 
221 protected:
223  ~vtkOutlineFilter() override;
224 
228 
229  class vtkIndexSet;
230  vtkIndexSet* Indices;
231 
232  void AppendOutline(vtkPoints* pts, vtkCellArray* lines, vtkCellArray* faces, double bds[6]);
233 
236 
237 private:
238  vtkOutlineFilter(const vtkOutlineFilter&) = delete;
239  void operator=(const vtkOutlineFilter&) = delete;
240 };
241 
242 #endif
object to represent cell connectivity
Definition: vtkCellArray.h:290
a simple class to control print indentation
Definition: vtkIndent.h:113
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:143
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