VTK  9.1.0
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=========================================================================*/
35#ifndef vtkExtractSelection_h
36#define vtkExtractSelection_h
37
39#include "vtkFiltersExtractionModule.h" // For export macro
40
41#include "vtkSelectionNode.h" // for vtkSelectionNode::SelectionContent
42#include "vtkSmartPointer.h" // for smart pointer
43
45class vtkSelection;
47class vtkSelector;
49class vtkTable;
50
51class VTKFILTERSEXTRACTION_EXPORT vtkExtractSelection : public vtkDataObjectAlgorithm
52{
53public:
56 void PrintSelf(ostream& os, vtkIndent indent) override;
57
63 {
64 this->SetInputConnection(1, algOutput);
65 }
66
68
73 vtkSetMacro(PreserveTopology, bool);
74 vtkGetMacro(PreserveTopology, bool);
75 vtkBooleanMacro(PreserveTopology, bool);
77
78protected:
81
86 vtkInformationVector* outputVector) override;
90 int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
91 vtkInformationVector* outputVector) override;
92
93 // Gets the attribute association of the selection. Currently we support ROW, POINT, and CELL.
94 // If the selection types are mismatched the boolean parameter will be set to false, otherwise
95 // it will be true after the function returns.
97
104
113 vtkDataObject::AttributeTypes elementType, vtkSignedCharArray* insidednessArray);
114
116
122 vtkDataSet* input, vtkUnstructuredGrid* output, vtkSignedCharArray* cellInside);
129 vtkDataSet* input, vtkUnstructuredGrid* output, vtkSignedCharArray* pointInside);
134 void ExtractSelectedRows(vtkTable* input, vtkTable* output, vtkSignedCharArray* rowsInside);
135
136 bool PreserveTopology = false;
137
138private:
140 void operator=(const vtkExtractSelection&) = delete;
141};
142
143#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
Definition: vtkDataObject.h:60
AttributeTypes
Possible attribute types.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:57
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 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:34
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.
Definition: vtkSelection.h:54
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:63
dataset represents arbitrary combinations of all possible cell types
@ info
Definition: vtkX3D.h:382
@ port
Definition: vtkX3D.h:453
@ type
Definition: vtkX3D.h:522