VTK  9.0.1
vtkExtractBlock.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkExtractBlock.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 =========================================================================*/
30 #ifndef vtkExtractBlock_h
31 #define vtkExtractBlock_h
32 
33 #include "vtkFiltersExtractionModule.h" // For export macro
35 
38 
39 class VTKFILTERSEXTRACTION_EXPORT vtkExtractBlock : public vtkMultiBlockDataSetAlgorithm
40 {
41 public:
43 
46  static vtkExtractBlock* New();
48  void PrintSelf(ostream& os, vtkIndent indent) override;
50 
52 
60  void AddIndex(unsigned int index);
61  void RemoveIndex(unsigned int index);
62  void RemoveAllIndices();
64 
66 
70  vtkSetMacro(PruneOutput, vtkTypeBool);
71  vtkGetMacro(PruneOutput, vtkTypeBool);
72  vtkBooleanMacro(PruneOutput, vtkTypeBool);
74 
76 
82  vtkSetMacro(MaintainStructure, vtkTypeBool);
83  vtkGetMacro(MaintainStructure, vtkTypeBool);
84  vtkBooleanMacro(MaintainStructure, vtkTypeBool);
86 
87 protected:
89  ~vtkExtractBlock() override;
90 
94  static vtkInformationIntegerKey* DONT_PRUNE();
95 
98 
100  void CopySubTree(
102  bool Prune(vtkMultiBlockDataSet* mblock);
103  bool Prune(vtkMultiPieceDataSet* mblock);
104  bool Prune(vtkDataObject* mblock);
105 
108 
109 private:
110  vtkExtractBlock(const vtkExtractBlock&) = delete;
111  void operator=(const vtkExtractBlock&) = delete;
112 
113  class vtkSet;
114  vtkSet* Indices;
115  vtkSet* ActiveIndices;
116 };
117 
118 #endif
Store vtkAlgorithm input/output information.
extracts blocks from a multiblock dataset.
vtkTypeBool MaintainStructure
Superclass for algorithms that produce only vtkMultiBlockDataSet as output.
vtkTypeBool PruneOutput
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
static vtkMultiBlockDataSetAlgorithm * New()
int vtkTypeBool
Definition: vtkABI.h:69
a simple class to control print indentation
Definition: vtkIndent.h:33
Key for integer values in vtkInformation.
composite dataset to encapsulates pieces of dataset.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Composite dataset that organizes datasets into blocks.
Store zero or more vtkInformation instances.
superclass for composite data iterators
general representation of visualization data
Definition: vtkDataObject.h:59