VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkAnnotation.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 00035 #ifndef __vtkAnnotation_h 00036 #define __vtkAnnotation_h 00037 00038 #include "vtkCommonDataModelModule.h" // For export macro 00039 #include "vtkDataObject.h" 00040 00041 class vtkInformationStringKey; 00042 class vtkInformationDoubleVectorKey; 00043 class vtkInformationIntegerVectorKey; 00044 class vtkInformationDataObjectKey; 00045 class vtkSelection; 00046 00047 class VTKCOMMONDATAMODEL_EXPORT vtkAnnotation : public vtkDataObject 00048 { 00049 public: 00050 vtkTypeMacro(vtkAnnotation, vtkDataObject); 00051 void PrintSelf(ostream& os, vtkIndent indent); 00052 static vtkAnnotation* New(); 00053 00055 00056 vtkGetObjectMacro(Selection, vtkSelection); 00057 virtual void SetSelection(vtkSelection* selection); 00059 00061 00062 static vtkAnnotation* GetData(vtkInformation* info); 00063 static vtkAnnotation* GetData(vtkInformationVector* v, int i=0); 00065 00067 static vtkInformationStringKey* LABEL(); 00068 00071 static vtkInformationDoubleVectorKey* COLOR(); 00072 00075 static vtkInformationDoubleKey* OPACITY(); 00076 00078 static vtkInformationIntegerKey* ICON_INDEX(); 00079 00082 static vtkInformationIntegerKey* ENABLE(); 00083 00085 static vtkInformationIntegerKey* HIDE(); 00086 00088 static vtkInformationDataObjectKey* DATA(); 00089 00091 virtual void Initialize(); 00092 00095 virtual void ShallowCopy(vtkDataObject* other); 00096 00099 virtual void DeepCopy(vtkDataObject* other); 00100 00102 virtual unsigned long GetMTime(); 00103 00104 //BTX 00105 protected: 00106 vtkAnnotation(); 00107 ~vtkAnnotation(); 00108 00109 vtkSelection* Selection; 00110 00111 private: 00112 vtkAnnotation(const vtkAnnotation&); // Not implemented. 00113 void operator=(const vtkAnnotation&); // Not implemented. 00114 //ETX 00115 }; 00116 00117 #endif 00118