VTK
vtkAnnotationLink.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkAnnotationLink.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
52 #ifndef __vtkAnnotationLink_h
53 #define __vtkAnnotationLink_h
54 
56 
57 class vtkCommand;
59 class vtkInformation;
61 class vtkSelection;
62 class vtkTable;
63 
65 {
66 public:
67  static vtkAnnotationLink *New();
69  void PrintSelf(ostream& os, vtkIndent indent);
70 
72 
73  vtkGetObjectMacro(AnnotationLayers, vtkAnnotationLayers);
74  virtual void SetAnnotationLayers(vtkAnnotationLayers* layers);
76 
78 
79  virtual void SetCurrentSelection(vtkSelection* sel);
80  virtual vtkSelection* GetCurrentSelection();
82 
84 
85  void AddDomainMap(vtkTable* map);
86  void RemoveDomainMap(vtkTable* map);
87  void RemoveAllDomainMaps();
88  int GetNumberOfDomainMaps();
89  vtkTable* GetDomainMap(int i);
91 
93  virtual unsigned long GetMTime();
94 
95 protected:
98 
100 
101  virtual void ProcessEvents(vtkObject* caller, unsigned long eventId,
102  void* callData);
104 
106  virtual int FillInputPortInformation(int, vtkInformation*);
107 
109  virtual int FillOutputPortInformation(int, vtkInformation*);
110 
112 
113  void ShallowCopyToOutput(
114  vtkAnnotationLayers* input,
115  vtkAnnotationLayers* output,
116  vtkSelection* sel);
118 
120 
121  virtual int RequestData(
123  vtkInformationVector **inVector,
124  vtkInformationVector *outVector);
126 
129 
132 
133 
134 private:
135  vtkAnnotationLink(const vtkAnnotationLink&); // Not implemented.
136  void operator=(const vtkAnnotationLink&); // Not implemented.
137 
138  //BTX
139  class Command;
140  friend class Command;
141  Command* Observer;
142  //ETX
143 };
144 
145 #endif