1 // File: TDataStd_Directory.cxx
2 // Created: Fri Jun 25 14:42:27 1999
6 #include <TDataStd_Directory.ixx>
7 #include <TDataStd.hxx>
8 #include <TDF_TagSource.hxx>
9 #include <Standard_DomainError.hxx>
11 //=======================================================================
14 //=======================================================================
16 Standard_Boolean TDataStd_Directory::Find (const TDF_Label& current,
17 Handle(TDataStd_Directory)& D)
19 TDF_Label L = current;
20 Handle(TDataStd_Directory) dir;
21 if (L.IsNull()) return Standard_False;
24 if(L.FindAttribute(TDataStd_Directory::GetID(), dir)) break;
26 if (L.IsNull()) break;
33 return Standard_False;
37 //=======================================================================
40 //=======================================================================
42 const Standard_GUID& TDataStd_Directory::GetID()
44 static Standard_GUID TDataStd_DirectoryID("2a96b61f-ec8b-11d0-bee7-080009dc3333");
45 return TDataStd_DirectoryID;
49 //=======================================================================
52 //=======================================================================
54 Handle(TDataStd_Directory) TDataStd_Directory::New (const TDF_Label& L)
56 if (L.HasAttribute()) {
57 Standard_DomainError::Raise("TDataStd_Directory::New : not an empty label");
59 Handle(TDataStd_Directory) A = new TDataStd_Directory ();
61 TDF_TagSource::Set(L);
66 //=======================================================================
67 //function : TDataStd_AddDirectory
69 //=======================================================================
71 Handle(TDataStd_Directory) TDataStd_Directory::AddDirectory(const Handle(TDataStd_Directory)& dir)
73 TDF_Label newLabel = TDF_TagSource::NewChild ( dir->Label() );
74 Handle(TDataStd_Directory) A = TDataStd_Directory::New (newLabel );
79 //=======================================================================
80 //function : TDataStd_MakeObjectLabel
82 //=======================================================================
84 TDF_Label TDataStd_Directory::MakeObjectLabel(const Handle(TDataStd_Directory)& dir)
86 return TDF_TagSource::NewChild ( dir->Label() );
89 //=======================================================================
90 //function : TDataStd_Directory
92 //=======================================================================
94 TDataStd_Directory::TDataStd_Directory()
99 //=======================================================================
102 //=======================================================================
104 const Standard_GUID& TDataStd_Directory::ID() const
108 //=======================================================================
109 //function : NewEmpty
111 //=======================================================================
113 Handle(TDF_Attribute) TDataStd_Directory::NewEmpty () const
115 return new TDataStd_Directory();
118 //=======================================================================
121 //=======================================================================
123 void TDataStd_Directory::Restore(const Handle(TDF_Attribute)& with)
127 //=======================================================================
130 //=======================================================================
132 void TDataStd_Directory::Paste (const Handle(TDF_Attribute)& into,
133 const Handle(TDF_RelocationTable)& RT) const
137 //=======================================================================
138 //function : References
140 //=======================================================================
142 void TDataStd_Directory::References (const Handle(TDF_DataSet)& DS) const
146 //=======================================================================
149 //=======================================================================
151 Standard_OStream& TDataStd_Directory::Dump (Standard_OStream& anOS) const