// Class : Element de base des Vertex/Edge/Quad, etc...
-// Copyright (C) 2009-2012 CEA/DEN, EDF R&D
+// Copyright (C) 2009-2019 CEA/DEN, EDF R&D
//
// 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; }
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;