00001 //============================================================================= 00002 // This file is part of VTKEdge. See vtkedge.org for more information. 00003 // 00004 // Copyright (c) 2010 Kitware, Inc. 00005 // 00006 // VTKEdge may be used under the terms of the BSD License 00007 // Please see the file Copyright.txt in the root directory of 00008 // VTKEdge for further information. 00009 // 00010 // Alternatively, you may see: 00011 // 00012 // http://www.vtkedge.org/vtkedge/project/license.html 00013 // 00014 // 00015 // For custom extensions, consulting services, or training for 00016 // this or any other Kitware supported open source project, please 00017 // contact Kitware at sales@kitware.com. 00018 // 00019 // 00020 //============================================================================= 00041 #ifndef __vtkKWEObjectTreePropertyBase_h 00042 #define __vtkKWEObjectTreePropertyBase_h 00043 00044 #include "vtkKWESerializableObject.h" 00045 #include "VTKEdgeConfigure.h" // include configuration header 00046 00047 class vtkInformation; 00048 class vtkInformationIntegerKey; 00049 class vtkInformationObjectBaseKey; 00050 class vtkKWEObjectTreeNodeBase; 00051 class vtkKWEObjectTreePropertyBaseReferencingNodes; 00052 class vtkKWESerializer; 00053 00054 class VTKEdge_FILTERING_EXPORT vtkKWEObjectTreePropertyBase : public vtkKWESerializableObject 00055 { 00056 public: 00057 vtkTypeRevisionMacro(vtkKWEObjectTreePropertyBase, vtkKWESerializableObject); 00058 void PrintSelf(ostream& os, vtkIndent indent); 00059 00062 virtual void Serialize(vtkKWESerializer* ser); 00063 00067 virtual void Modified(); 00068 00070 virtual vtkInformationObjectBaseKey *GetKey() = 0; 00071 00073 00076 virtual bool IsEqualTo(vtkKWEObjectTreePropertyBase *testProperty, 00077 bool canBeSuperset = false); 00079 00081 int GetNumberOfAttributes(); 00082 00084 00093 static vtkInformationIntegerKey* IS_INHERITABLE(); 00094 void IsInheritableOn() 00095 { this->SetIsInheritable(true); } 00096 void IsInheritableOff() 00097 { this->SetIsInheritable(false); } 00098 bool IsInheritable() 00099 { return this->GetIsInheritable(); } 00100 bool GetIsInheritable(); 00101 void SetIsInheritable(bool isInheritable); 00103 00109 void UnsetIsInheritable(); 00110 00111 protected: 00112 vtkKWEObjectTreePropertyBase(); 00113 virtual ~vtkKWEObjectTreePropertyBase(); 00114 00116 vtkInformation *Attributes; 00117 00119 00120 friend class vtkKWEObjectTreeNodeBase; 00121 void AddReferencingNode(vtkKWEObjectTreeNodeBase *node); 00122 void RemoveReferencingNode(vtkKWEObjectTreeNodeBase *node); 00123 vtkKWEObjectTreePropertyBaseReferencingNodes *ReferencingNodes; 00125 00126 private: 00127 vtkKWEObjectTreePropertyBase(const vtkKWEObjectTreePropertyBase&); // Not implemented. 00128 void operator=(const vtkKWEObjectTreePropertyBase&); // Not implemented. 00129 }; 00130 00131 #endif
1.7.1