Salome HOME
#19765 EDF 21730 - long time to load med file file with huge amount of groups
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_AddQuadraticElementDlg.cxx
index d23b066288f8f4dc0a544483baa14a54a0dd881b..5a51a1a635714f0316db0a1b025f66c12dc46628 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2020  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
@@ -380,6 +380,9 @@ SMESHGUI_AddQuadraticElementDlg::SMESHGUI_AddQuadraticElementDlg( SMESHGUI* theM
   case SMDSEntity_Quad_Penta:
     anElementName = QString("QUADRATIC_PENTAHEDRON");
     break;
+  case SMDSEntity_BiQuad_Penta:
+    anElementName = QString("BIQUADRATIC_PENTAHEDRON");
+    break;
   case SMDSEntity_Quad_Hexa:
     anElementName = QString("QUADRATIC_HEXAHEDRON");
     break;
@@ -543,61 +546,67 @@ void SMESHGUI_AddQuadraticElementDlg::Init()
   case SMDSEntity_Quad_Edge:
     aNumRows = 1;
     myNbCorners = 2;
-    myHelpFileName = "adding_quadratic_elements_page.html#?"; //Adding_edges
+    myHelpFileName = "adding_quadratic_elements.html#?"; //Adding_edges
     break;
   case SMDSEntity_Quad_Triangle:
     aNumRows = 3;
     myNbCorners = 3;
-    myHelpFileName = "adding_quadratic_elements_page.html#?"; //Adding_triangles
+    myHelpFileName = "adding_quadratic_elements.html#?"; //Adding_triangles
     break;
   case SMDSEntity_BiQuad_Triangle:
     aNumRows = 3;
     myNbCorners = 3;
     myNbCenterNodes = 1;
-    myHelpFileName = "adding_quadratic_elements_page.html#?"; //Adding_triangles
+    myHelpFileName = "adding_quadratic_elements.html#?"; //Adding_triangles
     break;
   case SMDSEntity_Quad_Quadrangle:
     aNumRows = 4;
     myNbCorners = 4;
-    myHelpFileName = "adding_quadratic_elements_page.html#?"; //Adding_quadrangles
+    myHelpFileName = "adding_quadratic_elements.html#?"; //Adding_quadrangles
     break;
   case SMDSEntity_BiQuad_Quadrangle:
     aNumRows = 4;
     myNbCorners = 4;
     myNbCenterNodes = 1;
-    myHelpFileName = "adding_quadratic_elements_page.html#?"; //Adding_quadrangles
+    myHelpFileName = "adding_quadratic_elements.html#?"; //Adding_quadrangles
     break;
   case SMDSEntity_Quad_Polygon:
     aNumRows = 5;
     myNbCorners = 0; // no limit
-    myHelpFileName = "adding_quadratic_elements_page.html#?"; //Adding_polygons
+    myHelpFileName = "adding_quadratic_elements.html#?"; //Adding_polygons
     break;
   case SMDSEntity_Quad_Tetra:
     aNumRows = 6;
     myNbCorners = 4;
-    myHelpFileName = "adding_quadratic_elements_page.html#?"; //Adding_tetrahedrons
+    myHelpFileName = "adding_quadratic_elements.html#?"; //Adding_tetrahedrons
     break;
   case SMDSEntity_Quad_Pyramid:
     aNumRows = 8;
     myNbCorners = 5;
-    myHelpFileName = "adding_quadratic_elements_page.html#?"; //Adding_pyramids
+    myHelpFileName = "adding_quadratic_elements.html#?"; //Adding_pyramids
     break;
   case SMDSEntity_Quad_Penta:
     aNumRows = 9;
     myNbCorners = 6;
-    myHelpFileName = "adding_quadratic_elements_page.html#?"; //Adding_pentahedrons
+    myHelpFileName = "adding_quadratic_elements.html#?"; //Adding_pentahedrons
+    break;
+  case SMDSEntity_BiQuad_Penta:
+    aNumRows = 9;
+    myNbCorners = 6;
+    myNbMidFaceNodes = 3;
+    myHelpFileName = "adding_quadratic_elements.html#?"; //Adding_pentahedrons
     break;
   case SMDSEntity_Quad_Hexa:
     aNumRows = 12;
     myNbCorners = 8;
-    myHelpFileName = "adding_quadratic_elements_page.html#?"; //Adding_hexahedrons
+    myHelpFileName = "adding_quadratic_elements.html#?"; //Adding_hexahedrons
     break;
   case SMDSEntity_TriQuad_Hexa:
     aNumRows = 12;
     myNbCorners = 8;
     myNbMidFaceNodes = 6;
     myNbCenterNodes = 1;
-    myHelpFileName = "adding_quadratic_elements_page.html#?"; //Adding_hexahedrons
+    myHelpFileName = "adding_quadratic_elements.html#?"; //Adding_hexahedrons
     break;
   default:;
   }
@@ -707,6 +716,7 @@ bool SMESHGUI_AddQuadraticElementDlg::ClickOnApply()
   case SMDSEntity_Quad_Tetra:
   case SMDSEntity_Quad_Pyramid:
   case SMDSEntity_Quad_Penta:
+  case SMDSEntity_BiQuad_Penta:
   case SMDSEntity_Quad_Hexa:
   case SMDSEntity_TriQuad_Hexa:
     for ( int row = 0; row < myNbCorners; row++ )
@@ -790,6 +800,7 @@ bool SMESHGUI_AddQuadraticElementDlg::ClickOnApply()
   case SMDSEntity_Quad_Tetra:
   case SMDSEntity_Quad_Pyramid:
   case SMDSEntity_Quad_Penta:
+  case SMDSEntity_BiQuad_Penta:
   case SMDSEntity_Quad_Hexa:
   case SMDSEntity_TriQuad_Hexa:
     anElementType = SMESH::VOLUME;
@@ -966,7 +977,7 @@ void SMESHGUI_AddQuadraticElementDlg::onTextChange (const QString& theNewText)
 
   mySimulation->SetVisibility(false);
 
-  // hilight entered nodes
+  // highlight entered nodes
   SMDS_Mesh* aMesh = 0;
   if (myActor)
     aMesh = myActor->GetObject()->GetMesh();
@@ -1068,6 +1079,7 @@ void SMESHGUI_AddQuadraticElementDlg::SelectionIntoArgument()
     case SMDSEntity_Quad_Tetra:
     case SMDSEntity_Quad_Pyramid:
     case SMDSEntity_Quad_Penta:
+    case SMDSEntity_BiQuad_Penta:
     case SMDSEntity_Quad_Hexa:
     case SMDSEntity_TriQuad_Hexa:
       anElementType = SMESH::VOLUME; break;
@@ -1402,6 +1414,7 @@ void SMESHGUI_AddQuadraticElementDlg::UpdateTable( bool theConersValidity )
       aLastColIds  = LastPyramidIds;
       break;
     case SMDSEntity_Quad_Penta:
+    case SMDSEntity_BiQuad_Penta:
       aFirstColIds = FirstPentahedronIds;
       aLastColIds  = LastPentahedronIds;
       break;