VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkAnnotationLink.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00052 #ifndef __vtkAnnotationLink_h 00053 #define __vtkAnnotationLink_h 00054 00055 #include "vtkAnnotationLayersAlgorithm.h" 00056 00057 class vtkCommand; 00058 class vtkDataObjectCollection; 00059 class vtkInformation; 00060 class vtkInformationVector; 00061 class vtkSelection; 00062 class vtkTable; 00063 00064 class VTK_GRAPHICS_EXPORT vtkAnnotationLink : public vtkAnnotationLayersAlgorithm 00065 { 00066 public: 00067 static vtkAnnotationLink *New(); 00068 vtkTypeMacro(vtkAnnotationLink, vtkAnnotationLayersAlgorithm); 00069 void PrintSelf(ostream& os, vtkIndent indent); 00070 00072 00073 vtkGetObjectMacro(AnnotationLayers, vtkAnnotationLayers); 00074 virtual void SetAnnotationLayers(vtkAnnotationLayers* layers); 00076 00078 00079 virtual void SetCurrentSelection(vtkSelection* sel); 00080 virtual vtkSelection* GetCurrentSelection(); 00082 00084 00085 void AddDomainMap(vtkTable* map); 00086 void RemoveDomainMap(vtkTable* map); 00087 void RemoveAllDomainMaps(); 00088 int GetNumberOfDomainMaps(); 00089 vtkTable* GetDomainMap(int i); 00091 00093 virtual unsigned long GetMTime(); 00094 00095 protected: 00096 vtkAnnotationLink(); 00097 ~vtkAnnotationLink(); 00098 00100 00101 virtual void ProcessEvents(vtkObject* caller, unsigned long eventId, 00102 void* callData); 00104 00106 virtual int FillInputPortInformation(int, vtkInformation*); 00107 00109 virtual int FillOutputPortInformation(int, vtkInformation*); 00110 00112 00113 void ShallowCopyToOutput( 00114 vtkAnnotationLayers* input, 00115 vtkAnnotationLayers* output, 00116 vtkSelection* sel); 00118 00120 00121 virtual int RequestData( 00122 vtkInformation *info, 00123 vtkInformationVector **inVector, 00124 vtkInformationVector *outVector); 00126 00128 vtkAnnotationLayers* AnnotationLayers; 00129 00131 vtkDataObjectCollection* DomainMaps; 00132 00133 00134 private: 00135 vtkAnnotationLink(const vtkAnnotationLink&); // Not implemented. 00136 void operator=(const vtkAnnotationLink&); // Not implemented. 00137 00138 //BTX 00139 class Command; 00140 friend class Command; 00141 Command* Observer; 00142 //ETX 00143 }; 00144 00145 #endif