VTK  9.2.6
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 
58  int GetDataObjectType() override { return VTK_ANNOTATION; }
59 
61 
64  vtkGetObjectMacro(Selection, vtkSelection);
65  virtual void SetSelection(vtkSelection* selection);
67 
69 
73  static vtkAnnotation* GetData(vtkInformationVector* v, int i = 0);
75 
79  static vtkInformationStringKey* LABEL();
80 
85  static vtkInformationDoubleVectorKey* COLOR();
86 
91  static vtkInformationDoubleKey* OPACITY();
92 
96  static vtkInformationIntegerKey* ICON_INDEX();
97 
102  static vtkInformationIntegerKey* ENABLE();
103 
107  static vtkInformationIntegerKey* HIDE();
108 
112  static vtkInformationDataObjectKey* DATA();
113 
117  void Initialize() override;
118 
123  void ShallowCopy(vtkDataObject* other) override;
124 
129  void DeepCopy(vtkDataObject* other) override;
130 
134  vtkMTimeType GetMTime() override;
135 
136 protected:
137  vtkAnnotation();
138  ~vtkAnnotation() override;
139 
141 
142 private:
143  vtkAnnotation(const vtkAnnotation&) = delete;
144  void operator=(const vtkAnnotation&) = delete;
145 };
146 
147 #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:121
static vtkDataObject * New()
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:287
Key for vtkDataObject values.
data object that represents a "selection" in VTK.
Definition: vtkSelection.h:59
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:39
Key for integer values in vtkInformation.
vtkSelection * Selection
Stores a collection of annotation artifacts.
Definition: vtkAnnotation.h:48
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:65
virtual void DeepCopy(vtkDataObject *src)
Shallow and Deep copy.
virtual void ShallowCopy(vtkDataObject *src)
Shallow and Deep copy.
int GetDataObjectType() override
Returns VTK_ANNOTATION.
Definition: vtkAnnotation.h:58