VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 =========================================================================*/
29 #ifndef __vtkExtractBlock_h
30 #define __vtkExtractBlock_h
31 
32 #include "vtkFiltersExtractionModule.h" // For export macro
34 
35 class vtkDataObjectTreeIterator;
37 
38 class VTKFILTERSEXTRACTION_EXPORT vtkExtractBlock : public vtkMultiBlockDataSetAlgorithm
39 {
40 public:
41  static vtkExtractBlock* New();
43  void PrintSelf(ostream& os, vtkIndent indent);
44 
46 
51  void AddIndex(unsigned int index);
52  void RemoveIndex(unsigned int index);
53  void RemoveAllIndices();
55 
57 
59  vtkSetMacro(PruneOutput, int);
60  vtkGetMacro(PruneOutput, int);
61  vtkBooleanMacro(PruneOutput, int);
63 
65 
69  vtkSetMacro(MaintainStructure, int);
70  vtkGetMacro(MaintainStructure, int);
71  vtkBooleanMacro(MaintainStructure, int);
73 
74 //BTX
75 protected:
77  ~vtkExtractBlock();
78 
80  static vtkInformationIntegerKey* DONT_PRUNE();
81 
83  virtual int RequestData(vtkInformation *,
84  vtkInformationVector **,
85  vtkInformationVector *);
86 
87 
89  void CopySubTree(vtkDataObjectTreeIterator* loc,
91  bool Prune(vtkMultiBlockDataSet* mblock);
92  bool Prune(vtkMultiPieceDataSet* mblock);
93  bool Prune(vtkDataObject* mblock);
94 
97 private:
98  vtkExtractBlock(const vtkExtractBlock&); // Not implemented.
99  void operator=(const vtkExtractBlock&); // Not implemented.
100 
101  class vtkSet;
102  vtkSet *Indices;
103  vtkSet *ActiveIndices;
104 //ETX
105 };
106 
107 #endif
108 
109 
extracts blocks from a multiblock dataset.
Superclass for algorithms that produce only vtkMultiBlockDataSet as output.
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
static vtkMultiBlockDataSetAlgorithm * New()
composite dataset to encapsulates pieces of dataset.
Composite dataset that organizes datasets into blocks.
void PrintSelf(ostream &os, vtkIndent indent)
general representation of visualization data
Definition: vtkDataObject.h:64