Salome HOME
Copyright update 2021
[modules/smesh.git] / src / DriverUNV / UNV2412_Structure.hxx
index 0892c5f8515ffbddfd8bdd6c413a1ab708b7a3a7..ac2f06705a9839b75cf0223135d32f1ef2f88453 100644 (file)
@@ -1,37 +1,43 @@
-//  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-//  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-// 
-//  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. 
-// 
-//  This library is distributed in the hope that it will be useful, 
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-//  Lesser General Public License for more details. 
-// 
-//  You should have received a copy of the GNU Lesser General Public 
-//  License along with this library; if not, write to the Free Software 
-//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-// 
-//  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+// Copyright (C) 2007-2021  CEA/DEN, EDF R&D, OPEN CASCADE
+//
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// 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, 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
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
 
 #ifndef UNV2412_Structure_HeaderFile
 #define UNV2412_Structure_HeaderFile
 
-#include <map>
-#include <vector>
-#include <fstream>     
+#include "SMESH_DriverUNV.hxx"
 
+#include <vector>
+#include <fstream>
 
 namespace UNV2412{
   
   typedef std::vector<int> TNodeLabels; // Nodal connectivities
+  typedef int TElementLab; // type of element label
 
-  struct TRecord{
+  struct MESHDRIVERUNV_EXPORT TRecord
+  {
     TRecord();
 
+    TElementLab label;
     int fe_descriptor_id;  // FE descriptor id
     int phys_prop_tab_num;  // physical property table number
     int mat_prop_tab_num;  // material property table number
@@ -44,18 +50,22 @@ namespace UNV2412{
     int beam_aft_end;  // beam  aft-end cross section number
   };
   
-  typedef int TElementLab; // type of element label
-  typedef std::map<TElementLab,TRecord> TDataSet;
+  typedef std::vector<TRecord> TDataSet;
 
-  void Read(std::ifstream& in_stream, TDataSet& theDataSet);
+  MESHDRIVERUNV_EXPORT void
+    Read(std::ifstream& in_stream, TDataSet& theDataSet);
 
-  void Write(std::ofstream& out_stream, const TDataSet& theDataSet);
+  MESHDRIVERUNV_EXPORT void
+    Write(std::ofstream& out_stream, const TDataSet& theDataSet);
 
-  bool IsBeam(int theFeDescriptorId);
-  bool IsFace(int theFeDescriptorId);
-  bool IsVolume(int theFeDescriptorId);
+  MESHDRIVERUNV_EXPORT bool
+    IsBeam(int theFeDescriptorId);
+  MESHDRIVERUNV_EXPORT bool
+    IsFace(int theFeDescriptorId);
+  MESHDRIVERUNV_EXPORT bool
+    IsVolume(int theFeDescriptorId);
 
-};
+}
 
 
 #endif