VTK  9.0.20210424
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 ----------------------------------------------------------------------------*/
39 #ifndef vtkConvertSelection_h
40 #define vtkConvertSelection_h
41 
42 #include "vtkFiltersExtractionModule.h" // For export macro
43 #include "vtkSelectionAlgorithm.h"
44 
46 class vtkGraph;
47 class vtkIdTypeArray;
48 class vtkSelection;
49 class vtkSelectionNode;
50 class vtkStringArray;
51 class vtkTable;
53 
54 class VTKFILTERSEXTRACTION_EXPORT vtkConvertSelection : public vtkSelectionAlgorithm
55 {
56 public:
59  void PrintSelf(ostream& os, vtkIndent indent) override;
60 
65 
67 
75  vtkSetMacro(InputFieldType, int);
76  vtkGetMacro(InputFieldType, int);
78 
80 
84  vtkSetMacro(OutputType, int);
85  vtkGetMacro(OutputType, int);
87 
89 
92  virtual void SetArrayName(const char*);
93  virtual const char* GetArrayName();
95 
97 
101  vtkGetObjectMacro(ArrayNames, vtkStringArray);
103 
105 
108  void AddArrayName(const char*);
111 
113 
117  vtkSetMacro(MatchAnyValues, bool);
118  vtkGetMacro(MatchAnyValues, bool);
119  vtkBooleanMacro(MatchAnyValues, bool);
121 
123 
127  vtkSetMacro(AllowMissingArray, bool);
128  vtkGetMacro(AllowMissingArray, bool);
129  vtkBooleanMacro(AllowMissingArray, bool);
131 
133 
138  vtkGetObjectMacro(SelectionExtractor, vtkExtractSelection);
140 
142 
151  vtkSelection* input, vtkDataObject* data, const char* arrayName);
153  vtkSelection* input, vtkDataObject* data, vtkStringArray* arrayNames);
155 
160  static void GetSelectedItems(
161  vtkSelection* input, vtkDataObject* data, int fieldType, vtkIdTypeArray* indices);
162 
164 
169  static void GetSelectedEdges(vtkSelection* input, vtkGraph* data, vtkIdTypeArray* indices);
171  static void GetSelectedCells(vtkSelection* input, vtkDataSet* data, vtkIdTypeArray* indices);
172  static void GetSelectedRows(vtkSelection* input, vtkTable* data, vtkIdTypeArray* indices);
174 
180  vtkStringArray* arrayNames = nullptr, int inputFieldType = -1, bool allowMissingArray = false);
181 
182 protected:
185 
187 
189 
191 
194 
196 
197  int SelectTableFromTable(vtkTable* selTable, vtkTable* dataTable, vtkIdTypeArray* indices);
198 
200 
202 
209 
210 private:
211  vtkConvertSelection(const vtkConvertSelection&) = delete;
212  void operator=(const vtkConvertSelection&) = delete;
213 };
214 
215 #endif
vtkConvertSelection::GetSelectedRows
static void GetSelectedRows(vtkSelection *input, vtkTable *data, vtkIdTypeArray *indices)
Static methods for easily obtaining selected items from a data object.
vtkConvertSelection::ClearArrayNames
void ClearArrayNames()
Convenience methods used by UI.
vtkConvertSelection::GetSelectedEdges
static void GetSelectedEdges(vtkSelection *input, vtkGraph *data, vtkIdTypeArray *indices)
Static methods for easily obtaining selected items from a data object.
vtkConvertSelection::ArrayNames
vtkStringArray * ArrayNames
Definition: vtkConvertSelection.h:205
vtkSelectionNode
A node in a selection tree.
Definition: vtkSelectionNode.h:64
vtkConvertSelection::GetSelectedItems
static void GetSelectedItems(vtkSelection *input, vtkDataObject *data, int fieldType, vtkIdTypeArray *indices)
Static generic method for obtaining selected items from a data object.
vtkConvertSelection::SetArrayName
virtual void SetArrayName(const char *)
The output array name for value or threshold selections.
vtkConvertSelection::vtkConvertSelection
vtkConvertSelection()
vtkX3D::type
@ type
Definition: vtkX3D.h:522
vtkConvertSelection::AddArrayName
void AddArrayName(const char *)
Convenience methods used by UI.
vtkConvertSelection::ConvertToBlockSelection
int ConvertToBlockSelection(vtkSelection *input, vtkCompositeDataSet *data, vtkSelection *output)
vtkX3D::data
@ data
Definition: vtkX3D.h:321
vtkConvertSelection::SetSelectionExtractor
virtual void SetSelectionExtractor(vtkExtractSelection *)
Set/get a selection extractor used in some conversions to obtain IDs.
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:36
vtkTable
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:63
vtkExtractSelection
extract a subset from a vtkDataSet.
Definition: vtkExtractSelection.h:52
vtkConvertSelection::SelectTableFromTable
int SelectTableFromTable(vtkTable *selTable, vtkTable *dataTable, vtkIdTypeArray *indices)
vtkConvertSelection::ToIndexSelection
static vtkSelection * ToIndexSelection(vtkSelection *input, vtkDataObject *data)
Static methods for easily converting between selection types.
vtkConvertSelection::OutputType
int OutputType
Definition: vtkConvertSelection.h:203
vtkSelection
data object that represents a "selection" in VTK.
Definition: vtkSelection.h:58
vtkConvertSelection::RequestData
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkConvertSelection::ToSelectionType
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.
vtkSelectionAlgorithm.h
vtkCompositeDataSet
abstract superclass for composite (multi-block or AMR) datasets
Definition: vtkCompositeDataSet.h:49
vtkConvertSelection::ConvertCompositeDataSet
int ConvertCompositeDataSet(vtkSelection *input, vtkCompositeDataSet *data, vtkSelection *output)
vtkConvertSelection::New
static vtkConvertSelection * New()
vtkConvertSelection::~vtkConvertSelection
~vtkConvertSelection() override
vtkConvertSelection::GetSelectedCells
static void GetSelectedCells(vtkSelection *input, vtkDataSet *data, vtkIdTypeArray *indices)
Static methods for easily obtaining selected items from a data object.
vtkX3D::port
@ port
Definition: vtkX3D.h:453
vtkConvertSelection::ToGlobalIdSelection
static vtkSelection * ToGlobalIdSelection(vtkSelection *input, vtkDataObject *data)
Static methods for easily converting between selection types.
vtkConvertSelection::InputFieldType
int InputFieldType
Definition: vtkConvertSelection.h:204
vtkConvertSelection::ToPedigreeIdSelection
static vtkSelection * ToPedigreeIdSelection(vtkSelection *input, vtkDataObject *data)
Static methods for easily converting between selection types.
vtkConvertSelection::ToValueSelection
static vtkSelection * ToValueSelection(vtkSelection *input, vtkDataObject *data, const char *arrayName)
Static methods for easily converting between selection types.
vtkConvertSelection::MatchAnyValues
bool MatchAnyValues
Definition: vtkConvertSelection.h:206
vtkConvertSelection::SelectionExtractor
vtkExtractSelection * SelectionExtractor
Definition: vtkConvertSelection.h:208
vtkConvertSelection::FillInputPortInformation
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:34
vtkConvertSelection::ConvertFromQueryNodeCompositeDataSet
int ConvertFromQueryNodeCompositeDataSet(vtkSelectionNode *input, vtkCompositeDataSet *data, vtkSelection *output)
vtkConvertSelection::GetSelectedPoints
static void GetSelectedPoints(vtkSelection *input, vtkDataSet *data, vtkIdTypeArray *indices)
Static methods for easily obtaining selected items from a data object.
vtkConvertSelection::AllowMissingArray
bool AllowMissingArray
Definition: vtkConvertSelection.h:207
vtkConvertSelection::Convert
int Convert(vtkSelection *input, vtkDataObject *data, vtkSelection *output)
vtkConvertSelection::SetDataObjectConnection
void SetDataObjectConnection(vtkAlgorithmOutput *in)
A convenience method for setting the second input (i.e.
vtkDataSet
abstract class to specify dataset behavior
Definition: vtkDataSet.h:57
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:74
vtkX3D::info
@ info
Definition: vtkX3D.h:382
vtkIdTypeArray
dynamic, self-adjusting array of vtkIdType
Definition: vtkIdTypeArray.h:36
vtkAlgorithmOutput
Proxy object to connect input/output ports.
Definition: vtkAlgorithmOutput.h:37
vtkConvertSelection::SetArrayNames
virtual void SetArrayNames(vtkStringArray *)
The output array names for value selection.
vtkConvertSelection::ConvertToIndexSelection
int ConvertToIndexSelection(vtkSelectionNode *input, vtkDataSet *data, vtkSelectionNode *output)
vtkStringArray
a vtkAbstractArray subclass for strings
Definition: vtkStringArray.h:37
vtkSelectionAlgorithm
Superclass for algorithms that produce only Selection as output.
Definition: vtkSelectionAlgorithm.h:47
vtkConvertSelection::ToValueSelection
static vtkSelection * ToValueSelection(vtkSelection *input, vtkDataObject *data, vtkStringArray *arrayNames)
Static methods for easily converting between selection types.
vtkGraph
Base class for graph data types.
Definition: vtkGraph.h:290
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:60
vtkConvertSelection::GetArrayName
virtual const char * GetArrayName()
The output array name for value or threshold selections.
vtkConvertSelection
Convert a selection from one type to another.
Definition: vtkConvertSelection.h:55
vtkConvertSelection::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkConvertSelection::GetSelectedVertices
static void GetSelectedVertices(vtkSelection *input, vtkGraph *data, vtkIdTypeArray *indices)
Static methods for easily obtaining selected items from a data object.