VTK  9.0.3
vtkAnnotation.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkAnnotation.h
5 
6 -------------------------------------------------------------------------
7  Copyright 2008 Sandia Corporation.
8  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
9  the U.S. Government retains certain rights in this software.
10 -------------------------------------------------------------------------
11 
12  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
13  All rights reserved.
14  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
15 
16  This software is distributed WITHOUT ANY WARRANTY; without even
17  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
18  PURPOSE. See the above copyright notice for more information.
19 
20 =========================================================================*/
21 
36 #ifndef vtkAnnotation_h
37 #define vtkAnnotation_h
38 
39 #include "vtkCommonDataModelModule.h" // For export macro
40 #include "vtkDataObject.h"
41 
46 class vtkSelection;
47 
48 class VTKCOMMONDATAMODEL_EXPORT vtkAnnotation : public vtkDataObject
49 {
50 public:
51  vtkTypeMacro(vtkAnnotation, vtkDataObject);
52  void PrintSelf(ostream& os, vtkIndent indent) override;
53  static vtkAnnotation* New();
54 
56 
59  vtkGetObjectMacro(Selection, vtkSelection);
60  virtual void SetSelection(vtkSelection* selection);
62 
64 
68  static vtkAnnotation* GetData(vtkInformationVector* v, int i = 0);
70 
75 
81 
87 
92 
98 
103 
108 
112  void Initialize() override;
113 
118  void ShallowCopy(vtkDataObject* other) override;
119 
124  void DeepCopy(vtkDataObject* other) override;
125 
129  vtkMTimeType GetMTime() override;
130 
131 protected:
133  ~vtkAnnotation() override;
134 
136 
137 private:
138  vtkAnnotation(const vtkAnnotation&) = delete;
139  void operator=(const vtkAnnotation&) = delete;
140 };
141 
142 #endif
Stores a collection of annotation artifacts.
Definition: vtkAnnotation.h:49
static vtkAnnotation * GetData(vtkInformationVector *v, int i=0)
static vtkAnnotation * New()
void ShallowCopy(vtkDataObject *other) override
Make this annotation have the same properties and have the same selection of another annotation.
static vtkInformationDataObjectKey * DATA()
Associate a vtkDataObject with this annotation.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkAnnotation * GetData(vtkInformation *info)
Retrieve a vtkAnnotation stored inside an information object.
void DeepCopy(vtkDataObject *other) override
Make this annotation have the same properties and have a copy of the selection of another annotation.
~vtkAnnotation() override
static vtkInformationIntegerKey * ICON_INDEX()
An icon index for this annotation.
static vtkInformationDoubleVectorKey * COLOR()
The color for this annotation.
vtkMTimeType GetMTime() override
Get the modified time of this object.
static vtkInformationIntegerKey * ENABLE()
Whether or not this annotation is enabled.
static vtkInformationDoubleKey * OPACITY()
The color for this annotation.
static vtkInformationIntegerKey * HIDE()
Whether or not this annotation is visible.
void Initialize() override
Initialize the annotation to an empty state.
virtual void SetSelection(vtkSelection *selection)
vtkSelection * Selection
static vtkInformationStringKey * LABEL()
The label for this annotation.
general representation of visualization data
Definition: vtkDataObject.h:60
a simple class to control print indentation
Definition: vtkIndent.h:34
Key for vtkDataObject values.
Key for double values in vtkInformation.
Key for integer values in vtkInformation.
Key for string values in vtkInformation.
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
data object that represents a "selection" in VTK.
Definition: vtkSelection.h:58
@ info
Definition: vtkX3D.h:382
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:293