VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkAnnotationLayers.h 00005 00006 ------------------------------------------------------------------------- 00007 Copyright 2008 Sandia Corporation. 00008 Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, 00009 the U.S. Government retains certain rights in this software. 00010 ------------------------------------------------------------------------- 00011 00012 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00013 All rights reserved. 00014 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00015 00016 This software is distributed WITHOUT ANY WARRANTY; without even 00017 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00018 PURPOSE. See the above copyright notice for more information. 00019 00020 =========================================================================*/ 00021 00032 #ifndef __vtkAnnotationLayers_h 00033 #define __vtkAnnotationLayers_h 00034 00035 #include "vtkDataObject.h" 00036 00037 class vtkAnnotation; 00038 class vtkSelection; 00039 00040 class VTK_FILTERING_EXPORT vtkAnnotationLayers : public vtkDataObject 00041 { 00042 public: 00043 vtkTypeMacro(vtkAnnotationLayers, vtkDataObject); 00044 void PrintSelf(ostream& os, vtkIndent indent); 00045 static vtkAnnotationLayers* New(); 00046 00048 00049 virtual void SetCurrentAnnotation(vtkAnnotation* ann); 00050 vtkGetObjectMacro(CurrentAnnotation, vtkAnnotation); 00052 00054 00056 virtual void SetCurrentSelection(vtkSelection* sel); 00057 virtual vtkSelection* GetCurrentSelection(); 00059 00061 unsigned int GetNumberOfAnnotations(); 00062 00064 vtkAnnotation* GetAnnotation(unsigned int idx); 00065 00067 void AddAnnotation(vtkAnnotation* ann); 00068 00070 void RemoveAnnotation(vtkAnnotation* ann); 00071 00073 virtual void Initialize(); 00074 00077 virtual void ShallowCopy(vtkDataObject* other); 00078 00081 virtual void DeepCopy(vtkDataObject* other); 00082 00084 00085 static vtkAnnotationLayers* GetData(vtkInformation* info); 00086 static vtkAnnotationLayers* GetData(vtkInformationVector* v, int i=0); 00088 00090 virtual unsigned long GetMTime(); 00091 00092 //BTX 00093 protected: 00094 vtkAnnotationLayers(); 00095 ~vtkAnnotationLayers(); 00096 00097 class Internals; 00098 Internals* Implementation; 00099 vtkAnnotation* CurrentAnnotation; 00100 00101 private: 00102 vtkAnnotationLayers(const vtkAnnotationLayers&); // Not implemented. 00103 void operator=(const vtkAnnotationLayers&); // Not implemented. 00104 //ETX 00105 }; 00106 00107 #endif