VTK  9.0.1
vtkExtractCellsByType.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkExtractCellsByType.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 =========================================================================*/
15 
47 #ifndef vtkExtractCellsByType_h
48 #define vtkExtractCellsByType_h
49 
50 #include "vtkDataSetAlgorithm.h"
51 #include "vtkFiltersExtractionModule.h" // For export macro
52 
53 struct vtkCellTypeSet;
54 class vtkIdTypeArray;
55 
56 class VTKFILTERSEXTRACTION_EXPORT vtkExtractCellsByType : public vtkDataSetAlgorithm
57 {
58 public:
60 
63  static vtkExtractCellsByType* New();
65  void PrintSelf(ostream& os, vtkIndent indent) override;
67 
69 
74  void AddCellType(unsigned int type);
75  void AddAllCellTypes();
76  void RemoveCellType(unsigned int type);
77  void RemoveAllCellTypes();
78  bool ExtractCellType(unsigned int type);
80 
81 protected:
84 
85  void ExtractUnstructuredData(vtkDataSet* input, vtkDataSet* output);
86  void ExtractPolyDataCells(
87  vtkDataSet* input, vtkDataSet* output, vtkIdType* ptMap, vtkIdType& numNewPts);
88  void ExtractUnstructuredGridCells(
89  vtkDataSet* input, vtkDataSet* output, vtkIdType* ptMap, vtkIdType& numNewPts);
90 
92  ~vtkExtractCellsByType() override;
93 
94 private:
96  void operator=(const vtkExtractCellsByType&) = delete;
97 
98  vtkCellTypeSet* CellTypes;
99 };
100 
101 #endif
vtkX3D::type
@ type
Definition: vtkX3D.h:522
vtkIdType
int vtkIdType
Definition: vtkType.h:338
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:35
vtkDataSetAlgorithm::RequestData
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called within ProcessRequest when a request asks the algorithm to do its work.
Definition: vtkDataSetAlgorithm.h:176
vtkDataSetAlgorithm
Superclass for algorithms that produce output of the same type as input.
Definition: vtkDataSetAlgorithm.h:48
vtkExtractCellsByType
extract cells of a specified type
Definition: vtkExtractCellsByType.h:56
vtkX3D::port
@ port
Definition: vtkX3D.h:453
vtkDataSetAlgorithm::FillInputPortInformation
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkDataSetAlgorithm::New
static vtkDataSetAlgorithm * New()
vtkDataSet
abstract class to specify dataset behavior
Definition: vtkDataSet.h:56
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:73
vtkX3D::info
@ info
Definition: vtkX3D.h:382
vtkDataSetAlgorithm.h
vtkIdTypeArray
dynamic, self-adjusting array of vtkIdType
Definition: vtkIdTypeArray.h:35
vtkDataSetAlgorithm::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.