VTK  9.5.2
vtkSelectionNode.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
322
323#ifndef vtkSelectionNode_h
324#define vtkSelectionNode_h
325
326#include "vtkCommonDataModelModule.h" // For export macro
327#include "vtkObject.h"
328
329VTK_ABI_NAMESPACE_BEGIN
330class vtkAbstractArray;
332class vtkInformation;
338class vtkProp;
339class vtkTable;
340
341class VTKCOMMONDATAMODEL_EXPORT vtkSelectionNode : public vtkObject
342{
343public:
344 vtkTypeMacro(vtkSelectionNode, vtkObject);
345 void PrintSelf(ostream& os, vtkIndent indent) override;
346 static vtkSelectionNode* New();
347
351 virtual void Initialize();
352
354
363
365
371
373
376 vtkGetObjectMacro(Properties, vtkInformation);
378
382 virtual void DeepCopy(vtkSelectionNode* src);
383
389 virtual void ShallowCopy(vtkSelectionNode* src);
390
395
396 // vtkSelectionNode specific keys follow:
406
426
428
432 virtual void SetContentType(int type);
433 virtual int GetContentType();
435
439 static const char* GetContentTypeAsString(int type);
440
449
461
463
467 virtual void SetFieldType(int type);
468 virtual int GetFieldType();
470
474 static const char* GetFieldTypeAsString(int type);
475
479 static int GetFieldTypeFromString(const char* type);
480
482
489
491
494 vtkSetStringMacro(QueryString);
495 vtkGetStringMacro(QueryString);
497
503
509
516
524
531
538
548
554
561
567
574
580
587
593
595
608
614
616
623
625
636
642
649
653 bool EqualProperties(vtkSelectionNode* other, bool fullcompare = true);
654
655protected:
658
662
663 // Map from content type to content type name
665
666 // Map from integer field type to field type name
668
669private:
670 vtkSelectionNode(const vtkSelectionNode&) = delete;
671 void operator=(const vtkSelectionNode&) = delete;
672};
673
674VTK_ABI_NAMESPACE_END
675#endif
Abstract superclass for all arrays.
represent and manipulate attribute data in a dataset
a simple class to control print indentation
Definition vtkIndent.h:108
Key for double values in vtkInformation.
Key for integer values in vtkInformation.
Key for vtkObjectBase values.
Key for string values in vtkInformation.
Store vtkAlgorithm input/output information.
abstract base class for most VTK objects
Definition vtkObject.h:159
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
virtual vtkMTimeType GetMTime()
Return this object's modified time.
abstract superclass for all actors, volumes and annotations
Definition vtkProp.h:63
a node in a vtkSelection the defines the selection criteria.
A table, which contains similar-typed columns of data.
Definition vtkTable.h:169
static vtkInformationIntegerKey * SOURCE_ID()
ID of the data or algorithm the selection belongs to.
static vtkInformationIntegerKey * COMPONENT_NUMBER()
When ContentType==THRESHOLDS or ContentType==VALUES i.e.
vtkSelectionSource FIELD_TYPE
Set/Get FieldTypeOption which is used to specify the selection field type for the selection.
static vtkInformationIntegerKey * PROP_ID()
ID of the prop the selection belongs to.
static vtkInformationIntegerKey * CONTENT_TYPE()
Get the (primary) property that describes the content of a selection node's data.
static vtkInformationIntegerKey * PIXEL_COUNT()
A helper for visible cell selector, this is the number of pixels covered by the actor whose cells are...
static vtkInformationIntegerKey * COMPOSITE_INDEX()
Used to identify a node in composite datasets.
static vtkInformationStringVectorKey * SELECTORS()
Keys for selector-based identification of blocks to choose from a composite dataset.
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 vtkInformationObjectBaseKey * SOURCE()
Pointer to the data or algorithm the selection belongs to.
static vtkInformationIntegerKey * HIERARCHICAL_LEVEL()
Used to identify a dataset in a hiererchical box dataset.
static vtkInformationDoubleKey * ZBUFFER_VALUE()
If present, closest zbuffer value of this selection.
static vtkInformationIntegerKey * PROCESS_ID()
Process id the selection is on.
static vtkInformationStringKey * ASSEMBLY_NAME()
Keys for selector-based identification of blocks to choose from a composite dataset.
static vtkInformationIntegerKey * INVERSE()
This flag tells the extraction filter to exclude the selection.
static vtkInformationIntegerKey * CONNECTED_LAYERS_REMOVE_INTERMEDIATE_LAYERS()
When specified and also using CONNECTED_LAYERS(), this indicates if the intermediate layers should be...
static vtkInformationObjectBaseKey * PROP()
Pointer to the prop the selection belongs to.
static vtkInformationIntegerKey * CONNECTED_LAYERS()
When specified, this indicates how many layers of connected elements in addition to those chosen expl...
static vtkInformationIntegerKey * CONNECTED_LAYERS_REMOVE_SEED()
When specified and also using CONNECTED_LAYERS(), this indicates if the initial selection should be k...
static vtkInformationIntegerKey * HIERARCHICAL_INDEX()
Used to identify a dataset in a hiererchical box dataset.
static const char FieldTypeNames[SelectionField::NUM_FIELD_TYPES][8]
char * QueryString
static int ConvertSelectionFieldToAttributeType(int val)
Methods to convert vtkSelectionNode::SelectionField to vtkDataSetAttribute::AttributeTypes and vice-v...
static const char * GetFieldTypeAsString(int type)
Get the field type as a string.
virtual void SetSelectionData(vtkDataSetAttributes *data)
Sets the selection table.
static vtkInformationIntegerKey * CELLGRID_SOURCE_SPECIFICATION_INDEX()
Used to identify a cell type and whether picked entity is a side in a vtkCellGrid.
static int ConvertAttributeTypeToSelectionField(int val)
Methods to convert vtkSelectionNode::SelectionField to vtkDataSetAttribute::AttributeTypes and vice-v...
vtkInformation * Properties
static const char * GetContentTypeAsString(int type)
Get the content type as a string.
virtual void SetFieldType(int type)
Get or set the field type of the selection.
virtual void ShallowCopy(vtkSelectionNode *src)
Copy properties, selection list and children of the input.
virtual vtkAbstractArray * GetSelectionList()
Get/Set the selection list.
static int GetFieldTypeFromString(const char *type)
Get field type from string.
virtual int GetContentType()
Get or set the content type of the selection.
virtual void SetContentType(int type)
Get or set the content type of the selection.
virtual void SetSelectionList(vtkAbstractArray *)
Get/Set the selection list.
virtual int GetFieldType()
Get or set the field type of the selection.
static const char ContentTypeNames[SelectionContent::NUM_CONTENT_TYPES][16]
SelectionField
Indicate the types of entities to which the selection-data applies.
@ CELL
The selection data provided is cell-data.
@ POINT
The selection data provided is point-data.
@ VERTEX
The selection data provided is graph vertex-data.
@ NUM_FIELD_TYPES
@ EDGE
The selection data provided is graph edge-data.
@ ROW
The selection data provided is table row-data.
virtual void Initialize()
SelectionContent
Indicate the means by which data is selected.
@ LOCATIONS
Select entities near the supplied world coordinates.
@ PEDIGREEIDS
Select entities that have some identifiable pedigree.
@ QUERY
Select entities with a text query.
@ INDICES
Select entities by their offsets into the dataset.
@ BLOCKS
Select blocks within a composite dataset by their flat index.
@ GLOBALIDS
Select entities called out by their globally-unique IDs.
@ THRESHOLDS
Select entities whose array values fall within a given threshold.
@ FRUSTUM
Select entities contained within a viewing frustum.
@ VALUES
Select entities that take on specific array values.
@ USER
Select entities with user-supplied, application-specific logic.
@ BLOCK_SELECTORS
Select datasets within a composite dataset using selector expressions.
@ NUM_CONTENT_TYPES
vtkSelectionNode()
static vtkInformationIntegerKey * CELLGRID_CELL_TYPE_INDEX()
Used to identify a cell type and whether picked entity is a side in a vtkCellGrid.
void SubtractSelectionList(vtkSelectionNode *other)
Subtracts the items in the selection list, other, from this selection list.
void UnionSelectionList(vtkSelectionNode *other)
Merges the selection list between self and the other.
vtkDataSetAttributes * SelectionData
bool EqualProperties(vtkSelectionNode *other, bool fullcompare=true)
Compares Properties of self and other to ensure that they are exactly same.
~vtkSelectionNode() override
virtual void DeepCopy(vtkSelectionNode *src)
Copy properties, selection list and children of the input.
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:287
#define FIELD