VTK  9.3.1
vtkAnnotation.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-FileCopyrightText: Copyright 2008 Sandia Corporation
3 // SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Sandia-USGov
4 
19 #ifndef vtkAnnotation_h
20 #define vtkAnnotation_h
21 
22 #include "vtkCommonDataModelModule.h" // For export macro
23 #include "vtkDataObject.h"
24 
25 VTK_ABI_NAMESPACE_BEGIN
30 class vtkSelection;
31 
32 class VTKCOMMONDATAMODEL_EXPORT vtkAnnotation : public vtkDataObject
33 {
34 public:
35  vtkTypeMacro(vtkAnnotation, vtkDataObject);
36  void PrintSelf(ostream& os, vtkIndent indent) override;
37  static vtkAnnotation* New();
38 
42  int GetDataObjectType() override { return VTK_ANNOTATION; }
43 
45 
48  vtkGetObjectMacro(Selection, vtkSelection);
49  virtual void SetSelection(vtkSelection* selection);
51 
53 
57  static vtkAnnotation* GetData(vtkInformationVector* v, int i = 0);
59 
63  static vtkInformationStringKey* LABEL();
64 
69  static vtkInformationDoubleVectorKey* COLOR();
70 
75  static vtkInformationDoubleKey* OPACITY();
76 
80  static vtkInformationIntegerKey* ICON_INDEX();
81 
86  static vtkInformationIntegerKey* ENABLE();
87 
91  static vtkInformationIntegerKey* HIDE();
92 
96  static vtkInformationDataObjectKey* DATA();
97 
101  void Initialize() override;
102 
107  void ShallowCopy(vtkDataObject* other) override;
108 
113  void DeepCopy(vtkDataObject* other) override;
114 
118  vtkMTimeType GetMTime() override;
119 
120 protected:
121  vtkAnnotation();
122  ~vtkAnnotation() override;
123 
125 
126 private:
127  vtkAnnotation(const vtkAnnotation&) = delete;
128  void operator=(const vtkAnnotation&) = delete;
129 };
130 
131 VTK_ABI_NAMESPACE_END
132 #endif
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkDataObject * GetData(vtkInformation *info)
Retrieve an instance of this class from an information object.
#define VTK_ANNOTATION
Definition: vtkType.h:109
static vtkDataObject * New()
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270
Key for vtkDataObject values.
data object that represents a "selection" in VTK.
Definition: vtkSelection.h:49
virtual void Initialize()
Restore data object to initial state,.
Key for string values in vtkInformation.
Key for double vector values.
a simple class to control print indentation
Definition: vtkIndent.h:28
Key for integer values in vtkInformation.
vtkSelection * Selection
Stores a collection of annotation artifacts.
Definition: vtkAnnotation.h:32
Key for double values in vtkInformation.
Store zero or more vtkInformation instances.
vtkMTimeType GetMTime() override
Data objects are composite objects and need to check each part for MTime.
general representation of visualization data
Definition: vtkDataObject.h:54
virtual void DeepCopy(vtkDataObject *src)
The goal of the method is to copy the complete data from src into this object.
virtual void ShallowCopy(vtkDataObject *src)
The goal of the method is to copy the data up to the array pointers only.
int GetDataObjectType() override
Returns VTK_ANNOTATION.
Definition: vtkAnnotation.h:42