vtkPVSelectionSource.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
13 #ifndef vtkPVSelectionSource_h
14 #define vtkPVSelectionSource_h
15 
16 #include "vtkPVVTKExtensionsExtractionModule.h" // Needed for exports
17 #include "vtkSelectionAlgorithm.h"
18 #include "vtkSelectionNode.h" // Needed for initialization
19 
21 {
22 public:
23  static vtkPVSelectionSource* New();
25  void PrintSelf(ostream& os, vtkIndent indent) override;
26 
30  void AddFrustum(double vertices[32]);
31 
33 
36  void AddGlobalID(vtkIdType id);
37  void RemoveAllGlobalIDs();
39 
41 
44  void AddPedigreeID(const char* domain, vtkIdType id);
45  void RemoveAllPedigreeIDs();
47 
49 
52  void AddPedigreeStringID(const char* domain, const char* id);
53  void RemoveAllPedigreeStringIDs();
55 
57 
62  void AddID(vtkIdType piece, vtkIdType id);
63  void RemoveAllIDs();
65 
67 
72  void AddValue(vtkIdType piece, vtkIdType value);
73  void RemoveAllValues();
75 
77 
84  void AddCompositeID(unsigned int composite_index, vtkIdType piece, vtkIdType id);
85  void RemoveAllCompositeIDs();
87 
89 
93  void AddHierarhicalID(unsigned int level, unsigned int dataset, vtkIdType id);
94  void RemoveAllHierarchicalIDs();
96 
98 
101  void AddThreshold(double min, double max);
102  void RemoveAllThresholds();
104 
106 
109  void AddBlock(vtkIdType blockno);
110  void RemoveAllBlocks();
112 
117  vtkSetStringMacro(ArrayName);
118 
120 
123  void AddLocation(double x, double y, double z);
124  void RemoveAllLocations();
126 
128 
132  void AddBlockSelector(const char* selector);
133  void RemoveAllBlockSelectors();
135 
137 
141  vtkSetClampMacro(ProcessID, int, -1, VTK_INT_MAX);
142  vtkGetMacro(ProcessID, int);
144 
146 
151  vtkSetMacro(FieldType, int);
152  vtkGetMacro(FieldType, int);
154 
156 
160  vtkSetMacro(ContainingCells, int);
161  vtkGetMacro(ContainingCells, int);
163 
165  vtkSetMacro(Inverse, int);
166  vtkGetMacro(Inverse, int);
168 
170 
173  vtkSetStringMacro(QueryString);
174  vtkGetStringMacro(QueryString);
176 
178 
181  vtkSetClampMacro(NumberOfLayers, int, 0, VTK_INT_MAX);
182  vtkGetMacro(NumberOfLayers, int);
184 
186 
191  vtkSetMacro(RemoveSeed, bool);
192  vtkGetMacro(RemoveSeed, bool);
194 
196 
201  vtkSetMacro(RemoveIntermediateLayers, bool);
202  vtkGetMacro(RemoveIntermediateLayers, bool);
204 protected:
206  ~vtkPVSelectionSource() override;
207 
208  int RequestInformation(vtkInformation* request, vtkInformationVector** inputVector,
209  vtkInformationVector* outputVector) override;
210  int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
211  vtkInformationVector* outputVector) override;
212 
213  enum Modes
214  {
217  ID,
227  };
228 
229  Modes Mode = Modes::ID;
230  int ProcessID = -1;
231  int FieldType = vtkSelectionNode::CELL;
232  int ContainingCells = 0;
233  int Inverse = 0;
234  double Frustum[32];
235  char* ArrayName = nullptr;
236  char* QueryString = nullptr;
237  int NumberOfLayers = 0;
238  bool RemoveSeed = false;
239  bool RemoveIntermediateLayers = false;
240 
241 private:
243  void operator=(const vtkPVSelectionSource&) = delete;
244 
245  class vtkInternal;
246  vtkInternal* Internal;
247 };
248 
249 #endif
#define VTKPVVTKEXTENSIONSEXTRACTION_EXPORT
int vtkIdType
static vtkSelectionAlgorithm * New()
selection source used to produce different types of vtkSelections.
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
void operator=(const vtkObjectBase &)