Salome HOME
Updated copyright comment
[modules/hexablock.git] / src / HEXABLOCK / HexEltBase.hxx
old mode 100755 (executable)
new mode 100644 (file)
index aea5b3d..47fa6bd
@@ -1,12 +1,12 @@
 
 // Class : Element de base des Vertex/Edge/Quad, etc...
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2024  CEA, EDF
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 
 #define GetClone(elt) ((elt)==NULL ? NULL : elt->getClone())
 #define BadElement(elt) (elt)==NULL || (elt)->isBad()
+#define EltIsValid(elt)    (elt)!=NULL && (elt)->isValid()
+
+#if defined WIN32
+#pragma warning ( disable: 4251 )
+#endif
 
 BEGIN_NAMESPACE_HEXA
 
-class EltBase
+class HexaExport EltBase
 {
 public :
    virtual int     countHexa   ()  { return 0; }
@@ -97,18 +102,19 @@ public :
    void  dumpRef ();
 
    cpchar getName ();
-   void   setName (const string& nom) { el_name = nom ; }
+   void   setName (const std::string& nom) { el_name = nom ; }
    void   setName (cpchar nom)        { el_name = nom ; }
 
-   bool   debug (int niv=0);
-   bool   isAssociated ()             { return is_associated ; }
+   bool    debug (int niv=0);
+   bool    isAssociated ()            { return is_associated ; }
+   std::string  getNextName ();
 
 protected :
    EnumElt   el_type;
    EltBase*  el_next;
    int       el_id;
    Document* el_root;
-   string    el_name;
+   std::string    el_name;
 
    int       el_status;
    int       el_mark;