X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_AddQuadraticElementDlg.cxx;h=d6fe5d426dcd5dc1d83281ee41bb11cc01ee2075;hp=97075dd5f0298e55e2329e2e05225a611acc20f7;hb=8d297d6698f361d4f2dde723050bcfbaea050920;hpb=a17b36970bc61da1d664453c615754997c925b18 diff --git a/src/SMESHGUI/SMESHGUI_AddQuadraticElementDlg.cxx b/src/SMESHGUI/SMESHGUI_AddQuadraticElementDlg.cxx index 97075dd5f..d6fe5d426 100644 --- a/src/SMESHGUI/SMESHGUI_AddQuadraticElementDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_AddQuadraticElementDlg.cxx @@ -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; @@ -537,67 +540,73 @@ void SMESHGUI_AddQuadraticElementDlg::Init() myNbMidFaceNodes = 0; myNbCenterNodes = 0; - int aNumRows; + int aNumRows = 0; switch (myGeomType) { 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:; } @@ -686,7 +695,7 @@ bool SMESHGUI_AddQuadraticElementDlg::ClickOnApply() if( !isValid() ) return false; - if ( mySMESHGUI->isActiveStudyLocked() || myBusy || !IsValid() ) + if ( SMESHGUI::isStudyLocked() || myBusy || !IsValid() ) return false; BusyLocker lock( myBusy ); @@ -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++ ) @@ -768,7 +778,7 @@ bool SMESHGUI_AddQuadraticElementDlg::ClickOnApply() } } - SMESH::ElementType anElementType; + SMESH::ElementType anElementType = SMESH::ALL; long anElemId = -1, nbElemsBefore = 0; SMESH::SMESH_MeshEditor_var aMeshEditor = myMesh->GetMeshEditor(); switch (myGeomType) { @@ -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(); @@ -1055,7 +1066,7 @@ void SMESHGUI_AddQuadraticElementDlg::SelectionIntoArgument() // process groups if ( !myMesh->_is_nil() && myEntry != aCurrentEntry ) { - SMESH::ElementType anElementType; + SMESH::ElementType anElementType = SMESH::ALL; switch ( myGeomType ) { case SMDSEntity_Quad_Edge: anElementType = SMESH::EDGE; break; @@ -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; @@ -1371,8 +1383,8 @@ void SMESHGUI_AddQuadraticElementDlg::UpdateTable( bool theConersValidity ) for ( int row = 0; row < myTable->rowCount(); row++ ) myTable->item( row, 1 )->setText(""); - int* aFirstColIds; - int* aLastColIds; + int* aFirstColIds = 0; + int* aLastColIds = 0; switch (myGeomType) { case SMDSEntity_Quad_Edge: @@ -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;