VTK  9.7.1
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
214 #ifndef vtkSelectionNode_h
215 #define vtkSelectionNode_h
216 
217 #include "vtkCommonDataModelModule.h" // For export macro
218 #include "vtkObject.h"
219 
220 VTK_ABI_NAMESPACE_BEGIN
221 class vtkAbstractArray;
223 class vtkInformation;
229 class vtkProp;
230 class vtkTable;
231 
232 class VTKCOMMONDATAMODEL_EXPORT vtkSelectionNode : public vtkObject
233 {
234 public:
235  vtkTypeMacro(vtkSelectionNode, vtkObject);
236  void PrintSelf(ostream& os, vtkIndent indent) override;
237  static vtkSelectionNode* New();
238 
242  virtual void Initialize();
243 
245 
251  virtual void SetSelectionList(vtkAbstractArray*);
252  virtual vtkAbstractArray* GetSelectionList();
254 
256 
259  virtual void SetSelectionData(vtkDataSetAttributes* data);
260  vtkGetObjectMacro(SelectionData, vtkDataSetAttributes);
262 
264 
267  vtkGetObjectMacro(Properties, vtkInformation);
269 
273  virtual void DeepCopy(vtkSelectionNode* src);
274 
280  virtual void ShallowCopy(vtkSelectionNode* src);
281 
285  vtkMTimeType GetMTime() override;
286 
287  // vtkSelectionNode specific keys follow:
296  static vtkInformationIntegerKey* CONTENT_TYPE();
297 
303  {
315  NUM_CONTENT_TYPES
316  };
317 
319 
323  virtual void SetContentType(int type);
324  virtual int GetContentType();
326 
330  static const char* GetContentTypeAsString(int type);
331 
339  static vtkInformationIntegerKey* FIELD_TYPE();
340 
343  {
349  ROW,
350  NUM_FIELD_TYPES
351  };
352 
354 
358  virtual void SetFieldType(int type);
359  virtual int GetFieldType();
361 
365  static const char* GetFieldTypeAsString(int type);
366 
370  static int GetFieldTypeFromString(const char* type);
371 
373 
377  static int ConvertSelectionFieldToAttributeType(int val);
378  static int ConvertAttributeTypeToSelectionField(int val);
380 
382 
385  vtkSetStringMacro(QueryString);
386  vtkGetStringMacro(QueryString);
388 
393  static vtkInformationDoubleKey* EPSILON();
394 
399  static vtkInformationDoubleKey* ZBUFFER_VALUE();
400 
406  static vtkInformationIntegerKey* CONTAINING_CELLS();
407 
414  static vtkInformationIntegerKey* CONNECTED_LAYERS();
415 
421  static vtkInformationIntegerKey* CONNECTED_LAYERS_REMOVE_SEED();
422 
428  static vtkInformationIntegerKey* CONNECTED_LAYERS_REMOVE_INTERMEDIATE_LAYERS();
429 
438  static vtkInformationIntegerKey* COMPONENT_NUMBER();
439 
444  static vtkInformationIntegerKey* INVERSE();
445 
451  static vtkInformationIntegerKey* PIXEL_COUNT();
452 
457  static vtkInformationObjectBaseKey* SOURCE();
458 
464  static vtkInformationIntegerKey* SOURCE_ID();
465 
470  static vtkInformationObjectBaseKey* PROP();
471 
477  static vtkInformationIntegerKey* PROP_ID();
478 
483  static vtkInformationIntegerKey* PROCESS_ID();
484 
486 
496  static vtkInformationStringKey* ASSEMBLY_NAME();
497  static vtkInformationStringVectorKey* SELECTORS();
499 
504  static vtkInformationIntegerKey* COMPOSITE_INDEX();
505 
507 
511  static vtkInformationIntegerKey* HIERARCHICAL_LEVEL();
512  static vtkInformationIntegerKey* HIERARCHICAL_INDEX();
514 
516 
524  static vtkInformationIntegerKey* CELLGRID_CELL_TYPE_INDEX();
525  static vtkInformationIntegerKey* CELLGRID_SOURCE_SPECIFICATION_INDEX();
527 
532  void UnionSelectionList(vtkSelectionNode* other);
533 
539  void SubtractSelectionList(vtkSelectionNode* other);
540 
544  bool EqualProperties(vtkSelectionNode* other, bool fullcompare = true);
545 
546 protected:
548  ~vtkSelectionNode() override;
549 
552  char* QueryString;
553 
554  // Map from content type to content type name
555  static const char ContentTypeNames[SelectionContent::NUM_CONTENT_TYPES][16];
556 
557  // Map from integer field type to field type name
558  static const char FieldTypeNames[SelectionField::NUM_FIELD_TYPES][8];
559 
560 private:
561  vtkSelectionNode(const vtkSelectionNode&) = delete;
562  void operator=(const vtkSelectionNode&) = delete;
563 };
564 
565 VTK_ABI_NAMESPACE_END
566 #endif
a node in a vtkSelection the defines the selection criteria.
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:49
Select entities near the supplied world coordinates.
vtkInformation * Properties
abstract base class for most VTK objects
Definition: vtkObject.h:52
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:318
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:28
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:59
Select entities that take on specific array values.
The selection data provided is table row-data.
Key for double values in vtkInformation.
vtkDataSetAttributes * SelectionData
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.