VTK  9.0.2
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 
80 
82 
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:
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 
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 
199 
201 
204  vtkSetStringMacro(QueryString);
205  vtkGetStringMacro(QueryString);
207 
212 
217 
223 
230 
239 
244 
250 
255 
261 
266 
272 
277 
282 
284 
290 
297 
303 
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
Abstract superclass for all arrays.
represent and manipulate attribute data in a dataset
a simple class to control print indentation
Definition: vtkIndent.h:34
Key for double values in vtkInformation.
Key for integer values in vtkInformation.
Key for vtkObjectBase values.
Store vtkAlgorithm input/output information.
abstract base class for most VTK objects
Definition: vtkObject.h:63
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:54
A node in a selection tree.
void SubtractSelectionList(vtkSelectionNode *other)
Subtracts the items in the selection list, other, from this selection list.
static vtkInformationObjectBaseKey * SOURCE()
Pointer to the data or algorithm the selection belongs to.
static vtkInformationIntegerKey * PIXEL_COUNT()
A helper for visible cell selector, this is the number of pixels covered by the actor whose cells are...
static vtkInformationObjectBaseKey * PROP()
Pointer to the prop the selection belongs to.
virtual void SetFieldType(int type)
Get or set the field type of the selection.
static const char * GetFieldTypeAsString(int type)
Get the field type as a string.
static vtkInformationIntegerKey * PROP_ID()
ID of the prop the selection belongs to.
virtual void SetSelectionList(vtkAbstractArray *)
Sets the selection list.
static vtkInformationIntegerKey * FIELD_TYPE()
Controls whether cell, point, or field data determine what is inside and out.
static vtkInformationIntegerKey * COMPOSITE_INDEX()
Used to identify a node in composite datasets.
virtual void Initialize()
Restore data object to initial state,.
~vtkSelectionNode() override
static vtkInformationDoubleKey * ZBUFFER_VALUE()
If present, closest zbuffer value of this selection.
static vtkInformationIntegerKey * HIERARCHICAL_INDEX()
virtual vtkAbstractArray * GetSelectionList()
void UnionSelectionList(vtkSelectionNode *other)
Merges the selection list between self and the other.
static const char * GetContentTypeAsString(int type)
Get the content type as a string.
SelectionField
Indicate the types of entities to which the selection-data applies.
@ POINT
The selection data provided is point-data.
@ EDGE
The selection data provided is graph edge-data.
@ CELL
The selection data provided is cell-data.
@ FIELD
The selection data provided is field-data.
@ ROW
The selection data provided is table row-data.
@ VERTEX
The selection data provided is graph vertex-data.
static vtkInformationIntegerKey * COMPONENT_NUMBER()
When ContentType==THRESHOLDS or ContentType==VALUES i.e.
static vtkInformationIntegerKey * CONTAINING_CELLS()
This flag tells the extraction filter, when FIELD_TYPE==POINT, that it should also extract the cells ...
static vtkInformationDoubleKey * EPSILON()
For location selection of points, if distance is greater than this reject.
static vtkInformationIntegerKey * SOURCE_ID()
ID of the data or algorithm the selection belongs to.
static vtkInformationIntegerKey * INVERSE()
This flag tells the extraction filter to exclude the selection.
virtual int GetContentType()
static vtkInformationIntegerKey * CONTENT_TYPE()
Get the (primary) property that describes the content of a selection node's data.
static vtkInformationIntegerKey * CONNECTED_LAYERS()
When specified, this indicates how many layers of connected elements in addition to those chosen expl...
virtual void SetContentType(int type)
Get or set the content type of the selection.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void SetSelectionData(vtkDataSetAttributes *data)
Sets the selection table.
static int ConvertAttributeTypeToSelectionField(int val)
SelectionContent
Indicate the means by which data is selected.
@ VALUES
Select entities that take on specific array values.
@ PEDIGREEIDS
Select entities that have some identifiable pedigree.
@ GLOBALIDS
Select entities called out by their globally-unique IDs.
@ SELECTIONS
Deprecated.
@ LOCATIONS
Select entities near the supplied world coordinates.
@ INDICES
Select entities by their offsets into the dataset.
@ THRESHOLDS
Select entities whose array values fall within a given threshold.
@ QUERY
Select entities with a text query.
@ BLOCKS
Select blocks within a composite dataset by their flat index.
@ USER
Select entities with user-supplied, application-specific logic.
@ FRUSTUM
Select entities contained within a viewing frustum.
bool EqualProperties(vtkSelectionNode *other, bool fullcompare=true)
Compares Properties of self and other to ensure that they are exactly same.
virtual void DeepCopy(vtkSelectionNode *src)
Copy properties, selection list and children of the input.
static vtkInformationIntegerKey * HIERARCHICAL_LEVEL()
Used to identify a dataset in a hiererchical box dataset.
vtkMTimeType GetMTime() override
Return the MTime taking into account changes to the properties.
virtual int GetFieldType()
static vtkSelectionNode * New()
vtkDataSetAttributes * SelectionData
static vtkInformationIntegerKey * INDEXED_VERTICES()
This key is used when making visible vertex selection.
vtkInformation * Properties
static vtkInformationIntegerKey * PROCESS_ID()
Process id the selection is on.
virtual void ShallowCopy(vtkSelectionNode *src)
Copy properties, selection list and children of the input.
static int ConvertSelectionFieldToAttributeType(int val)
Methods to convert vtkSelectionNode::SelectionField to vtkDataSetAttribute::AttributeTypes and vice-v...
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:63
@ type
Definition: vtkX3D.h:522
@ data
Definition: vtkX3D.h:321
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:293