From 14d0e379125755de86d6041244d5c24a374524de Mon Sep 17 00:00:00 2001 From: gdd Date: Wed, 16 Mar 2011 09:09:12 +0000 Subject: [PATCH] Porting MED3 --- src/VISU_I/VISU_CorbaMedConvertor.cxx | 228 +++++++++++++------------- 1 file changed, 114 insertions(+), 114 deletions(-) diff --git a/src/VISU_I/VISU_CorbaMedConvertor.cxx b/src/VISU_I/VISU_CorbaMedConvertor.cxx index 85870069..72c88f69 100644 --- a/src/VISU_I/VISU_CorbaMedConvertor.cxx +++ b/src/VISU_I/VISU_CorbaMedConvertor.cxx @@ -66,49 +66,49 @@ namespace SALOME_MED::medGeometryElement CELLGEOM[MED_NBR_GEOMETRIE_MAILLE] = { - SALOME_MED::MED_POINT1, - SALOME_MED::MED_SEG2, - SALOME_MED::MED_SEG3, - SALOME_MED::MED_TRIA3, - SALOME_MED::MED_QUAD4, - SALOME_MED::MED_TRIA6, - SALOME_MED::MED_QUAD8, - SALOME_MED::MED_TETRA4, - SALOME_MED::MED_PYRA5, - SALOME_MED::MED_PENTA6, - SALOME_MED::MED_HEXA8, - SALOME_MED::MED_TETRA10, - SALOME_MED::MED_PYRA13, - SALOME_MED::MED_PENTA15, - SALOME_MED::MED_HEXA20, - SALOME_MED::MED_POLYGON, - SALOME_MED::MED_POLYHEDRA + SALOME_MED::MEDMEM_POINT1, + SALOME_MED::MEDMEM_SEG2, + SALOME_MED::MEDMEM_SEG3, + SALOME_MED::MEDMEM_TRIA3, + SALOME_MED::MEDMEM_QUAD4, + SALOME_MED::MEDMEM_TRIA6, + SALOME_MED::MEDMEM_QUAD8, + SALOME_MED::MEDMEM_TETRA4, + SALOME_MED::MEDMEM_PYRA5, + SALOME_MED::MEDMEM_PENTA6, + SALOME_MED::MEDMEM_HEXA8, + SALOME_MED::MEDMEM_TETRA10, + SALOME_MED::MEDMEM_PYRA13, + SALOME_MED::MEDMEM_PENTA15, + SALOME_MED::MEDMEM_HEXA20, + SALOME_MED::MEDMEM_POLYGON, + SALOME_MED::MEDMEM_POLYHEDRA }; const int MED_NBR_GEOMETRIE_FACE = 5; SALOME_MED::medGeometryElement FACEGEOM[MED_NBR_GEOMETRIE_FACE] = { - SALOME_MED::MED_TRIA3, - SALOME_MED::MED_QUAD4, - SALOME_MED::MED_TRIA6, - SALOME_MED::MED_QUAD8, - SALOME_MED::MED_POLYGON + SALOME_MED::MEDMEM_TRIA3, + SALOME_MED::MEDMEM_QUAD4, + SALOME_MED::MEDMEM_TRIA6, + SALOME_MED::MEDMEM_QUAD8, + SALOME_MED::MEDMEM_POLYGON }; const int MED_NBR_GEOMETRIE_ARETE = 2; SALOME_MED::medGeometryElement EDGEGEOM[MED_NBR_GEOMETRIE_ARETE] = { - SALOME_MED::MED_SEG2, - SALOME_MED::MED_SEG3 + SALOME_MED::MEDMEM_SEG2, + SALOME_MED::MEDMEM_SEG3 }; const int MED_NBR_GEOMETRIE_NODE = 1; SALOME_MED::medGeometryElement NODEGEOM[MED_NBR_GEOMETRIE_NODE] = { - SALOME_MED::MED_POINT1, + SALOME_MED::MEDMEM_POINT1, }; @@ -140,37 +140,37 @@ namespace MEDGeom2NbNodes(int theMEDGeomType) { switch(theMEDGeomType){ - case SALOME_MED::MED_NONE: + case SALOME_MED::MEDMEM_NONE: return 0; - case SALOME_MED::MED_POINT1: + case SALOME_MED::MEDMEM_POINT1: return 1; - case SALOME_MED::MED_SEG2: + case SALOME_MED::MEDMEM_SEG2: return 2; - case SALOME_MED::MED_SEG3: + case SALOME_MED::MEDMEM_SEG3: return 3; - case SALOME_MED::MED_TRIA3: + case SALOME_MED::MEDMEM_TRIA3: return 3; - case SALOME_MED::MED_TRIA6: + case SALOME_MED::MEDMEM_TRIA6: return 6; - case SALOME_MED::MED_QUAD4: + case SALOME_MED::MEDMEM_QUAD4: return 4; - case SALOME_MED::MED_QUAD8: + case SALOME_MED::MEDMEM_QUAD8: return 8; - case SALOME_MED::MED_TETRA4: + case SALOME_MED::MEDMEM_TETRA4: return 4; - case SALOME_MED::MED_TETRA10: + case SALOME_MED::MEDMEM_TETRA10: return 10; - case SALOME_MED::MED_HEXA8: + case SALOME_MED::MEDMEM_HEXA8: return 8; - case SALOME_MED::MED_HEXA20: + case SALOME_MED::MEDMEM_HEXA20: return 20; - case SALOME_MED::MED_PENTA6: + case SALOME_MED::MEDMEM_PENTA6: return 6; - case SALOME_MED::MED_PENTA15: + case SALOME_MED::MEDMEM_PENTA15: return 15; - case SALOME_MED::MED_PYRA5: + case SALOME_MED::MEDMEM_PYRA5: return 5; - case SALOME_MED::MED_PYRA13: + case SALOME_MED::MEDMEM_PYRA13: return 13; } return -1; @@ -182,39 +182,39 @@ namespace MEDGeom2VISU(SALOME_MED::medGeometryElement theGeom) { switch(theGeom){ - case SALOME_MED::MED_POINT1: + case SALOME_MED::MEDMEM_POINT1: return VISU::ePOINT1; - case SALOME_MED::MED_SEG2: + case SALOME_MED::MEDMEM_SEG2: return VISU::eSEG2; - case SALOME_MED::MED_SEG3: + case SALOME_MED::MEDMEM_SEG3: return VISU::eSEG3; - case SALOME_MED::MED_TRIA3: + case SALOME_MED::MEDMEM_TRIA3: return VISU::eTRIA3; - case SALOME_MED::MED_TRIA6: + case SALOME_MED::MEDMEM_TRIA6: return VISU::eTRIA6; - case SALOME_MED::MED_QUAD4: + case SALOME_MED::MEDMEM_QUAD4: return VISU::eQUAD4; - case SALOME_MED::MED_QUAD8: + case SALOME_MED::MEDMEM_QUAD8: return VISU::eQUAD8; - case SALOME_MED::MED_TETRA4: + case SALOME_MED::MEDMEM_TETRA4: return VISU::eTETRA4; - case SALOME_MED::MED_TETRA10: + case SALOME_MED::MEDMEM_TETRA10: return VISU::eTETRA10; - case SALOME_MED::MED_HEXA8: + case SALOME_MED::MEDMEM_HEXA8: return VISU::eHEXA8; - case SALOME_MED::MED_HEXA20: + case SALOME_MED::MEDMEM_HEXA20: return VISU::eHEXA20; - case SALOME_MED::MED_PENTA6: + case SALOME_MED::MEDMEM_PENTA6: return VISU::ePENTA6; - case SALOME_MED::MED_PENTA15: + case SALOME_MED::MEDMEM_PENTA15: return VISU::ePENTA15; - case SALOME_MED::MED_PYRA5: + case SALOME_MED::MEDMEM_PYRA5: return VISU::ePYRA5; - case SALOME_MED::MED_PYRA13: + case SALOME_MED::MEDMEM_PYRA13: return VISU::ePYRA13; - case SALOME_MED::MED_POLYGON: + case SALOME_MED::MEDMEM_POLYGON: return VISU::ePOLYGONE; - case SALOME_MED::MED_POLYHEDRA: + case SALOME_MED::MEDMEM_POLYHEDRA: return VISU::ePOLYEDRE; } return VISU::eNONE; @@ -226,40 +226,40 @@ namespace { switch(theGeom){ case VISU::ePOINT1: - return SALOME_MED::MED_POINT1; + return SALOME_MED::MEDMEM_POINT1; case VISU::eSEG2: - return SALOME_MED::MED_SEG2; + return SALOME_MED::MEDMEM_SEG2; case VISU::eTRIA3: - return SALOME_MED::MED_TRIA3; + return SALOME_MED::MEDMEM_TRIA3; case VISU::eQUAD4: - return SALOME_MED::MED_QUAD4; + return SALOME_MED::MEDMEM_QUAD4; case VISU::eTETRA4: - return SALOME_MED::MED_TETRA4; + return SALOME_MED::MEDMEM_TETRA4; case VISU::eHEXA8: - return SALOME_MED::MED_HEXA8; + return SALOME_MED::MEDMEM_HEXA8; case VISU::ePENTA6: - return SALOME_MED::MED_PENTA6; + return SALOME_MED::MEDMEM_PENTA6; case VISU::ePYRA5: - return SALOME_MED::MED_PYRA5; + return SALOME_MED::MEDMEM_PYRA5; case VISU::eSEG3: - return SALOME_MED::MED_SEG3; + return SALOME_MED::MEDMEM_SEG3; case VISU::eTRIA6: - return SALOME_MED::MED_TRIA6; + return SALOME_MED::MEDMEM_TRIA6; case VISU::eQUAD8: - return SALOME_MED::MED_QUAD8; + return SALOME_MED::MEDMEM_QUAD8; case VISU::eTETRA10: - return SALOME_MED::MED_TETRA10; + return SALOME_MED::MEDMEM_TETRA10; case VISU::eHEXA20: - return SALOME_MED::MED_HEXA20; + return SALOME_MED::MEDMEM_HEXA20; case VISU::ePENTA15: - return SALOME_MED::MED_PENTA15; + return SALOME_MED::MEDMEM_PENTA15; case VISU::ePYRA13: - return SALOME_MED::MED_PYRA13; + return SALOME_MED::MEDMEM_PYRA13; case VISU::ePOLYGONE: - return SALOME_MED::MED_POLYGON; + return SALOME_MED::MEDMEM_POLYGON; case VISU::ePOLYEDRE: - return SALOME_MED::MED_POLYHEDRA; + return SALOME_MED::MEDMEM_POLYHEDRA; } return SALOME_MED::medGeometryElement(-1); } @@ -270,23 +270,23 @@ namespace { switch(theVTKGeomType){ case VTK_VERTEX: - return SALOME_MED::MED_POINT1; + return SALOME_MED::MEDMEM_POINT1; case VTK_LINE: - return SALOME_MED::MED_SEG2; + return SALOME_MED::MEDMEM_SEG2; case VTK_TRIANGLE: - return SALOME_MED::MED_TRIA3; + return SALOME_MED::MEDMEM_TRIA3; case VTK_QUAD: - return SALOME_MED::MED_QUAD4; + return SALOME_MED::MEDMEM_QUAD4; case VTK_TETRA: - return SALOME_MED::MED_TETRA4; + return SALOME_MED::MEDMEM_TETRA4; case VTK_HEXAHEDRON: - return SALOME_MED::MED_HEXA8; + return SALOME_MED::MEDMEM_HEXA8; case VTK_WEDGE: - return SALOME_MED::MED_PENTA6; + return SALOME_MED::MEDMEM_PENTA6; case VTK_PYRAMID: - return SALOME_MED::MED_PYRA5; + return SALOME_MED::MEDMEM_PYRA5; case VTK_POLYGON: - return SALOME_MED::MED_POLYGON; + return SALOME_MED::MEDMEM_POLYGON; } return SALOME_MED::medGeometryElement(-1); } @@ -443,9 +443,9 @@ namespace const VISU::TCellsFirstIndex& aCellsFirstIndex = theMeshOnEntity.myCellsFirstIndex; VISU::TCellsFirstIndex::const_iterator aTimeStampIter = aCellsFirstIndex.find(theMGeom); if(aTimeStampIter == (theMeshOnEntity.myCellsFirstIndex).end() && - theMGeom != SALOME_MED::MED_POINT1) + theMGeom != SALOME_MED::MEDMEM_POINT1) aSubProfile->myStatus = VISU::eRemoveAll; - else if(aTimeStampIter == aCellsFirstIndex.end() && theMGeom == SALOME_MED::MED_POINT1){ + else if(aTimeStampIter == aCellsFirstIndex.end() && theMGeom == SALOME_MED::MEDMEM_POINT1){ if(theNbElems > 0){ aSubProfile->myName = ""; aSubProfile->myStatus = VISU::eAddPart; @@ -482,9 +482,9 @@ namespace SALOME_MED::SUPPORT_var aSupport = theValForTime->myField->getSupport(); int aNbElems = 0; if(anIter == aFirstIndex.end() && aSupport->getEntity() == SALOME_MED::MED_NODE){ - SALOME_MED::medGeometryElement aMGeom = SALOME_MED::MED_POINT1; + SALOME_MED::medGeometryElement aMGeom = SALOME_MED::MEDMEM_POINT1; try{ - aNbElems = aSupport->getNumberOfElements(SALOME_MED::MED_NONE); + aNbElems = aSupport->getNumberOfElements(SALOME_MED::MEDMEM_NONE); if(MYDEBUG)MESSAGE("aMGeom="<myField->getSupport()->getNumberOfElements(aMGeom);"); @@ -584,8 +584,8 @@ namespace std::vector aGeom2Profile; if(!aSupport->isOnAllElements()){ try{ - if(aMGeom == SALOME_MED::MED_POINT1) - aGeom2ProfileIds = aSupport->getNumberFromFile(SALOME_MED::MED_NONE); + if(aMGeom == SALOME_MED::MEDMEM_POINT1) + aGeom2ProfileIds = aSupport->getNumberFromFile(SALOME_MED::MEDMEM_NONE); else aGeom2ProfileIds = aSupport->getNumberFromFile(aMGeom); int aLen = aGeom2ProfileIds->length(); @@ -635,7 +635,7 @@ VISU_MEDFieldConvertor SALOME_MED::medEntityMesh aMEntity = aMEDSupport->getEntity(); VISU::TEntity aVEntity = MEDEntityToVTK(aMEntity); - SALOME_MED::MESH_var aMEDMesh = aMEDSupport->getMesh(); + SALOME_MED::MESH_var aMEDMesh = aMEDSupport->getMesh()->convertInMESH(); if(aMEDMesh->_is_nil()) throw std::runtime_error("VISU_MEDFieldConvertor::Build >> aMEDMesh->_is_nil() !!!"); @@ -878,7 +878,7 @@ VISU_MEDConvertor if(aMEDSupport->_is_nil()) continue; - SALOME_MED::MESH_var aMeshOnSupport = aMEDSupport->getMesh(); + SALOME_MED::MESH_var aMeshOnSupport = aMEDSupport->getMesh()->convertInMESH(); SALOME_MED::medEntityMesh aMEntity = aMEDSupport->getEntity(); VISU::TEntity aVEntity = MEDEntityToVTK(aMEntity); CORBA::String_var aSupportName = aMEDSupport->getName(); @@ -923,7 +923,7 @@ VISU_MEDConvertor if(aMEDSupport->_is_nil()) continue; - SALOME_MED::MESH_var aMeshOnSupport = aMEDSupport->getMesh(); + SALOME_MED::MESH_var aMeshOnSupport = aMEDSupport->getMesh()->convertInMESH(); SALOME_MED::medEntityMesh aMEntity = aMEDSupport->getEntity(); VISU::TEntity aVEntity = MEDEntityToVTK(aMEntity); CORBA::String_var aSupportName = aMEDSupport->getName(); @@ -977,7 +977,7 @@ VISU_MEDConvertor if(aMEDSupport->_is_nil()) continue; - SALOME_MED::MESH_var aMeshOnSupport = aMEDSupport->getMesh(); + SALOME_MED::MESH_var aMeshOnSupport = aMEDSupport->getMesh()->convertInMESH(); SALOME_MED::medEntityMesh aMEntity = aMEDSupport->getEntity(); VISU::TEntity aVEntity = MEDEntityToVTK(aMEntity); CORBA::String_var aSupportName = aMEDSupport->getName(); @@ -1047,7 +1047,7 @@ VISU_MEDConvertor SALOME_MED::medEntityMesh aMEntity = aMEDSupport->getEntity(); VISU::TEntity anEntity = MEDEntityToVTK(aMEntity); - SALOME_MED::MESH_var aMEDMesh = aMEDSupport->getMesh(); + SALOME_MED::MESH_var aMEDMesh = aMEDSupport->getMesh()->convertInMESH(); if(aMEDMesh->_is_nil()) continue; @@ -1137,7 +1137,7 @@ VISU_MEDConvertor SALOME_MED::medEntityMesh aMEntity = aMEDSupport->getEntity(); VISU::TEntity aVEntity = MEDEntityToVTK(aMEntity); - SALOME_MED::MESH_var aMEDMesh = aMEDSupport->getMesh(); + SALOME_MED::MESH_var aMEDMesh = aMEDSupport->getMesh()->convertInMESH(); if(aMEDMesh->_is_nil()) continue; CORBA::String_var aMeshName = aMEDMesh->getName(); CORBA::String_var aFieldName = aMEDField->getName(); @@ -1420,14 +1420,14 @@ namespace { { SALOME::SenderInt_var aSender = - theMesh->getSenderForPolygonsConnectivity(SALOME_MED::MED_NODAL, theEntity); + theMesh->getSenderForConnectivity(SALOME_MED::MED_NODAL, theEntity, SALOME_MED::MEDMEM_POLYGON); long int aSize; int* aValuePtr = ReceiverFactory::getValue(aSender.in(), aSize); myConn.assign(aValuePtr, aValuePtr + aSize); } { SALOME::SenderInt_var aSender = - theMesh->getSenderForPolygonsConnectivityIndex(SALOME_MED::MED_NODAL, theEntity); + theMesh->getSenderForConnectivityIndex(SALOME_MED::MED_NODAL, theEntity, SALOME_MED::MEDMEM_POLYGON); long int aSize; int* aValuePtr = ReceiverFactory::getValue(aSender, aSize); myConnIndex.assign(aValuePtr, aValuePtr + aSize); @@ -1464,18 +1464,19 @@ namespace TIntArray myFaceIndex; public: - MEDPolyhedraConnectivity(SALOME_MED::MESH_var theMesh) + MEDPolyhedraConnectivity(SALOME_MED::MESH_var theMesh, + SALOME_MED::medEntityMesh theEntity) { { SALOME::SenderInt_var aSender = - theMesh->getSenderForPolyhedronConnectivity(SALOME_MED::MED_NODAL); + theMesh->getSenderForConnectivity(SALOME_MED::MED_NODAL, theEntity, SALOME_MED::MEDMEM_POLYHEDRA); long int aSize; int* aValuePtr = ReceiverFactory::getValue(aSender, aSize); myConn.assign(aValuePtr, aValuePtr + aSize); } { SALOME::SenderInt_var aSender = - theMesh->getSenderForPolyhedronIndex(SALOME_MED::MED_NODAL); + theMesh->getSenderForConnectivityIndex(SALOME_MED::MED_NODAL, theEntity, SALOME_MED::MEDMEM_POLYHEDRA); long int aSize; int* aValuePtr = ReceiverFactory::getValue(aSender, aSize); myConnIndex.assign(aValuePtr, aValuePtr + aSize); @@ -1531,7 +1532,7 @@ VISU_MEDConvertor return 0; SALOME_MED::SUPPORT_var& aMedSupport = theMeshOnEntity->mySupport; - SALOME_MED::MESH_var aMedMesh = aMedSupport->getMesh(); + SALOME_MED::MESH_var aMedMesh = aMedSupport->getMesh()->convertInMESH(); //Main part of code const VISU::TEntity& aVEntity = theMeshOnEntity->myEntity; @@ -1548,7 +1549,7 @@ VISU_MEDConvertor SALOME_MED::medGeometryElement aMGeom = anInfo->meshTypes[iGeom]; VISU::EGeometry aEGeom = MEDGeom2VISU(aMGeom); switch (aMGeom) { - case SALOME_MED::MED_POLYGON: + case SALOME_MED::MEDMEM_POLYGON: { MEDPolygonConnectivity aConn(aMedMesh, aMEntity); int aNbElem = aConn.GetNbElem(); @@ -1570,9 +1571,9 @@ VISU_MEDConvertor } } break; - case SALOME_MED::MED_POLYHEDRA: + case SALOME_MED::MEDMEM_POLYHEDRA: { - MEDPolyhedraConnectivity aConn( aMedMesh ); + MEDPolyhedraConnectivity aConn( aMedMesh, aMEntity ); int aNbElem = aConn.GetNbElem(); if (aNbElem > 0) { VISU::PSubMeshImpl aSubMesh = aGeom2SubMesh[aEGeom](new VISU::TCSubMesh()); @@ -1603,8 +1604,7 @@ VISU_MEDConvertor int aNbElem = anInfo->numberOfElements[iGeom]; if (aNbElem > 0) { SALOME_TYPES::ListOfLong_var aConn = - aMedMesh->getConnectivity(SALOME_MED::MED_FULL_INTERLACE, - SALOME_MED::MED_NODAL, + aMedMesh->getConnectivity(SALOME_MED::MED_NODAL, aMEntity, aMGeom); VISU::PSubMeshImpl aSubMesh = aGeom2SubMesh[aEGeom](new VISU::TCSubMesh()); @@ -1629,7 +1629,7 @@ VISU_MEDConvertor switch(aMGeom){ #if !(defined(VTK_QUADRATIC_EDGE) && defined(VISU_USE_VTK_QUADRATIC)) && defined(VISU_ENABLE_QUADRATIC) - case SALOME_MED::MED_SEG3: + case SALOME_MED::MEDMEM_SEG3: anArray[0] = aConnect[0]; anArray[2] = aConnect[1]; @@ -1637,7 +1637,7 @@ VISU_MEDConvertor break; #endif #if !(defined(VTK_QUADRATIC_TRIANGLE) && defined(VISU_USE_VTK_QUADRATIC)) && defined(VISU_ENABLE_QUADRATIC) - case SALOME_MED::MED_TRIA6: + case SALOME_MED::MEDMEM_TRIA6: anArray[0] = aConnect[0]; anArray[2] = aConnect[1]; anArray[4] = aConnect[2]; @@ -1648,7 +1648,7 @@ VISU_MEDConvertor break; #endif #if !(defined(VTK_QUADRATIC_QUAD) && defined(VISU_USE_VTK_QUADRATIC)) && defined(VISU_ENABLE_QUADRATIC) - case SALOME_MED::MED_QUAD8: + case SALOME_MED::MEDMEM_QUAD8: anArray[0] = aConnect[0]; anArray[2] = aConnect[1]; anArray[4] = aConnect[2]; @@ -1661,18 +1661,18 @@ VISU_MEDConvertor break; #endif #if (defined(VTK_QUADRATIC_TETRA) && defined(VISU_USE_VTK_QUADRATIC)) && defined(VISU_ENABLE_QUADRATIC) - case SALOME_MED::MED_TETRA10 : + case SALOME_MED::MEDMEM_TETRA10 : #endif - case SALOME_MED::MED_TETRA4 : + case SALOME_MED::MEDMEM_TETRA4 : anArray[0] = aConnect[0]; anArray[1] = aConnect[1]; anArray[2] = aConnect[3]; anArray[3] = aConnect[2]; break; #if (defined(VTK_QUADRATIC_PYRAMID) && defined(VISU_USE_VTK_QUADRATIC)) && defined(VISU_ENABLE_QUADRATIC) - case SALOME_MED::MED_PYRA13: + case SALOME_MED::MEDMEM_PYRA13: #endif - case SALOME_MED::MED_PYRA5 : + case SALOME_MED::MEDMEM_PYRA5 : anArray[0] = aConnect[0]; anArray[1] = aConnect[3]; anArray[2] = aConnect[2]; -- 2.39.2