VTK  9.0.1
vtkSelectionNode.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkSelectionNode.h
5 
6  Copyright (c) Kitware, Inc.
7  All rights reserved.
8  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html 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 =========================================================================*/
46 #ifndef vtkSelectionNode_h
47 #define vtkSelectionNode_h
48 
49 #include "vtkCommonDataModelModule.h" // For export macro
50 #include "vtkObject.h"
51 
52 class vtkAbstractArray;
54 class vtkInformation;
58 class vtkProp;
59 class vtkTable;
60 
61 class VTKCOMMONDATAMODEL_EXPORT vtkSelectionNode : public vtkObject
62 {
63 public:
64  vtkTypeMacro(vtkSelectionNode, vtkObject);
65  void PrintSelf(ostream& os, vtkIndent indent) override;
66  static vtkSelectionNode* New();
67 
71  virtual void Initialize();
72 
74 
77  virtual void SetSelectionList(vtkAbstractArray*);
78  virtual vtkAbstractArray* GetSelectionList();
80 
82 
85  virtual void SetSelectionData(vtkDataSetAttributes* data);
86  vtkGetObjectMacro(SelectionData, vtkDataSetAttributes);
88 
90 
93  vtkGetObjectMacro(Properties, vtkInformation);
95 
99  virtual void DeepCopy(vtkSelectionNode* src);
100 
106  virtual void ShallowCopy(vtkSelectionNode* src);
107 
111  vtkMTimeType GetMTime() override;
112 
113  // vtkSelectionNode specific keys follow:
121  static vtkInformationIntegerKey* CONTENT_TYPE();
122 
128  {
140  NUM_CONTENT_TYPES
141  };
142 
144 
148  virtual void SetContentType(int type);
149  virtual int GetContentType();
151 
155  static const char* GetContentTypeAsString(int type);
156 
163  static vtkInformationIntegerKey* FIELD_TYPE();
164 
167  {
173  ROW,
174  NUM_FIELD_TYPES
175  };
176 
178 
182  virtual void SetFieldType(int type);
183  virtual int GetFieldType();
185 
189  static const char* GetFieldTypeAsString(int type);
190 
192 
196  static int ConvertSelectionFieldToAttributeType(int val);
197  static int ConvertAttributeTypeToSelectionField(int val);
199 
201 
204  vtkSetStringMacro(QueryString);
205  vtkGetStringMacro(QueryString);
207 
211  static vtkInformationDoubleKey* EPSILON();
212 
216  static vtkInformationDoubleKey* ZBUFFER_VALUE();
217 
222  static vtkInformationIntegerKey* CONTAINING_CELLS();
223 
229  static vtkInformationIntegerKey* CONNECTED_LAYERS();
230 
238  static vtkInformationIntegerKey* COMPONENT_NUMBER();
239 
243  static vtkInformationIntegerKey* INVERSE();
244 
249  static vtkInformationIntegerKey* PIXEL_COUNT();
250 
254  static vtkInformationObjectBaseKey* SOURCE();
255 
260  static vtkInformationIntegerKey* SOURCE_ID();
261 
265  static vtkInformationObjectBaseKey* PROP();
266 
271  static vtkInformationIntegerKey* PROP_ID();
272 
276  static vtkInformationIntegerKey* PROCESS_ID();
277 
281  static vtkInformationIntegerKey* COMPOSITE_INDEX();
282 
284 
287  static vtkInformationIntegerKey* HIERARCHICAL_LEVEL();
288  static vtkInformationIntegerKey* HIERARCHICAL_INDEX();
290 
296  static vtkInformationIntegerKey* INDEXED_VERTICES();
297 
302  void UnionSelectionList(vtkSelectionNode* other);
303 
309  void SubtractSelectionList(vtkSelectionNode* other);
310 
314  bool EqualProperties(vtkSelectionNode* other, bool fullcompare = true);
315 
316 protected:
318  ~vtkSelectionNode() override;
319 
322  char* QueryString;
323 
324  // Map from content type to content type name
325  static const char ContentTypeNames[SelectionContent::NUM_CONTENT_TYPES][14];
326 
327  // Map from integer field type to field type name
328  static const char FieldTypeNames[SelectionField::NUM_FIELD_TYPES][8];
329 
330 private:
331  vtkSelectionNode(const vtkSelectionNode&) = delete;
332  void operator=(const vtkSelectionNode&) = delete;
333 };
334 
335 #endif
A node in a selection tree.
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:53
Select entities near the supplied world coordinates.
vtkInformation * Properties
abstract base class for most VTK objects
Definition: vtkObject.h:62
The selection data provided is cell-data.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:293
The selection data provided is point-data.
Abstract superclass for all arrays.
The selection data provided is graph vertex-data.
SelectionContent
Indicate the means by which data is selected.
a simple class to control print indentation
Definition: vtkIndent.h:33
Key for integer values in vtkInformation.
virtual vtkMTimeType GetMTime()
Return this object's modified time.
The selection data provided is graph edge-data.
Key for vtkObjectBase values.
Select entities with a text query.
SelectionField
Indicate the types of entities to which the selection-data applies.
represent and manipulate attribute data in a dataset
Select blocks within a composite dataset by their flat index.
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:62
Select entities that take on specific array values.
The selection data provided is table row-data.
Key for double values in vtkInformation.
vtkDataSetAttributes * SelectionData
Select entities by their offsets into the dataset.
Select entities called out by their globally-unique IDs.
Select entities whose array values fall within a given threshold.
Select entities that have some identifiable pedigree.
Select entities contained within a viewing frustum.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
Select entities with user-supplied, application-specific logic.
The selection data provided is field-data.