VTK: Common/DataModel/vtkAnnotation.h Source File

| 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
26 class vtkInformationStringKey;
27 class vtkInformationDoubleVectorKey;
28 class vtkInformationIntegerVectorKey;
29 class vtkInformationDataObjectKey;
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
56 static vtkAnnotation* GetData(vtkInformation* info);
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
124 vtkSelection* Selection;
125
126 private:
127 vtkAnnotation(const vtkAnnotation&) = delete;
128 void operator=(const vtkAnnotation&) = delete;
129 };
130
131 VTK_ABI_NAMESPACE_END
132 #endif
vtkAnnotation
Stores a collection of annotation artifacts.
Definition: vtkAnnotation.h:33
vtkAnnotation::GetData
static vtkAnnotation * GetData(vtkInformationVector *v, int i=0)
Retrieve a vtkAnnotation stored inside an information object.
vtkAnnotation::New
static vtkAnnotation * New()
vtkAnnotation::ShallowCopy
void ShallowCopy(vtkDataObject *other) override
Make this annotation have the same properties and have the same selection of another annotation.
vtkAnnotation::DATA
static vtkInformationDataObjectKey * DATA()
Associate a vtkDataObject with this annotation.
vtkAnnotation::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkAnnotation::GetData
static vtkAnnotation * GetData(vtkInformation *info)
Retrieve a vtkAnnotation stored inside an information object.
vtkAnnotation::DeepCopy
void DeepCopy(vtkDataObject *other) override
Make this annotation have the same properties and have a copy of the selection of another annotation.
vtkAnnotation::~vtkAnnotation
~vtkAnnotation() override
vtkAnnotation::ICON_INDEX
static vtkInformationIntegerKey * ICON_INDEX()
An icon index for this annotation.
vtkAnnotation::vtkAnnotation
vtkAnnotation()
vtkAnnotation::COLOR
static vtkInformationDoubleVectorKey * COLOR()
The color for this annotation.
vtkAnnotation::GetMTime
vtkMTimeType GetMTime() override
Get the modified time of this object.
vtkAnnotation::ENABLE
static vtkInformationIntegerKey * ENABLE()
Whether or not this annotation is enabled.
vtkAnnotation::OPACITY
static vtkInformationDoubleKey * OPACITY()
The color for this annotation.
vtkAnnotation::HIDE
static vtkInformationIntegerKey * HIDE()
Whether or not this annotation is visible.
vtkAnnotation::Initialize
void Initialize() override
Initialize the annotation to an empty state.
vtkAnnotation::GetDataObjectType
int GetDataObjectType() override
Returns VTK_ANNOTATION.
Definition: vtkAnnotation.h:42
vtkAnnotation::SetSelection
virtual void SetSelection(vtkSelection *selection)
The selection to which this set of annotations will apply.
vtkAnnotation::Selection
vtkSelection * Selection
Definition: vtkAnnotation.h:124
vtkAnnotation::LABEL
static vtkInformationStringKey * LABEL()
The label for this annotation.
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:64
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkInformationDataObjectKey
Key for vtkDataObject values.
Definition: vtkInformationDataObjectKey.h:23
vtkInformationDoubleKey
Key for double values in vtkInformation.
Definition: vtkInformationDoubleKey.h:24
vtkInformationDoubleVectorKey
Key for double vector values.
Definition: vtkInformationDoubleVectorKey.h:33
vtkInformationIntegerKey
Key for integer values in vtkInformation.
Definition: vtkInformationIntegerKey.h:24
vtkInformationIntegerVectorKey
Key for integer vector values.
Definition: vtkInformationIntegerVectorKey.h:24
vtkInformationStringKey
Key for string values in vtkInformation.
Definition: vtkInformationStringKey.h:26
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:40
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:72
vtkSelection
data object that represents a "selection" in VTK.
Definition: vtkSelection.h:59
vtkX3D::info
@ info
Definition: vtkX3D.h:376
vtkDataObject.h
VTK_ANNOTATION
#define VTK_ANNOTATION
Definition: vtkType.h:109
vtkMTimeType
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270