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 
55 #include "vtkFiltersGeneralModule.h" // For export macro
57 
58 class vtkCommand;
60 class vtkInformation;
62 class vtkSelection;
63 class vtkTable;
64 
66 {
67 public:
68  static vtkAnnotationLink *New();
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(
124  vtkInformationVector **inVector,
125  vtkInformationVector *outVector);
127 
130 
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
abstract base class for most VTK objects
Definition: vtkObject.h:61
Store vtkAlgorithm input/output information.
virtual int FillInputPortInformation(int port, vtkInformation *info)
maintain an unordered list of data objects
Superclass for algorithms that produce only vtkAnnotationLayers as output.
A node in a selection tree. Used to store selection results.
Definition: vtkSelection.h:44
superclass for callback/observer methods
Definition: vtkCommand.h:325
virtual unsigned long GetMTime()
a simple class to control print indentation
Definition: vtkIndent.h:38
#define VTKFILTERSGENERAL_EXPORT
static vtkAnnotationLayersAlgorithm * New()
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:67
Stores a ordered collection of annotation sets.
virtual int FillOutputPortInformation(int port, vtkInformation *info)
Store zero or more vtkInformation instances.
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
void PrintSelf(ostream &os, vtkIndent indent)