Back to index

salome-kernel  6.5.0
SALOMEDSImpl_AttributeFlags.cxx
Go to the documentation of this file.
00001 // Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
00002 //
00003 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
00004 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
00005 //
00006 // This library is free software; you can redistribute it and/or
00007 // modify it under the terms of the GNU Lesser General Public
00008 // License as published by the Free Software Foundation; either
00009 // version 2.1 of the License.
00010 //
00011 // This library is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014 // Lesser General Public License for more details.
00015 //
00016 // You should have received a copy of the GNU Lesser General Public
00017 // License along with this library; if not, write to the Free Software
00018 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00019 //
00020 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00021 //
00022 
00023 //  File   : SALOMEDSImpl_AttributeFlags.cxx
00024 //  Author : Sergey LITONIN
00025 //  Module : SALOME
00026 //
00027 #include "SALOMEDSImpl_AttributeFlags.hxx"
00028 
00029 /*
00030   Class       : SALOMEDSImpl_AttributeFlags
00031   Description : This class is intended for storing different object attributes that
00032                 have only two states (0 and 1).
00033 */
00034 
00035 //=======================================================================
00036 //function : SALOMEDSImpl_AttributeFlags::GetID
00037 //purpose  : Get GUID of this attribute
00038 //=======================================================================
00039 const std::string& SALOMEDSImpl_AttributeFlags::GetID ()
00040 {
00041   static std::string SALOMEDSImpl_AttributeFlagsID( "866EEC9F-A517-4cb4-88E6-E208DB8FC96F" );
00042   return SALOMEDSImpl_AttributeFlagsID;                
00043 }
00044 
00045 //=======================================================================
00046 //function : SALOMEDSImpl_AttributeFlags::Set
00047 //purpose  : Set value of the attribute
00048 //=======================================================================
00049 SALOMEDSImpl_AttributeFlags* SALOMEDSImpl_AttributeFlags::Set(const DF_Label& L,
00050                                                               const int value )
00051 {
00052   SALOMEDSImpl_AttributeFlags* A = NULL;
00053   if ( !(A=(SALOMEDSImpl_AttributeFlags*)L.FindAttribute(SALOMEDSImpl_AttributeFlags::GetID())) )
00054   {
00055     A = new  SALOMEDSImpl_AttributeFlags();
00056     L.AddAttribute( A );
00057   }
00058 
00059   A->Set( value );
00060   return A;
00061 }
00062 
00063 //=======================================================================
00064 //function : SALOMEDSImpl_AttributeFlags::SALOMEDSImpl_AttributeFlags
00065 //purpose  : Constructor
00066 //=======================================================================
00067 SALOMEDSImpl_AttributeFlags::SALOMEDSImpl_AttributeFlags()
00068 :SALOMEDSImpl_GenericAttribute("AttributeFlags")
00069 {
00070   myValue = 0;
00071 }
00072 
00073 SALOMEDSImpl_AttributeFlags::~SALOMEDSImpl_AttributeFlags()
00074 {
00075 }
00076 
00077 //=======================================================================
00078 //function : SALOMEDSImpl_AttributeFlags::ID
00079 //purpose  : Get GUID of this attribute
00080 //=======================================================================
00081 const std::string& SALOMEDSImpl_AttributeFlags::ID () const
00082 {
00083   return GetID();
00084 }
00085 
00086 //=======================================================================
00087 //function : SALOMEDSImpl_AttributeFlags::NewEmpty
00088 //purpose  : Create new empty attribute
00089 //=======================================================================
00090 
00091 DF_Attribute* SALOMEDSImpl_AttributeFlags::NewEmpty () const
00092 {
00093   return new SALOMEDSImpl_AttributeFlags();
00094 }
00095 
00096 //=======================================================================
00097 //function : SALOMEDSImpl_AttributeFlags::Restore
00098 //purpose  : Assign given value to the attribute
00099 //=======================================================================
00100 void SALOMEDSImpl_AttributeFlags::Restore( DF_Attribute* with )
00101 {
00102   myValue = dynamic_cast<SALOMEDSImpl_AttributeFlags*>( with )->Get();
00103   return;
00104 }
00105 
00106 //=======================================================================
00107 //function : SALOMEDSImpl_AttributeFlags::Paste
00108 //purpose  : Assign internal value to the given attribute
00109 //=======================================================================
00110 void SALOMEDSImpl_AttributeFlags::Paste( DF_Attribute* into)
00111 {
00112   dynamic_cast<SALOMEDSImpl_AttributeFlags*>( into )->Set( myValue );
00113 }
00114 
00115 //=======================================================================
00116 //function : SALOMEDSImpl_AttributeFlags::Set
00117 //purpose  : Set value
00118 //=======================================================================
00119 void SALOMEDSImpl_AttributeFlags::Set( const int v )
00120 {
00121   Backup();
00122   myValue=v;
00123 }
00124 
00125 //=======================================================================
00126 //function : SALOMEDSImpl_AttributeFlags::Get
00127 //purpose  : GetValue
00128 //=======================================================================
00129 int SALOMEDSImpl_AttributeFlags::Get() const
00130 {
00131   return myValue;
00132 }
00133 
00134 
00135 
00136 
00137 
00138 
00139 
00140 
00141 
00142 
00143 
00144 
00145 
00146 
00147 
00148 
00149 
00150 
00151 
00152