VTK  9.4.20250201
vtkExtractBlock.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
25#ifndef vtkExtractBlock_h
26#define vtkExtractBlock_h
27
28#include "vtkFiltersExtractionModule.h" // For export macro
30
31VTK_ABI_NAMESPACE_BEGIN
36
37class VTKFILTERSEXTRACTION_EXPORT vtkExtractBlock : public vtkPassInputTypeAlgorithm
38{
39 class vtkSet;
40
41public:
43
48 void PrintSelf(ostream& os, vtkIndent indent) override;
50
52
60 void AddIndex(unsigned int index);
61 void RemoveIndex(unsigned int index);
64
66
72 vtkSetMacro(PruneOutput, vtkTypeBool);
73 vtkGetMacro(PruneOutput, vtkTypeBool);
74 vtkBooleanMacro(PruneOutput, vtkTypeBool);
76
78
86 vtkSetMacro(MaintainStructure, vtkTypeBool);
87 vtkGetMacro(MaintainStructure, vtkTypeBool);
88 vtkBooleanMacro(MaintainStructure, vtkTypeBool);
90
91protected:
93 ~vtkExtractBlock() override;
94
99
102 int FillInputPortInformation(int port, vtkInformation* info) override;
103
106 vtkDataObjectTree* input, vtkSet& activeIndices);
109 bool Prune(vtkDataObject* branch);
110
113
114private:
115 vtkExtractBlock(const vtkExtractBlock&) = delete;
116 void operator=(const vtkExtractBlock&) = delete;
117 vtkSet* Indices;
118};
119
120VTK_ABI_NAMESPACE_END
121#endif
superclass for composite data iterators
provides implementation for most abstract methods in the superclass vtkCompositeDataSet
general representation of visualization data
extracts blocks from a vtkDataObjectTree subclass.
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:108
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.
Superclass for algorithms that produce output of the same type as input.
int vtkTypeBool
Definition vtkABI.h:64