VTK
dox/Filtering/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 "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