VTK  9.2.6
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=========================================================================*/
34
35#ifndef vtkExtractBlock_h
36#define vtkExtractBlock_h
37
38#include "vtkFiltersExtractionModule.h" // For export macro
40
45
46class VTKFILTERSEXTRACTION_EXPORT vtkExtractBlock : public vtkPassInputTypeAlgorithm
47{
48 class vtkSet;
49
50public:
52
57 void PrintSelf(ostream& os, vtkIndent indent) override;
59
61
69 void AddIndex(unsigned int index);
70 void RemoveIndex(unsigned int index);
73
75
81 vtkSetMacro(PruneOutput, vtkTypeBool);
82 vtkGetMacro(PruneOutput, vtkTypeBool);
83 vtkBooleanMacro(PruneOutput, vtkTypeBool);
85
87
97 vtkBooleanMacro(MaintainStructure, vtkTypeBool);
99
100protected:
103
108
111 int FillInputPortInformation(int port, vtkInformation* info) override;
112
115 vtkDataObjectTree* input, vtkSet& activeIndices);
118 bool Prune(vtkDataObject* branch);
119
122
123private:
124 vtkExtractBlock(const vtkExtractBlock&) = delete;
125 void operator=(const vtkExtractBlock&) = delete;
126 vtkSet* Indices;
127};
128
129#endif
superclass for composite data iterators
provides implementation for most abstract methods in the superclass vtkCompositeDataSet
general representation of visualization data
void AddIndex(unsigned int index)
Select the block indices to extract.
bool Prune(vtkPartitionedDataSet *mpiece)
void RemoveAllIndices()
Standard methods for instantiation, type information, and printing.
void CopySubTree(vtkDataObjectTreeIterator *loc, vtkDataObjectTree *output, vtkDataObjectTree *input, vtkSet &activeIndices)
Extract subtree.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Implementation of the algorithm.
vtkTypeBool MaintainStructure
~vtkExtractBlock() override
static vtkInformationIntegerKey * DONT_PRUNE()
Internal key, used to avoid pruning of a branch.
vtkTypeBool PruneOutput
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for instantiation, type information, and printing.
void RemoveIndex(unsigned int index)
Standard methods for instantiation, type information, and printing.
bool Prune(vtkDataObject *branch)
static vtkExtractBlock * New()
Standard methods for instantiation, type information, and printing.
bool Prune(vtkMultiBlockDataSet *mblock)
a simple class to control print indentation
Definition vtkIndent.h:40
Key for integer values in vtkInformation.
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Composite dataset that organizes datasets into blocks.
composite dataset to encapsulates a dataset consisting of partitions.
int vtkTypeBool
Definition vtkABI.h:69