1 #include "MEDMEM_DriversDef.hxx"
5 // Returns the (string) name of the geometry of
6 // an element given by a med_geometrie_element value
7 GEO_NAME::GEO_NAME () : map<int,string>()
9 map<int,string> &table = (map<int,string>&)*this ;
10 table[(int)0 ] = "MED_NONE" ;
11 table[(int)MED_POINT1 ] = "MED_POINT1" ;
12 table[(int)MED_SEG2 ] = "MED_SEG2" ;
13 table[(int)MED_SEG3 ] = "MED_SEG3" ;
14 table[(int)MED_TRIA3 ] = "MED_TRIA3" ;
15 table[(int)MED_TRIA6 ] = "MED_TRIA6" ;
16 table[(int)MED_QUAD4 ] = "MED_QUAD4" ;
17 table[(int)MED_QUAD8 ] = "MED_QUAD8" ;
18 table[(int)MED_TETRA4 ] = "MED_TETRA4" ;
19 table[(int)MED_TETRA10] = "MED_TETRA10";
20 table[(int)MED_HEXA8 ] = "MED_HEXA8" ;
21 table[(int)MED_HEXA20 ] = "MED_HEXA20" ;
22 table[(int)MED_PENTA6 ] = "MED_PENTA6" ;
23 table[(int)MED_PENTA15] = "MED_PENTA15";
24 table[(int)MED_PYRA5 ] = "MED_PYRA5" ;
25 table[(int)MED_PYRA13 ] = "MED_PYRA13" ;
26 assert( table.find( (int)MED_PYRA13 ) != table.end() ) ;
29 string & GEO_NAME::operator[]( const med_geometrie_element &c ) const
31 map<int,string> &table = (map<int,string>&)*this ;
32 assert( table.find( (int)c ) != table.end() ) ;
33 return table[ (int)c ] ;
37 // Returns the (string) name of the type of
38 // an entity given by a med_entite_maillage value
40 ENT_NAME:: ENT_NAME () : map<int,string>()
42 map<int,string> &table = (map<int,string>&)*this ;
43 table[(int)MED_MAILLE ] = "MED_MAILLE";
44 table[(int)MED_FACE ] = "MED_FACE";
45 table[(int)MED_ARETE ] = "MED_ARETE";
46 table[(int)MED_NOEUD ] = "MED_NOEUD";
48 string & ENT_NAME::operator[]( const med_entite_maillage &c ) const
50 map<int,string> &table = (map<int,string>&)*this ;
51 assert( table.find( (int)c ) != table.end() ) ;
52 return table[ (int)c ] ;
55 MESH_ENTITIES::MESH_ENTITIES () : map<int, const list<med_geometrie_element> >()
57 // Override the const declaration in order to used the find method below
58 map<int, const list<med_geometrie_element> > &table = (map<int, const list<med_geometrie_element> >&)*this ;
60 // Initialize the value associated with the ROUGE_ key ( use the private operator = )
62 const med_geometrie_element T[] = { MED_POINT1, MED_SEG2, MED_SEG3, MED_TRIA3,
63 MED_TRIA6, MED_QUAD4, MED_QUAD8, MED_TETRA4,
64 MED_TETRA10, MED_HEXA8, MED_HEXA20, MED_PENTA6,
65 MED_PENTA15,MED_PYRA5, MED_PYRA13 };
66 static const list<med_geometrie_element> geomList(T,T+sizeof(T)/sizeof(med_geometrie_element));
67 (*this)[MED_MAILLE] = geomList;
71 const med_geometrie_element T[] = { MED_TRIA3,MED_TRIA6, MED_QUAD4,MED_QUAD8 };
72 static const list<med_geometrie_element> geomList(T,T+sizeof(T)/sizeof(med_geometrie_element));
73 (*this)[MED_FACE] = geomList;
77 const med_geometrie_element T[] = { MED_SEG2,MED_SEG3 };
78 static const list<med_geometrie_element> geomList(T,T+sizeof(T)/sizeof(med_geometrie_element));
79 (*this)[MED_ARETE] = geomList;
83 // const med_geometrie_element T[] = { MED_NONE };
84 const med_geometrie_element T[] = { (med_geometrie_element)0 };
85 static const list<med_geometrie_element> geomList(T,T+sizeof(T)/sizeof(med_geometrie_element));
86 (*this)[MED_NOEUD] = geomList;
91 const list<med_geometrie_element> & MESH_ENTITIES::operator[]( const med_entite_maillage &c ) const
93 map<int,const list<med_geometrie_element> > &table = (map<int,const list<med_geometrie_element> >&)*this ;
94 // Verify the object already exists in the map
95 assert( table.find( (int)c ) != table.end() ) ;
96 return table[ (int)c ] ;
99 // This operator is used to initialize class objects of type const list<med_geometrie_element>
100 list<med_geometrie_element> & MESH_ENTITIES::operator[]( const med_entite_maillage &c )
102 return (list<med_geometrie_element> &) this->map<int,const list<med_geometrie_element> >::operator[]( (int)c) ;
105 } // End Of NameSpace MED_FR