VTK
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 =========================================================================*/
27 #ifndef vtkExtractBlock_h
28 #define vtkExtractBlock_h
29 
30 #include "vtkFiltersExtractionModule.h" // For export macro
32 
35 
36 class VTKFILTERSEXTRACTION_EXPORT vtkExtractBlock : public vtkMultiBlockDataSetAlgorithm
37 {
38 public:
39  static vtkExtractBlock* New();
41  void PrintSelf(ostream& os, vtkIndent indent) override;
42 
44 
52  void AddIndex(unsigned int index);
53  void RemoveIndex(unsigned int index);
54  void RemoveAllIndices();
56 
58 
62  vtkSetMacro(PruneOutput, vtkTypeBool);
63  vtkGetMacro(PruneOutput, vtkTypeBool);
64  vtkBooleanMacro(PruneOutput, vtkTypeBool);
66 
68 
74  vtkSetMacro(MaintainStructure, vtkTypeBool);
75  vtkGetMacro(MaintainStructure, vtkTypeBool);
76  vtkBooleanMacro(MaintainStructure, vtkTypeBool);
78 
79 protected:
81  ~vtkExtractBlock() override;
82 
86  static vtkInformationIntegerKey* DONT_PRUNE();
87 
91  vtkInformationVector *) override;
92 
93 
95  void CopySubTree(vtkDataObjectTreeIterator* loc,
97  bool Prune(vtkMultiBlockDataSet* mblock);
98  bool Prune(vtkMultiPieceDataSet* mblock);
99  bool Prune(vtkDataObject* mblock);
100 
103 private:
104  vtkExtractBlock(const vtkExtractBlock&) = delete;
105  void operator=(const vtkExtractBlock&) = delete;
106 
107  class vtkSet;
108  vtkSet *Indices;
109  vtkSet *ActiveIndices;
110 
111 };
112 
113 #endif
114 
115 
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:58