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 =========================================================================*/
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 
99  vtkInformationVector *) override;
100 
101 
103  void CopySubTree(vtkDataObjectTreeIterator* loc,
105  bool Prune(vtkMultiBlockDataSet* mblock);
106  bool Prune(vtkMultiPieceDataSet* mblock);
107  bool Prune(vtkDataObject* mblock);
108 
111 
112 private:
113  vtkExtractBlock(const vtkExtractBlock&) = delete;
114  void operator=(const vtkExtractBlock&) = delete;
115 
116  class vtkSet;
117  vtkSet *Indices;
118  vtkSet *ActiveIndices;
119 
120 };
121 
122 #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:39
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:64