1 // Copyright (C) 2007-2021 CEA/DEN, EDF R&D, OPEN CASCADE
3 // Copyright (C) 2003-2007 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, or (at your option) any later version.
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.salome-platform.org/ or email : webmaster.salome@opencascade.com
23 #ifndef MED_Common_HeaderFile
24 #define MED_Common_HeaderFile
26 #include "MED_WrapperDef.hxx"
27 #include "MED_Vector.hxx"
28 #include "MED_SharedPtr.hxx"
35 #include <smIdType.hxx>
38 #pragma warning(disable:4099)
43 typedef enum {eFAUX, eVRAI} EBooleen;
44 typedef double TFloat;
45 // #if defined(HAVE_F77INT64)
54 typedef enum {eFULL_INTERLACE, eNO_INTERLACE} EModeSwitch;
56 typedef enum {eFLOAT64=6, eINT=24, eLONG=26} ETypeChamp;
58 typedef enum {eNON_STRUCTURE, eSTRUCTURE} EMaillage;
60 typedef enum {eCART, eCYL, eSPHER} ERepere;
62 typedef enum {eNOD, eDESC} EConnectivite;
64 typedef enum {ePOINT1=1, eSEG2=102, eSEG3=103, eTRIA3=203,
65 eQUAD4=204, eTRIA6=206, eTRIA7=207, eQUAD8=208, eQUAD9=209, eTETRA4=304,
66 ePYRA5=305, ePENTA6=306, eHEXA8=308, eOCTA12=312, eTETRA10=310,
67 ePYRA13=313, ePENTA15=315, ePENTA18=318, eHEXA20=320, eHEXA27=327,
68 ePOLYGONE=400, ePOLYGON2=420, ePOLYEDRE=500, eNONE=0,
69 eBALL=1101, // no such a type in med.h, it's just a trick
70 eAllGeoType=-1} EGeometrieElement;
72 typedef enum {eMAILLE, eFACE, eARETE, eNOEUD, eNOEUD_ELEMENT, eSTRUCT_ELEMENT} EEntiteMaillage;
74 typedef enum {eNO_PFLMOD, eGLOBAL, eCOMPACT} EModeProfil;
76 typedef enum {eGRILLE_CARTESIENNE, eGRILLE_POLAIRE, eGRILLE_STANDARD} EGrilleType;
78 typedef enum {eCOOR, eCONN, eNOM, eNUM, eFAM, eCOOR_IND1, eCOOR_IND2, eCOOR_IND3} ETable;
80 typedef TVector<TInt> TIntVector;
81 typedef TVector<smIdType> TIDVector;
82 typedef TVector<TFloat> TFloatVector;
83 typedef TVector<std::string> TStringVector;
84 typedef std::set<std::string> TStringSet;
86 typedef std::map<EGeometrieElement,TInt> TGeom2Size;
87 typedef std::map<EEntiteMaillage,TGeom2Size> TEntityInfo;
89 typedef std::set<EGeometrieElement> TGeomSet;
90 typedef std::map<EEntiteMaillage,TGeomSet> TEntity2GeomSet;
93 typedef SharedPtr<TNameInfo> PNameInfo;
96 typedef SharedPtr<TMeshInfo> PMeshInfo;
99 typedef SharedPtr<TFamilyInfo> PFamilyInfo;
102 typedef SharedPtr<TElemInfo> PElemInfo;
105 typedef SharedPtr<TNodeInfo> PNodeInfo;
107 struct TPolygoneInfo;
108 typedef SharedPtr<TPolygoneInfo> PPolygoneInfo;
110 struct TPolyedreInfo;
111 typedef SharedPtr<TPolyedreInfo> PPolyedreInfo;
114 typedef SharedPtr<TCellInfo> PCellInfo;
117 typedef SharedPtr<TBallInfo> PBallInfo;
120 typedef SharedPtr<TFieldInfo> PFieldInfo;
122 struct TTimeStampInfo;
123 typedef SharedPtr<TTimeStampInfo> PTimeStampInfo;
126 typedef SharedPtr<TProfileInfo> PProfileInfo;
129 typedef SharedPtr<TGaussInfo> PGaussInfo;
132 typedef SharedPtr<TGrilleInfo> PGrilleInfo;
134 struct TTimeStampValueBase;
135 typedef SharedPtr<TTimeStampValueBase> PTimeStampValueBase;
138 typedef SharedPtr<TWrapper> PWrapper;
162 GetVersionRelease(TInt&, TInt&, TInt&);
166 GetNbConn(EGeometrieElement, EEntiteMaillage, TInt);
170 GetNbNodes(EGeometrieElement typmai);
173 const TEntity2GeomSet&
177 #endif // MED_Common_HeaderFile