VTK  9.2.6
vtkExtractSelection.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkExtractSelection.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=========================================================================*/
38#ifndef vtkExtractSelection_h
39#define vtkExtractSelection_h
40
42#include "vtkFiltersExtractionModule.h" // For export macro
43
44#include "vtkSelectionNode.h" // for vtkSelectionNode::SelectionContent
45#include "vtkSmartPointer.h" // for smart pointer
46
48class vtkSelection;
50class vtkSelector;
52class vtkTable;
53
54class VTKFILTERSEXTRACTION_EXPORT vtkExtractSelection : public vtkDataObjectAlgorithm
55{
56public:
59 void PrintSelf(ostream& os, vtkIndent indent) override;
60
66 {
67 this->SetInputConnection(1, algOutput);
68 }
69
71
76 vtkSetMacro(PreserveTopology, bool);
77 vtkGetMacro(PreserveTopology, bool);
78 vtkBooleanMacro(PreserveTopology, bool);
80
81protected:
84
89 vtkInformationVector* outputVector) override;
91 vtkInformationVector* outputVector) override;
95 int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
96 vtkInformationVector* outputVector) override;
97
98 // Gets the attribute association of the selection. Currently we support ROW, POINT, and CELL.
99 // If the selection types are mismatched the boolean parameter will be set to false, otherwise
100 // it will be true after the function returns.
102
109
118 vtkDataObject::AttributeTypes elementType, vtkSignedCharArray* insidednessArray);
119
120 int FillInputPortInformation(int port, vtkInformation* info) override;
121
127 vtkDataSet* input, vtkUnstructuredGrid* output, vtkSignedCharArray* cellInside);
134 vtkDataSet* input, vtkUnstructuredGrid* output, vtkSignedCharArray* pointInside);
139 void ExtractSelectedRows(vtkTable* input, vtkTable* output, vtkSignedCharArray* rowsInside);
140
141 bool PreserveTopology = false;
142
143private:
145 void operator=(const vtkExtractSelection&) = delete;
146};
147
148#endif
Proxy object to connect input/output ports.
virtual void SetInputConnection(int port, vtkAlgorithmOutput *input)
Set the connection for the given input port index.
Superclass for algorithms that produce only data object as output.
general representation of visualization data
AttributeTypes
Possible attribute types.
abstract class to specify dataset behavior
Definition vtkDataSet.h:63
extract a subset from a vtkDataSet.
vtkDataObject::AttributeTypes GetAttributeTypeOfSelection(vtkSelection *sel, bool &sane)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
~vtkExtractSelection() override
void SetSelectionConnection(vtkAlgorithmOutput *algOutput)
Convenience method to specify the selection connection (2nd input port)
void ExtractSelectedCells(vtkDataSet *input, vtkUnstructuredGrid *output, vtkSignedCharArray *cellInside)
Given a vtkDataSet and an array of which cells to extract, this populates the given vtkUnstructuredGr...
int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
Sets up empty output dataset.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
static vtkExtractSelection * New()
int RequestDataObject(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
Sets up empty output dataset.
virtual vtkSmartPointer< vtkSelector > NewSelectionOperator(vtkSelectionNode::SelectionContent type)
Creates a new vtkSelector for the given content type.
void ExtractSelectedPoints(vtkDataSet *input, vtkUnstructuredGrid *output, vtkSignedCharArray *pointInside)
Given a vtkDataSet and an array of which points to extract, the populates the given vtkUnstructuredGr...
vtkSmartPointer< vtkDataObject > ExtractElements(vtkDataObject *block, vtkDataObject::AttributeTypes elementType, vtkSignedCharArray *insidednessArray)
Given a non-composite input data object (either a block of a larger composite or the whole input),...
void ExtractSelectedRows(vtkTable *input, vtkTable *output, vtkSignedCharArray *rowsInside)
Given an input vtkTable and an array of which rows to extract, this populates the output table with t...
a simple class to control print indentation
Definition vtkIndent.h:40
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
a node in a vtkSelection the defines the selection criteria.
SelectionContent
Indicate the means by which data is selected.
data object that represents a "selection" in VTK.
dynamic, self-adjusting array of signed char
Hold a reference to a vtkObjectBase instance.
A table, which contains similar-typed columns of data.
Definition vtkTable.h:74
dataset represents arbitrary combinations of all possible cell types