VTK  9.2.6
vtkSelectionNode.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkSelectionNode.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm 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 =========================================================================*/
219 #ifndef vtkSelectionNode_h
220 #define vtkSelectionNode_h
221 
222 #include "vtkCommonDataModelModule.h" // For export macro
223 #include "vtkDeprecation.h" // for deprecation
224 #include "vtkObject.h"
225 
226 class vtkAbstractArray;
228 class vtkInformation;
234 class vtkProp;
235 class vtkTable;
236 
237 class VTKCOMMONDATAMODEL_EXPORT vtkSelectionNode : public vtkObject
238 {
239 public:
240  vtkTypeMacro(vtkSelectionNode, vtkObject);
241  void PrintSelf(ostream& os, vtkIndent indent) override;
242  static vtkSelectionNode* New();
243 
247  virtual void Initialize();
248 
250 
256  virtual void SetSelectionList(vtkAbstractArray*);
257  virtual vtkAbstractArray* GetSelectionList();
259 
261 
264  virtual void SetSelectionData(vtkDataSetAttributes* data);
265  vtkGetObjectMacro(SelectionData, vtkDataSetAttributes);
267 
269 
272  vtkGetObjectMacro(Properties, vtkInformation);
274 
278  virtual void DeepCopy(vtkSelectionNode* src);
279 
285  virtual void ShallowCopy(vtkSelectionNode* src);
286 
290  vtkMTimeType GetMTime() override;
291 
292  // vtkSelectionNode specific keys follow:
300  static vtkInformationIntegerKey* CONTENT_TYPE();
301 
307  {
319  NUM_CONTENT_TYPES
320  };
321 
323 
327  virtual void SetContentType(int type);
328  virtual int GetContentType();
330 
334  static const char* GetContentTypeAsString(int type);
335 
342  static vtkInformationIntegerKey* FIELD_TYPE();
343 
346  {
352  ROW,
353  NUM_FIELD_TYPES
354  };
355 
357 
361  virtual void SetFieldType(int type);
362  virtual int GetFieldType();
364 
368  static const char* GetFieldTypeAsString(int type);
369 
373  static int GetFieldTypeFromString(const char* type);
374 
376 
380  static int ConvertSelectionFieldToAttributeType(int val);
381  static int ConvertAttributeTypeToSelectionField(int val);
383 
385 
388  vtkSetStringMacro(QueryString);
389  vtkGetStringMacro(QueryString);
391 
395  static vtkInformationDoubleKey* EPSILON();
396 
400  static vtkInformationDoubleKey* ZBUFFER_VALUE();
401 
406  static vtkInformationIntegerKey* CONTAINING_CELLS();
407 
413  static vtkInformationIntegerKey* CONNECTED_LAYERS();
414 
422  static vtkInformationIntegerKey* COMPONENT_NUMBER();
423 
427  static vtkInformationIntegerKey* INVERSE();
428 
433  static vtkInformationIntegerKey* PIXEL_COUNT();
434 
438  static vtkInformationObjectBaseKey* SOURCE();
439 
444  static vtkInformationIntegerKey* SOURCE_ID();
445 
449  static vtkInformationObjectBaseKey* PROP();
450 
455  static vtkInformationIntegerKey* PROP_ID();
456 
460  static vtkInformationIntegerKey* PROCESS_ID();
461 
463 
472  static vtkInformationStringKey* ASSEMBLY_NAME();
473  static vtkInformationStringVectorKey* SELECTORS();
475 
479  static vtkInformationIntegerKey* COMPOSITE_INDEX();
480 
482 
485  static vtkInformationIntegerKey* HIERARCHICAL_LEVEL();
486  static vtkInformationIntegerKey* HIERARCHICAL_INDEX();
488 
492  VTK_DEPRECATED_IN_9_1_0("no longer relevant")
493  static vtkInformationIntegerKey* INDEXED_VERTICES();
494 
499  void UnionSelectionList(vtkSelectionNode* other);
500 
506  void SubtractSelectionList(vtkSelectionNode* other);
507 
511  bool EqualProperties(vtkSelectionNode* other, bool fullcompare = true);
512 
513 protected:
515  ~vtkSelectionNode() override;
516 
517  vtkInformation* Properties;
518  vtkDataSetAttributes* SelectionData;
519  char* QueryString;
520 
521  // Map from content type to content type name
522  static const char ContentTypeNames[SelectionContent::NUM_CONTENT_TYPES][16];
523 
524  // Map from integer field type to field type name
525  static const char FieldTypeNames[SelectionField::NUM_FIELD_TYPES][8];
526 
527 private:
528  vtkSelectionNode(const vtkSelectionNode&) = delete;
529  void operator=(const vtkSelectionNode&) = delete;
530 };
531 
532 #endif
a node in a vtkSelection the defines the selection criteria.
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:56
#define VTK_DEPRECATED_IN_9_1_0(reason)
Select entities near the supplied world coordinates.
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:287
The selection data provided is point-data.
Abstract superclass for all arrays.
The selection data provided is graph vertex-data.
Key for string values in vtkInformation.
SelectionContent
Indicate the means by which data is selected.
a simple class to control print indentation
Definition: vtkIndent.h:39
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
Key for String vector values.
Select blocks within a composite dataset by their flat index.
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:73
Select entities that take on specific array values.
The selection data provided is table row-data.
Key for double values in vtkInformation.
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.
Select datasets within a composite dataset using selector expressions.
The selection data provided is field-data.