1 // SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
3 // Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License.
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 // See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
24 // File : SALOMEDS_ExpandableAttribute.cxx
25 // Author : Yves FRICAUD
30 #include "SALOMEDS_ExpandableAttribute.ixx"
31 #include <TDataStd_Integer.hxx>
33 //=======================================================================
36 //=======================================================================
38 const Standard_GUID& SALOMEDS_ExpandableAttribute::GetID ()
40 static Standard_GUID SALOMEDS_ExpandableAttributeID ("12837185-8F52-11d6-A8A3-0001021E8C7F");
41 return SALOMEDS_ExpandableAttributeID;
46 //=======================================================================
49 //=======================================================================
51 Handle(SALOMEDS_ExpandableAttribute) SALOMEDS_ExpandableAttribute::Set (const TDF_Label& L,
52 const Standard_Integer value)
54 Handle(SALOMEDS_ExpandableAttribute) A;
55 if (!L.FindAttribute(SALOMEDS_ExpandableAttribute::GetID(),A)) {
56 A = new SALOMEDS_ExpandableAttribute();
60 (Handle(TDataStd_Integer)::DownCast(A))->Set (value);
65 //=======================================================================
66 //function : constructor
68 //=======================================================================
69 SALOMEDS_ExpandableAttribute::SALOMEDS_ExpandableAttribute()
71 TDataStd_Integer::Set(0);
74 //=======================================================================
77 //=======================================================================
79 const Standard_GUID& SALOMEDS_ExpandableAttribute::ID () const { return GetID(); }
82 //=======================================================================
85 //=======================================================================
87 Handle(TDF_Attribute) SALOMEDS_ExpandableAttribute::NewEmpty () const
89 return new SALOMEDS_ExpandableAttribute();
92 //=======================================================================
95 //=======================================================================
97 void SALOMEDS_ExpandableAttribute::Restore(const Handle(TDF_Attribute)& with)
99 Standard_Integer s = Handle(TDataStd_Integer)::DownCast (with)->Get ();
100 TDataStd_Integer::Set(s);
104 //=======================================================================
107 //=======================================================================
109 void SALOMEDS_ExpandableAttribute::Paste (const Handle(TDF_Attribute)& into,
110 const Handle(TDF_RelocationTable)& RT) const
112 Handle(TDataStd_Integer)::DownCast (into)->Set (Get());