]> SALOME platform Git repositories - modules/visu.git/commitdiff
Salome HOME
Fix for Bug GVIEW10709
authorapo <apo@opencascade.com>
Mon, 5 Dec 2005 15:06:04 +0000 (15:06 +0000)
committerapo <apo@opencascade.com>
Mon, 5 Dec 2005 15:06:04 +0000 (15:06 +0000)
   wrong presentation of quadratic mesh elements

src/CONVERTOR/VISU_MedConvertor.cxx

index 5616c086f12a35f4fe767fc0b33ce1d6e94d37ca..d0c198c507a887829e57b99e778208ed154945b5 100644 (file)
@@ -1594,7 +1594,7 @@ VISU_MedConvertor
     for(; aGeom2SizeIter != aGeom2Size.end(); aGeom2SizeIter++){
       const MED::EGeometrieElement& aMGeom = aGeom2SizeIter->first;
       VISU::EGeometry aEGeom = MEDGeom2VISU(aMGeom);
-      INITMSG(MYDEBUG,"aMGeom = "<<aMGeom<<"\n");
+      INITMSG(MYDEBUG,"aMGeom = "<<aMGeom<<"; aEGeom = "<<aEGeom<<"\n");
       switch(aMGeom){
       case MED::ePOLYGONE: {
        MED::PPolygoneInfo aPolygoneInfo = theMed->GetPPolygoneInfo(aMeshInfo,aMEntity,aMGeom);
@@ -1662,6 +1662,7 @@ VISU_MedConvertor
       }
       default: {
        vtkIdType aVNbNodes = VISUGeom2NbNodes(aEGeom);
+       INITMSG(MYDEBUG,"aVNbNodes = "<<aVNbNodes<<"\n");
        
        MED::PCellInfo aCellInfo = theMed->GetPCellInfo(aMeshInfo,aMEntity,aMGeom);
        TInt aNbElem = aCellInfo->GetNbElem();
@@ -1729,15 +1730,44 @@ VISU_MedConvertor
 #endif
 #if (defined(VTK_QUADRATIC_TETRA) && defined(VISU_USE_VTK_QUADRATIC)) && defined(VISU_ENABLE_QUADRATIC)
            case MED::eTETRA10:
+             anArray[0] = aConnect[0];
+             anArray[1] = aConnect[2];
+             anArray[2] = aConnect[1];  
+             anArray[3] = aConnect[3];  
+
+             anArray[4] = aConnect[6];
+             anArray[5] = aConnect[5];
+             anArray[6] = aConnect[4];  
+
+             anArray[7] = aConnect[7];  
+             anArray[8] = aConnect[9];  
+             anArray[9] = aConnect[8];  
+             break;
 #endif
            case MED::eTETRA4:
              anArray[0] = aConnect[0];
-             anArray[1] = aConnect[1];
-             anArray[2] = aConnect[3];  
-             anArray[3] = aConnect[2];  
+             anArray[1] = aConnect[2];
+             anArray[2] = aConnect[1];  
+             anArray[3] = aConnect[3];  
              break;
 #if (defined(VTK_QUADRATIC_PYRAMID) && defined(VISU_USE_VTK_QUADRATIC)) && defined(VISU_ENABLE_QUADRATIC)
            case MED::ePYRA13:
+             anArray[0] = aConnect[0];
+             anArray[1] = aConnect[3];
+             anArray[2] = aConnect[2];  
+             anArray[3] = aConnect[1];  
+             anArray[4] = aConnect[4];
+
+             anArray[5] = aConnect[5];
+             anArray[6] = aConnect[8];  
+             anArray[7] = aConnect[7];  
+             anArray[8] = aConnect[6];  
+
+             anArray[9] = aConnect[9];  
+             anArray[10] = aConnect[12];  
+             anArray[11] = aConnect[11];  
+             anArray[12] = aConnect[10];  
+             break;
 #endif
            case MED::ePYRA5:
              anArray[0] = aConnect[0];