VTK  9.1.0
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 =========================================================================*/
322 #ifndef vtkSelectionNode_h
323 #define vtkSelectionNode_h
324 
325 #include "vtkCommonDataModelModule.h" // For export macro
326 #include "vtkDeprecation.h" // for deprecation
327 #include "vtkObject.h"
328 
329 class vtkAbstractArray;
331 class vtkInformation;
337 class vtkProp;
338 class vtkTable;
339 
340 class VTKCOMMONDATAMODEL_EXPORT vtkSelectionNode : public vtkObject
341 {
342 public:
343  vtkTypeMacro(vtkSelectionNode, vtkObject);
344  void PrintSelf(ostream& os, vtkIndent indent) override;
346 
350  virtual void Initialize();
351 
353 
362 
364 
368  vtkGetObjectMacro(SelectionData, vtkDataSetAttributes);
370 
372 
375  vtkGetObjectMacro(Properties, vtkInformation);
377 
381  virtual void DeepCopy(vtkSelectionNode* src);
382 
388  virtual void ShallowCopy(vtkSelectionNode* src);
389 
393  vtkMTimeType GetMTime() override;
394 
395  // vtkSelectionNode specific keys follow:
404 
410  {
423  NUM_CONTENT_TYPES
424  };
425 
427 
431  virtual void SetContentType(int type);
432  virtual int GetContentType();
434 
438  static const char* GetContentTypeAsString(int type);
439 
447 
450  {
456  ROW,
457  NUM_FIELD_TYPES
458  };
459 
461 
465  virtual void SetFieldType(int type);
466  virtual int GetFieldType();
468 
472  static const char* GetFieldTypeAsString(int type);
473 
477  static int GetFieldTypeFromString(const char* type);
478 
480 
487 
489 
492  vtkSetStringMacro(QueryString);
493  vtkGetStringMacro(QueryString);
495 
500 
505 
511 
518 
527 
532 
538 
543 
549 
554 
560 
565 
567 
579 
584 
586 
592 
596  VTK_DEPRECATED_IN_9_1_0("no longer relevant")
597  static vtkInformationIntegerKey* INDEXED_VERTICES();
598 
603  void UnionSelectionList(vtkSelectionNode* other);
604 
610  void SubtractSelectionList(vtkSelectionNode* other);
611 
615  bool EqualProperties(vtkSelectionNode* other, bool fullcompare = true);
616 
617 protected:
619  ~vtkSelectionNode() override;
620 
621  vtkInformation* Properties;
622  vtkDataSetAttributes* SelectionData;
623  char* QueryString;
624 
625  // Map from content type to content type name
626  static const char ContentTypeNames[SelectionContent::NUM_CONTENT_TYPES][16];
627 
628  // Map from integer field type to field type name
629  static const char FieldTypeNames[SelectionField::NUM_FIELD_TYPES][8];
630 
631 private:
632  vtkSelectionNode(const vtkSelectionNode&) = delete;
633  void operator=(const vtkSelectionNode&) = delete;
634 };
635 
636 #endif
vtkSelectionNode::SOURCE_ID
static vtkInformationIntegerKey * SOURCE_ID()
ID of the data or algorithm the selection belongs to.
vtkInformationStringKey
Key for string values in vtkInformation.
Definition: vtkInformationStringKey.h:34
vtkSelectionNode::ShallowCopy
virtual void ShallowCopy(vtkSelectionNode *src)
Copy properties, selection list and children of the input.
vtkSelectionNode::FIELD_TYPE
static vtkInformationIntegerKey * FIELD_TYPE()
Controls whether cell, point, or field data determine what is inside and out.
vtkSelectionNode::ConvertAttributeTypeToSelectionField
static int ConvertAttributeTypeToSelectionField(int val)
Methods to convert vtkSelectionNode::SelectionField to vtkDataSetAttribute::AttributeTypes and vice-v...
vtkSelectionNode
a node in a vtkSelection the defines the selection criteria.
Definition: vtkSelectionNode.h:341
vtkSelectionNode::LOCATIONS
@ LOCATIONS
Select entities near the supplied world coordinates.
Definition: vtkSelectionNode.h:417
vtkSelectionNode::PROCESS_ID
static vtkInformationIntegerKey * PROCESS_ID()
Process id the selection is on.
vtkSelectionNode::USER
@ USER
Select entities with user-supplied, application-specific logic.
Definition: vtkSelectionNode.h:422
vtkX3D::type
@ type
Definition: vtkX3D.h:522
vtkSelectionNode::CONTAINING_CELLS
static vtkInformationIntegerKey * CONTAINING_CELLS()
This flag tells the extraction filter, when FIELD_TYPE==POINT, that it should also extract the cells ...
vtkSelectionNode::PROP
static vtkInformationObjectBaseKey * PROP()
Pointer to the prop the selection belongs to.
vtkDataSetAttributes
represent and manipulate attribute data in a dataset
Definition: vtkDataSetAttributes.h:170
vtkSelectionNode::BLOCK_SELECTORS
@ BLOCK_SELECTORS
Select datasets within a composite dataset using selector expressions.
Definition: vtkSelectionNode.h:420
vtkX3D::data
@ data
Definition: vtkX3D.h:321
vtkTable
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:172
vtkSelectionNode::PEDIGREEIDS
@ PEDIGREEIDS
Select entities that have some identifiable pedigree.
Definition: vtkSelectionNode.h:413
vtkSelectionNode::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:82
vtkSelectionNode::EPSILON
static vtkInformationDoubleKey * EPSILON()
For location selection of points, if distance is greater than this reject.
vtkSelectionNode::QUERY
@ QUERY
Select entities with a text query.
Definition: vtkSelectionNode.h:421
VTK_DEPRECATED_IN_9_1_0
#define VTK_DEPRECATED_IN_9_1_0(reason)
Definition: vtkDeprecation.h:117
vtkSelectionNode::ROW
@ ROW
The selection data provided is table row-data.
Definition: vtkSelectionNode.h:456
vtkSelectionNode::FRUSTUM
@ FRUSTUM
Select entities contained within a viewing frustum.
Definition: vtkSelectionNode.h:416
vtkSelectionNode::SelectionContent
SelectionContent
Indicate the means by which data is selected.
Definition: vtkSelectionNode.h:410
vtkInformationDoubleKey
Key for double values in vtkInformation.
Definition: vtkInformationDoubleKey.h:32
vtkSelectionNode::ZBUFFER_VALUE
static vtkInformationDoubleKey * ZBUFFER_VALUE()
If present, closest zbuffer value of this selection.
vtkSelectionNode::VALUES
@ VALUES
Select entities that take on specific array values.
Definition: vtkSelectionNode.h:414
vtkSelectionNode::CONTENT_TYPE
static vtkInformationIntegerKey * CONTENT_TYPE()
Get the (primary) property that describes the content of a selection node's data.
vtkSelectionNode::ASSEMBLY_NAME
static vtkInformationStringKey * ASSEMBLY_NAME()
Keys for selector-based identification of blocks to choose from a composite dataset.
vtkSelectionNode::GetSelectionList
virtual vtkAbstractArray * GetSelectionList()
Get/Set the selection list.
vtkSelectionNode::POINT
@ POINT
The selection data provided is point-data.
Definition: vtkSelectionNode.h:452
vtkSelectionNode::VERTEX
@ VERTEX
The selection data provided is graph vertex-data.
Definition: vtkSelectionNode.h:454
vtkSelectionNode::GetFieldTypeAsString
static const char * GetFieldTypeAsString(int type)
Get the field type as a string.
vtkSelectionNode::SetSelectionData
virtual void SetSelectionData(vtkDataSetAttributes *data)
Sets the selection table.
vtkSelectionNode::COMPOSITE_INDEX
static vtkInformationIntegerKey * COMPOSITE_INDEX()
Used to identify a node in composite datasets.
vtkSelectionNode::SetContentType
virtual void SetContentType(int type)
Get or set the content type of the selection.
vtkSelectionNode::SOURCE
static vtkInformationObjectBaseKey * SOURCE()
Pointer to the data or algorithm the selection belongs to.
vtkSelectionNode::BLOCKS
@ BLOCKS
Select blocks within a composite dataset by their flat index.
Definition: vtkSelectionNode.h:419
vtkInformationObjectBaseKey
Key for vtkObjectBase values.
Definition: vtkInformationObjectBaseKey.h:34
vtkInformationIntegerKey
Key for integer values in vtkInformation.
Definition: vtkInformationIntegerKey.h:32
vtkSelectionNode::GLOBALIDS
@ GLOBALIDS
Select entities called out by their globally-unique IDs.
Definition: vtkSelectionNode.h:412
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:113
vtkSelectionNode::GetMTime
vtkMTimeType GetMTime() override
Return the MTime taking into account changes to the properties.
vtkSelectionNode::GetFieldType
virtual int GetFieldType()
Get or set the field type of the selection.
vtkSelectionNode::ConvertSelectionFieldToAttributeType
static int ConvertSelectionFieldToAttributeType(int val)
Methods to convert vtkSelectionNode::SelectionField to vtkDataSetAttribute::AttributeTypes and vice-v...
vtkSelectionNode::Initialize
virtual void Initialize()
Restore data object to initial state,.
vtkSelectionNode::DeepCopy
virtual void DeepCopy(vtkSelectionNode *src)
Copy properties, selection list and children of the input.
vtkSelectionNode::FIELD
@ FIELD
The selection data provided is field-data.
Definition: vtkSelectionNode.h:453
vtkSelectionNode::SetSelectionList
virtual void SetSelectionList(vtkAbstractArray *)
Get/Set the selection list.
vtkObject.h
vtkSelectionNode::GetContentType
virtual int GetContentType()
Get or set the content type of the selection.
vtkAbstractArray
Abstract superclass for all arrays.
Definition: vtkAbstractArray.h:76
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:183
vtkProp
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:76
vtkSelectionNode::INVERSE
static vtkInformationIntegerKey * INVERSE()
This flag tells the extraction filter to exclude the selection.
vtkSelectionNode::SelectionField
SelectionField
Indicate the types of entities to which the selection-data applies.
Definition: vtkSelectionNode.h:450
vtkSelectionNode::New
static vtkSelectionNode * New()
vtkSelectionNode::PROP_ID
static vtkInformationIntegerKey * PROP_ID()
ID of the prop the selection belongs to.
vtkDeprecation.h
vtkInformationStringVectorKey
Key for String vector values.
Definition: vtkInformationStringVectorKey.h:34
vtkSelectionNode::CONNECTED_LAYERS
static vtkInformationIntegerKey * CONNECTED_LAYERS()
When specified, this indicates how many layers of connected elements in addition to those chosen expl...
vtkSelectionNode::GetContentTypeAsString
static const char * GetContentTypeAsString(int type)
Get the content type as a string.
vtkSelectionNode::SELECTORS
static vtkInformationStringVectorKey * SELECTORS()
Keys for selector-based identification of blocks to choose from a composite dataset.
vtkSelectionNode::THRESHOLDS
@ THRESHOLDS
Select entities whose array values fall within a given threshold.
Definition: vtkSelectionNode.h:418
vtkSelectionNode::SELECTIONS
@ SELECTIONS
Deprecated.
Definition: vtkSelectionNode.h:411
vtkSelectionNode::EDGE
@ EDGE
The selection data provided is graph edge-data.
Definition: vtkSelectionNode.h:455
vtkSelectionNode::GetFieldTypeFromString
static int GetFieldTypeFromString(const char *type)
Get field type from string.
vtkSelectionNode::COMPONENT_NUMBER
static vtkInformationIntegerKey * COMPONENT_NUMBER()
When ContentType==THRESHOLDS or ContentType==VALUES i.e.
vtkSelectionNode::INDICES
@ INDICES
Select entities by their offsets into the dataset.
Definition: vtkSelectionNode.h:415
vtkSelectionNode::HIERARCHICAL_LEVEL
static vtkInformationIntegerKey * HIERARCHICAL_LEVEL()
Used to identify a dataset in a hiererchical box dataset.
vtkSelectionNode::SetFieldType
virtual void SetFieldType(int type)
Get or set the field type of the selection.
vtkSelectionNode::PIXEL_COUNT
static vtkInformationIntegerKey * PIXEL_COUNT()
A helper for visible cell selector, this is the number of pixels covered by the actor whose cells are...
vtkSelectionNode::CELL
@ CELL
The selection data provided is cell-data.
Definition: vtkSelectionNode.h:451
vtkSelectionNode::HIERARCHICAL_INDEX
static vtkInformationIntegerKey * HIERARCHICAL_INDEX()
Used to identify a dataset in a hiererchical box dataset.
vtkMTimeType
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:287