VTK  9.2.6
vtkConvertSelection.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkConvertSelection.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=========================================================================*/
15/*----------------------------------------------------------------------------
16 Copyright (c) Sandia Corporation
17 See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
18----------------------------------------------------------------------------*/
36#ifndef vtkConvertSelection_h
37#define vtkConvertSelection_h
38
39#include "vtkFiltersExtractionModule.h" // For export macro
41
43class vtkGraph;
44class vtkIdTypeArray;
45class vtkSelection;
47class vtkStringArray;
48class vtkTable;
50
51class VTKFILTERSEXTRACTION_EXPORT vtkConvertSelection : public vtkSelectionAlgorithm
52{
53public:
56 void PrintSelf(ostream& os, vtkIndent indent) override;
57
62
64
72 vtkSetMacro(InputFieldType, int);
73 vtkGetMacro(InputFieldType, int);
75
77
81 vtkSetMacro(OutputType, int);
82 vtkGetMacro(OutputType, int);
84
86
89 virtual void SetArrayName(const char*);
90 virtual const char* GetArrayName();
92
94
98 vtkGetObjectMacro(ArrayNames, vtkStringArray);
100
102
105 void AddArrayName(const char*);
108
110
114 vtkSetMacro(MatchAnyValues, bool);
115 vtkGetMacro(MatchAnyValues, bool);
116 vtkBooleanMacro(MatchAnyValues, bool);
118
120
124 vtkSetMacro(AllowMissingArray, bool);
125 vtkGetMacro(AllowMissingArray, bool);
126 vtkBooleanMacro(AllowMissingArray, bool);
128
130
135 vtkGetObjectMacro(SelectionExtractor, vtkExtractSelection);
137
139
148 vtkSelection* input, vtkDataObject* data, const char* arrayName);
150 vtkSelection* input, vtkDataObject* data, vtkStringArray* arrayNames);
152
157 static void GetSelectedItems(
158 vtkSelection* input, vtkDataObject* data, int fieldType, vtkIdTypeArray* indices);
159
161
165 static void GetSelectedVertices(vtkSelection* input, vtkGraph* data, vtkIdTypeArray* indices);
166 static void GetSelectedEdges(vtkSelection* input, vtkGraph* data, vtkIdTypeArray* indices);
167 static void GetSelectedPoints(vtkSelection* input, vtkDataSet* data, vtkIdTypeArray* indices);
168 static void GetSelectedCells(vtkSelection* input, vtkDataSet* data, vtkIdTypeArray* indices);
169 static void GetSelectedRows(vtkSelection* input, vtkTable* data, vtkIdTypeArray* indices);
171
177 vtkStringArray* arrayNames = nullptr, int inputFieldType = -1, bool allowMissingArray = false);
178
179protected:
182
184
185 int Convert(vtkSelection* input, vtkDataObject* data, vtkSelection* output);
186
188
190 vtkSelectionNode* input, vtkCompositeDataSet* data, vtkSelection* output);
191
193
194 int SelectTableFromTable(vtkTable* selTable, vtkTable* dataTable, vtkIdTypeArray* indices);
195
197
198 int FillInputPortInformation(int port, vtkInformation* info) override;
199
206
207private:
209 void operator=(const vtkConvertSelection&) = delete;
210};
211
212#endif
Proxy object to connect input/output ports.
abstract superclass for composite (multi-block or AMR) datasets
Convert a selection from one type to another.
static void GetSelectedRows(vtkSelection *input, vtkTable *data, vtkIdTypeArray *indices)
Static methods for easily obtaining selected items from a data object.
int ConvertCompositeDataSet(vtkSelection *input, vtkCompositeDataSet *data, vtkSelection *output)
void AddArrayName(const char *)
Convenience methods used by UI.
static vtkSelection * ToSelectionType(vtkSelection *input, vtkDataObject *data, int type, vtkStringArray *arrayNames=nullptr, int inputFieldType=-1, bool allowMissingArray=false)
A generic static method for converting selection types.
static void GetSelectedItems(vtkSelection *input, vtkDataObject *data, int fieldType, vtkIdTypeArray *indices)
Static generic method for obtaining selected items from a data object.
static vtkSelection * ToGlobalIdSelection(vtkSelection *input, vtkDataObject *data)
Static methods for easily converting between selection types.
static void GetSelectedEdges(vtkSelection *input, vtkGraph *data, vtkIdTypeArray *indices)
Static methods for easily obtaining selected items from a data object.
vtkExtractSelection * SelectionExtractor
int ConvertToIndexSelection(vtkSelectionNode *input, vtkDataSet *data, vtkSelectionNode *output)
int SelectTableFromTable(vtkTable *selTable, vtkTable *dataTable, vtkIdTypeArray *indices)
static void GetSelectedCells(vtkSelection *input, vtkDataSet *data, vtkIdTypeArray *indices)
Static methods for easily obtaining selected items from a data object.
static vtkSelection * ToIndexSelection(vtkSelection *input, vtkDataObject *data)
Static methods for easily converting between selection types.
static vtkSelection * ToPedigreeIdSelection(vtkSelection *input, vtkDataObject *data)
Static methods for easily converting between selection types.
virtual const char * GetArrayName()
The output array name for value or threshold selections.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void ClearArrayNames()
Convenience methods used by UI.
void SetDataObjectConnection(vtkAlgorithmOutput *in)
A convenience method for setting the second input (i.e.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
virtual void SetArrayName(const char *)
The output array name for value or threshold selections.
static void GetSelectedVertices(vtkSelection *input, vtkGraph *data, vtkIdTypeArray *indices)
Static methods for easily obtaining selected items from a data object.
static vtkSelection * ToValueSelection(vtkSelection *input, vtkDataObject *data, const char *arrayName)
Static methods for easily converting between selection types.
static void GetSelectedPoints(vtkSelection *input, vtkDataSet *data, vtkIdTypeArray *indices)
Static methods for easily obtaining selected items from a data object.
int Convert(vtkSelection *input, vtkDataObject *data, vtkSelection *output)
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
static vtkSelection * ToValueSelection(vtkSelection *input, vtkDataObject *data, vtkStringArray *arrayNames)
Static methods for easily converting between selection types.
static vtkConvertSelection * New()
int ConvertFromQueryAndBlockSelectionNodeCompositeDataSet(vtkSelectionNode *input, vtkCompositeDataSet *data, vtkSelection *output)
vtkStringArray * ArrayNames
virtual void SetArrayNames(vtkStringArray *)
The output array names for value selection.
~vtkConvertSelection() override
int ConvertToBlockSelection(vtkSelection *input, vtkCompositeDataSet *data, vtkSelection *output)
virtual void SetSelectionExtractor(vtkExtractSelection *)
Set/get a selection extractor used in some conversions to obtain IDs.
general representation of visualization data
abstract class to specify dataset behavior
Definition vtkDataSet.h:57
extract a subset from a vtkDataSet.
Base class for graph data types.
Definition vtkGraph.h:290
dynamic, self-adjusting array of vtkIdType
a simple class to control print indentation
Definition vtkIndent.h:34
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce only Selection as output.
a node in a vtkSelection the defines the selection criteria.
data object that represents a "selection" in VTK.
a vtkAbstractArray subclass for strings
A table, which contains similar-typed columns of data.
Definition vtkTable.h:68