VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/dox/Common/DataModel/vtkAnnotationLayers.h
Go to the documentation of this file.
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 "vtkCommonDataModelModule.h" // For export macro
00036 #include "vtkDataObject.h"
00037 
00038 class vtkAnnotation;
00039 class vtkSelection;
00040 
00041 class VTKCOMMONDATAMODEL_EXPORT vtkAnnotationLayers : public vtkDataObject
00042 {
00043 public:
00044   vtkTypeMacro(vtkAnnotationLayers, vtkDataObject);
00045   void PrintSelf(ostream& os, vtkIndent indent);
00046   static vtkAnnotationLayers* New();
00047 
00049 
00050   virtual void SetCurrentAnnotation(vtkAnnotation* ann);
00051   vtkGetObjectMacro(CurrentAnnotation, vtkAnnotation);
00053 
00055 
00057   virtual void SetCurrentSelection(vtkSelection* sel);
00058   virtual vtkSelection* GetCurrentSelection();
00060 
00062   unsigned int GetNumberOfAnnotations();
00063 
00065   vtkAnnotation* GetAnnotation(unsigned int idx);
00066 
00068   void AddAnnotation(vtkAnnotation* ann);
00069 
00071   void RemoveAnnotation(vtkAnnotation* ann);
00072 
00074   virtual void Initialize();
00075 
00078   virtual void ShallowCopy(vtkDataObject* other);
00079 
00082   virtual void DeepCopy(vtkDataObject* other);
00083 
00085 
00086   static vtkAnnotationLayers* GetData(vtkInformation* info);
00087   static vtkAnnotationLayers* GetData(vtkInformationVector* v, int i=0);
00089 
00091   virtual unsigned long GetMTime();
00092 
00093 //BTX
00094 protected:
00095   vtkAnnotationLayers();
00096   ~vtkAnnotationLayers();
00097 
00098   class Internals;
00099   Internals* Implementation;
00100   vtkAnnotation* CurrentAnnotation;
00101 
00102 private:
00103   vtkAnnotationLayers(const vtkAnnotationLayers&);  // Not implemented.
00104   void operator=(const vtkAnnotationLayers&);  // Not implemented.
00105 //ETX
00106 };
00107 
00108 #endif