29 #ifndef __vtkExtractBlock_h
30 #define __vtkExtractBlock_h
32 #include "vtkFiltersExtractionModule.h"
33 #include "vtkMultiBlockDataSetAlgorithm.h"
35 class vtkDataObjectTreeIterator;
36 class vtkMultiPieceDataSet;
38 class VTKFILTERSEXTRACTION_EXPORT
vtkExtractBlock :
public vtkMultiBlockDataSetAlgorithm
43 void PrintSelf(ostream& os, vtkIndent indent);
51 void AddIndex(
unsigned int index);
52 void RemoveIndex(
unsigned int index);
53 void RemoveAllIndices();
59 vtkSetMacro(PruneOutput,
int);
60 vtkGetMacro(PruneOutput,
int);
61 vtkBooleanMacro(PruneOutput,
int);
69 vtkSetMacro(MaintainStructure,
int);
70 vtkGetMacro(MaintainStructure,
int);
71 vtkBooleanMacro(MaintainStructure,
int);
80 static vtkInformationIntegerKey* DONT_PRUNE();
83 virtual int RequestData(vtkInformation *,
84 vtkInformationVector **,
85 vtkInformationVector *);
89 void CopySubTree(vtkDataObjectTreeIterator* loc,
90 vtkMultiBlockDataSet* output, vtkMultiBlockDataSet* input);
91 bool Prune(vtkMultiBlockDataSet* mblock);
92 bool Prune(vtkMultiPieceDataSet* mblock);
93 bool Prune(vtkDataObject* mblock);
103 vtkSet *ActiveIndices;