VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 
55 #include "vtkFiltersGeneralModule.h" // For export macro
56 #include "vtkAnnotationLayersAlgorithm.h"
57 
58 class vtkCommand;
59 class vtkDataObjectCollection;
60 class vtkInformation;
61 class vtkInformationVector;
62 class vtkSelection;
63 class vtkTable;
64 
65 class VTKFILTERSGENERAL_EXPORT vtkAnnotationLink : public vtkAnnotationLayersAlgorithm
66 {
67 public:
68  static vtkAnnotationLink *New();
69  vtkTypeMacro(vtkAnnotationLink, vtkAnnotationLayersAlgorithm);
70  void PrintSelf(ostream& os, vtkIndent indent);
71 
73 
74  vtkGetObjectMacro(AnnotationLayers, vtkAnnotationLayers);
75  virtual void SetAnnotationLayers(vtkAnnotationLayers* layers);
77 
79 
80  virtual void SetCurrentSelection(vtkSelection* sel);
81  virtual vtkSelection* GetCurrentSelection();
83 
85 
86  void AddDomainMap(vtkTable* map);
87  void RemoveDomainMap(vtkTable* map);
88  void RemoveAllDomainMaps();
89  int GetNumberOfDomainMaps();
90  vtkTable* GetDomainMap(int i);
92 
94  virtual unsigned long GetMTime();
95 
96 protected:
99 
101 
102  virtual void ProcessEvents(vtkObject* caller, unsigned long eventId,
103  void* callData);
105 
107  virtual int FillInputPortInformation(int, vtkInformation*);
108 
110  virtual int FillOutputPortInformation(int, vtkInformation*);
111 
113 
114  void ShallowCopyToOutput(
115  vtkAnnotationLayers* input,
116  vtkAnnotationLayers* output,
117  vtkSelection* sel);
119 
121 
122  virtual int RequestData(
123  vtkInformation *info,
124  vtkInformationVector **inVector,
125  vtkInformationVector *outVector);
127 
129  vtkAnnotationLayers* AnnotationLayers;
130 
132  vtkDataObjectCollection* DomainMaps;
133 
134 
135 private:
136  vtkAnnotationLink(const vtkAnnotationLink&); // Not implemented.
137  void operator=(const vtkAnnotationLink&); // Not implemented.
138 
139  //BTX
140  class Command;
141  friend class Command;
142  Command* Observer;
143  //ETX
144 };
145 
146 #endif