VTK
vtkAnnotationLayers.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkAnnotationLayers.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 
33 #ifndef vtkAnnotationLayers_h
34 #define vtkAnnotationLayers_h
35 
36 #include "vtkCommonDataModelModule.h" // For export macro
37 #include "vtkDataObject.h"
38 
39 class vtkAnnotation;
40 class vtkSelection;
41 
42 class VTKCOMMONDATAMODEL_EXPORT vtkAnnotationLayers : public vtkDataObject
43 {
44 public:
46  void PrintSelf(ostream& os, vtkIndent indent) override;
47  static vtkAnnotationLayers* New();
48 
50 
53  virtual void SetCurrentAnnotation(vtkAnnotation* ann);
54  vtkGetObjectMacro(CurrentAnnotation, vtkAnnotation);
56 
58 
62  virtual void SetCurrentSelection(vtkSelection* sel);
63  virtual vtkSelection* GetCurrentSelection();
65 
69  unsigned int GetNumberOfAnnotations();
70 
74  vtkAnnotation* GetAnnotation(unsigned int idx);
75 
79  void AddAnnotation(vtkAnnotation* ann);
80 
84  void RemoveAnnotation(vtkAnnotation* ann);
85 
89  void Initialize() override;
90 
95  void ShallowCopy(vtkDataObject* other) override;
96 
101  void DeepCopy(vtkDataObject* other) override;
102 
104 
108  static vtkAnnotationLayers* GetData(vtkInformationVector* v, int i=0);
110 
114  vtkMTimeType GetMTime() override;
115 
116 protected:
118  ~vtkAnnotationLayers() override;
119 
120  class Internals;
121  Internals* Implementation;
123 
124 private:
125  vtkAnnotationLayers(const vtkAnnotationLayers&) = delete;
126  void operator=(const vtkAnnotationLayers&) = delete;
127 
128 };
129 
130 #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.
static vtkDataObject * New()
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:302
data object that represents a "selection" in VTK.
Definition: vtkSelection.h:63
virtual void Initialize()
Restore data object to initial state,.
vtkAnnotation * CurrentAnnotation
a simple class to control print indentation
Definition: vtkIndent.h:39
Stores a collection of annotation artifacts.
Definition: vtkAnnotation.h:48
Stores a ordered collection of annotation sets.
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:64
virtual void DeepCopy(vtkDataObject *src)
Shallow and Deep copy.
virtual void ShallowCopy(vtkDataObject *src)
Shallow and Deep copy.