X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FDriverMED%2FDriverMED_W_Field.cxx;h=bdd191a4deae7bd3ad03115e51bf38bcd89d21f9;hb=8af480d8934d988fbefe45f08ffd868d43f7cf28;hp=938927572aaaa9e08f599a3a3f559776580e5986;hpb=dc749f7053db247d6a0eae76b78f7ffa7659d9c3;p=modules%2Fsmesh.git diff --git a/src/DriverMED/DriverMED_W_Field.cxx b/src/DriverMED/DriverMED_W_Field.cxx index 938927572..bdd191a4d 100644 --- a/src/DriverMED/DriverMED_W_Field.cxx +++ b/src/DriverMED/DriverMED_W_Field.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2016 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 @@ -33,7 +33,6 @@ #include "MED_Wrapper.hxx" #include "SMDS_IteratorOnIterators.hxx" #include "SMDS_MeshElement.hxx" -#include "SMDS_PolyhedralVolumeOfNodes.hxx" #include "SMDS_SetIterator.hxx" #include "SMESHDS_Mesh.hxx" @@ -95,19 +94,19 @@ bool DriverMED_W_Field::Set(SMESHDS_Mesh * mesh, if ( _nbElemsByGeom.empty() || _elemType != type ) { _elemType = type; - _nbElemsByGeom.resize( 1, make_pair( SMDSEntity_Last, 0 )); + _nbElemsByGeom.resize( 1, std::make_pair( SMDSEntity_Last, 0 )); // count nb of elems of each geometry for ( int iG = 0; iG < SMDSEntity_Last; ++iG ) { SMDSAbs_EntityType geom = (SMDSAbs_EntityType) iG; - SMDSAbs_ElementType t = SMDS_MeshCell::toSmdsType( geom ); + SMDSAbs_ElementType t = SMDS_MeshCell::ElemType( geom ); if ( t != _elemType ) continue; nbElems = mesh->GetMeshInfo().NbElements( geom ); if ( nbElems < 1 ) continue; - _nbElemsByGeom.push_back( make_pair( geom, nbElems + _nbElemsByGeom.back().second )); + _nbElemsByGeom.push_back( std::make_pair( geom, nbElems + _nbElemsByGeom.back().second )); } // add nodes of missing 0D elements on VERTEXes if ( _addODOnVertices && _elemType == SMDSAbs_0DElement ) @@ -118,8 +117,8 @@ bool DriverMED_W_Field::Set(SMESHDS_Mesh * mesh, if ( !nodes.empty() ) { if ( _nbElemsByGeom.size() == 1 ) - _nbElemsByGeom.push_back( make_pair( SMDSEntity_0D, 0)); - _nbElemsByGeom.push_back( make_pair( SMDSEntity_Node, + _nbElemsByGeom.push_back( std::make_pair( SMDSEntity_0D, 0)); + _nbElemsByGeom.push_back( std::make_pair( SMDSEntity_Node, nodes.size() + _nbElemsByGeom.back().second )); } } @@ -168,7 +167,7 @@ bool DriverMED_W_Field::Set(SMESHDS_Mesh * mesh, void DriverMED_W_Field::SetCompName(const int iComp, const char* name) { - if ( _compNames.size() <= iComp ) + if ( (int)_compNames.size() <= iComp ) _compNames.resize( iComp + 1 ); _compNames[ iComp ] = name; } @@ -254,7 +253,7 @@ Driver_Mesh::Status DriverMED_W_Field::Perform() if ( !myMesh ) return addMessage("Supporting mesh not set", /*isFatal=*/true ); - MED::PWrapper medFile = MED::CrWrapper( myFile, MED::eV2_2 ); + MED::PWrapper medFile = MED::CrWrapperW( myFile ); MED::PMeshInfo meshInfo; if ( myMeshId > 0 ) { @@ -314,7 +313,7 @@ Driver_Mesh::Status DriverMED_W_Field::Perform() SMDSAbs_EntityType smdsType = _nbElemsByGeom[iG].first; MED::EGeometrieElement medType = (MED::EGeometrieElement) DriverMED::GetMedGeoType( smdsType ); int nbElems = _nbElemsByGeom[iG].second - _nbElemsByGeom[iG-1].second; - type2nb.insert( make_pair( medType, nbElems )); + type2nb.insert( std::make_pair( medType, nbElems )); } MED::EEntiteMaillage entity = ( _elemType == SMDSAbs_Node ? MED::eNOEUD : MED::eMAILLE ); @@ -327,7 +326,7 @@ Driver_Mesh::Status DriverMED_W_Field::Perform() MED::PIntTimeStampValue timeStampIntVal = timeStampVal; // set values - int iVal = 0, i, nbE; + int iVal = 0; MED::TFloat* ptrDbl = 0; MED::TInt* ptrInt = 0; for ( size_t iG = 1; iG < _nbElemsByGeom.size(); ++iG ) @@ -354,9 +353,11 @@ Driver_Mesh::Status DriverMED_W_Field::Perform() _dblValues.clear(); _intValues.clear(); + + return DRS_OK; } -namespace DriverMED // Implemetation of fuctions declared in DriverMED.hxx +namespace DriverMED // Implementation of functions declared in DriverMED.hxx { //================================================================================ /*! @@ -391,6 +392,7 @@ namespace DriverMED // Implemetation of fuctions declared in DriverMED.hxx theVec[ SMDSEntity_TriQuad_Hexa ] = MED::eHEXA27 ; theVec[ SMDSEntity_Penta ] = MED::ePENTA6 ; theVec[ SMDSEntity_Quad_Penta ] = MED::ePENTA15 ; + theVec[ SMDSEntity_BiQuad_Penta ] = MED::ePENTA18 ; theVec[ SMDSEntity_Hexagonal_Prism ] = MED::eOCTA12 ; theVec[ SMDSEntity_Polyhedra ] = MED::ePOLYEDRE; //theVec[ SMDSEntity_Quad_Polyhedra ] = MED::ePOLYEDRE; // !!