VTK  9.3.0
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
223 #ifndef vtkSelectionNode_h
224 #define vtkSelectionNode_h
225 
226 #include "vtkCommonDataModelModule.h" // For export macro
227 #include "vtkObject.h"
228 
229 VTK_ABI_NAMESPACE_BEGIN
230 class vtkAbstractArray;
232 class vtkInformation;
238 class vtkProp;
239 class vtkTable;
240 
241 class VTKCOMMONDATAMODEL_EXPORT vtkSelectionNode : public vtkObject
242 {
243 public:
244  vtkTypeMacro(vtkSelectionNode, vtkObject);
245  void PrintSelf(ostream& os, vtkIndent indent) override;
247 
251  virtual void Initialize();
252 
254 
263 
265 
269  vtkGetObjectMacro(SelectionData, vtkDataSetAttributes);
271 
273 
276  vtkGetObjectMacro(Properties, vtkInformation);
278 
282  virtual void DeepCopy(vtkSelectionNode* src);
283 
289  virtual void ShallowCopy(vtkSelectionNode* src);
290 
294  vtkMTimeType GetMTime() override;
295 
296  // vtkSelectionNode specific keys follow:
305 
311  {
323  NUM_CONTENT_TYPES
324  };
325 
327 
331  virtual void SetContentType(int type);
332  virtual int GetContentType();
334 
338  static const char* GetContentTypeAsString(int type);
339 
347 
350  {
356  ROW,
357  NUM_FIELD_TYPES
358  };
359 
361 
365  virtual void SetFieldType(int type);
366  virtual int GetFieldType();
368 
372  static const char* GetFieldTypeAsString(int type);
373 
377  static int GetFieldTypeFromString(const char* type);
378 
380 
387 
389 
392  vtkSetStringMacro(QueryString);
393  vtkGetStringMacro(QueryString);
395 
400 
405 
411 
418 
424 
430 
439 
444 
450 
455 
461 
466 
472 
477 
479 
491 
496 
498 
504 
510 
517 
521  bool EqualProperties(vtkSelectionNode* other, bool fullcompare = true);
522 
523 protected:
525  ~vtkSelectionNode() override;
526 
529  char* QueryString;
530 
531  // Map from content type to content type name
532  static const char ContentTypeNames[SelectionContent::NUM_CONTENT_TYPES][16];
533 
534  // Map from integer field type to field type name
535  static const char FieldTypeNames[SelectionField::NUM_FIELD_TYPES][8];
536 
537 private:
538  vtkSelectionNode(const vtkSelectionNode&) = delete;
539  void operator=(const vtkSelectionNode&) = delete;
540 };
541 
542 VTK_ABI_NAMESPACE_END
543 #endif
Abstract superclass for all arrays.
represent and manipulate attribute data in a dataset
a simple class to control print indentation
Definition: vtkIndent.h:38
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:61
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:55
a node in a vtkSelection the defines the selection criteria.
static int GetFieldTypeFromString(const char *type)
Get field type from string.
void SubtractSelectionList(vtkSelectionNode *other)
Subtracts the items in the selection list, other, from this selection list.
static vtkInformationIntegerKey * CONNECTED_LAYERS_REMOVE_INTERMEDIATE_LAYERS()
When specified and also using CONNECTED_LAYERS(), this indicates if the intermediate layers should be...
static vtkInformationObjectBaseKey * SOURCE()
Pointer to the data or algorithm the selection belongs to.
static vtkInformationIntegerKey * CONNECTED_LAYERS_REMOVE_SEED()
When specified and also using CONNECTED_LAYERS(), this indicates if the initial selection should be k...
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 *)
Get/Set 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()
Used to identify a dataset in a hiererchical box dataset.
virtual vtkAbstractArray * GetSelectionList()
Get/Set the selection list.
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()
Get or set the content type of the selection.
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.
static vtkInformationStringKey * ASSEMBLY_NAME()
Keys for selector-based identification of blocks to choose from a composite dataset.
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)
Methods to convert vtkSelectionNode::SelectionField to vtkDataSetAttribute::AttributeTypes and vice-v...
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.
@ LOCATIONS
Select entities near the supplied world coordinates.
@ BLOCK_SELECTORS
Select datasets within a composite dataset using selector expressions.
@ 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()
Get or set the field type of the selection.
static vtkSelectionNode * New()
static vtkInformationStringVectorKey * SELECTORS()
Keys for selector-based identification of blocks to choose from a composite dataset.
vtkDataSetAttributes * SelectionData
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:68
@ type
Definition: vtkX3D.h:516
@ data
Definition: vtkX3D.h:315
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270