From 9ab3722c1b5f134261069e4a7fefe6b9c10820a9 Mon Sep 17 00:00:00 2001 From: eap Date: Wed, 19 Mar 2014 18:29:49 +0400 Subject: [PATCH] 22487: EDF 2778 SMESH: Add a GUI for the flat elements generation --- doc/salome/gui/SMESH/images/duplicate01.png | Bin 22595 -> 23304 bytes doc/salome/gui/SMESH/images/duplicate02.png | Bin 27535 -> 28256 bytes doc/salome/gui/SMESH/images/duplicate03.png | Bin 19791 -> 20681 bytes doc/salome/gui/SMESH/images/duplicate04.png | Bin 0 -> 20850 bytes .../gui/SMESH/input/double_nodes_page.doc | 42 +++++++- idl/SMESH_MeshEditor.idl | 5 +- resources/CMakeLists.txt | 1 + resources/mesh_duplicate_group_boundary.png | Bin 0 -> 701 bytes src/SMESH/SMESH_MeshEditor.cxx | 71 ++++++++----- src/SMESH/SMESH_MeshEditor.hxx | 3 +- src/SMESHGUI/SMESHGUI_DuplicateNodesDlg.cxx | 99 ++++++++++++++---- src/SMESHGUI/SMESHGUI_DuplicateNodesDlg.h | 6 +- src/SMESHGUI/SMESH_images.ts | 6 +- src/SMESHGUI/SMESH_msg_en.ts | 16 +++ src/SMESH_I/SMESH_MeshEditor_i.cxx | 31 +++--- src/SMESH_I/SMESH_MeshEditor_i.hxx | 11 +- src/SMESH_SWIG/smeshBuilder.py | 6 +- 17 files changed, 218 insertions(+), 79 deletions(-) create mode 100644 doc/salome/gui/SMESH/images/duplicate04.png create mode 100644 resources/mesh_duplicate_group_boundary.png diff --git a/doc/salome/gui/SMESH/images/duplicate01.png b/doc/salome/gui/SMESH/images/duplicate01.png index 02938fa41019a144ee84a1c6cf1a3b6b59691360..f7acf902545a20eed3ce03fd5f5d6e7a04206dff 100644 GIT binary patch literal 23304 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 f^e)U0<=Wc5KmCMIba!`mFF-&*y1R3|gZsYs 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

=>mv^Pi;W3aV^Hsg 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 IqwT}~13KVBh5!Hn diff --git a/doc/salome/gui/SMESH/images/duplicate02.png b/doc/salome/gui/SMESH/images/duplicate02.png index 9653a3ea08806a2adc752317825b8e5da455c3f9..4bca6447695291b0f9c8d8b4b99ab36ece5680f0 100644 GIT binary patch literal 28256 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%0Do(%_;r^2J*dlB;*Yiu!_HH_<G5I^ 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 diff --git a/doc/salome/gui/SMESH/images/duplicate03.png b/doc/salome/gui/SMESH/images/duplicate03.png index 72b2a7a80aea842007b8b8495e48d56d41f25acb..00c8c871f0b8e85527aa139f727d63a3435412bd 100644 GIT binary patch literal 20681 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 literal 19791 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 I&MBb@01e5Mod5s; diff --git a/doc/salome/gui/SMESH/images/duplicate04.png b/doc/salome/gui/SMESH/images/duplicate04.png new file mode 100644 index 0000000000000000000000000000000000000000..70cb4adfba7946199525fd6dc653770f74bdaefa GIT binary patch literal 20850 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 SSb`UBa9uD(ovk+Ui2ETo duplicate nodes or/and elements:
    @@ -14,7 +14,7 @@ Duplication consists in creation of mesh element "equal" to existing ones.
    \image html duplicate_nodes.png "Duplicate Nodes or/and Elements button" -
  1. Check in the dialog box one of three radio buttons corresponding to +
  2. Check in the dialog box one of four radio buttons corresponding to the type of duplication operation you would like to perform.
  3. Fill the other fields available in the dialog box (depending on the chosen operation mode).
  4. @@ -22,11 +22,12 @@ Duplication consists in creation of mesh element "equal" to existing ones. operation of duplication.
-\n "Duplicate Nodes or/and Elements" dialog has three working modes: +\n "Duplicate Nodes or/and Elements" dialog has four working modes:
  • \ref mode_without_elem_anchor "Duplicate nodes only"
  • \ref mode_with_elem_anchor "Duplicate nodes and border elements"
  • \ref mode_elem_only_anchor "Duplicate elements only"
  • +
  • \ref mode_group_boundary_anchor "Duplicate nodes on group boundaries"

@@ -103,12 +104,11 @@ located at the "crack" (if any) are cloned automatically.

Duplicate elements only

This mode duplicates the given elements, i.e. creates new elements with the same nodes as the given elements. -
- \image html duplicate03.png +Parameters to be defined in this mode:
  • Group of elements to duplicate (mandatory): these elements will be duplicated.
  • @@ -118,6 +118,38 @@ This mode duplicates the given elements, i.e. creates new elements with the same "DoubleElements".
+
+\anchor mode_group_boundary_anchor +

Duplicate nodes on group boundaries

+ +This mode duplicates nodes located on boundaries between given groups of +volumes. If required, flat elements are created on the duplicated +nodes: a triangular facet shared by two volumes of two groups generates +a flat prism, a quadrangular facet generates a flat hexahedron. +
+The created flat volumes are stored in groups. These groups are named +according to the position of the group in the list of groups: group +"j_n_p" is a group of flat elements that are built between the group \#n +and the group \#p in the group list. All the flat elements are gathered +into the group named "joints3D". The flat element of the multiple +junctions between the simple junction are stored in a group named +"jointsMultiples". + +
+ +\image html duplicate04.png + +Parameters to be defined in this mode: +
    +
  • Groups of volumes (mandatory): list of volume + groups. These groups should be disjoint, i.e. should not share volumes.
  • +
  • Create joint elements : if checked - the flat elements are created.
  • +
  • On all boundaries : if checked - then the volumes not + included into the Groups of volumes are considered as another given + group. And thus nodes on boundary between Groups of volumes and the + rest mesh are also duplicated.
  • +
+
See Also a sample TUI Script of a \ref tui_duplicate_nodes "Duplicate nodes or/and elements" operation. diff --git a/idl/SMESH_MeshEditor.idl b/idl/SMESH_MeshEditor.idl index f52be7d13..397efff44 100644 --- a/idl/SMESH_MeshEditor.idl +++ b/idl/SMESH_MeshEditor.idl @@ -1275,10 +1275,13 @@ module SMESH * Triangles are transformed in prisms, and quadrangles in hexahedrons. * \param theDomains - list of groups of volumes * \param createJointElems - if TRUE, create the elements + * \param onAllBoundaries - if TRUE, the nodes and elements are also created on + * the boundary between \a theDomains and the rest mesh * \return TRUE if operation has been completed successfully, FALSE otherwise */ boolean DoubleNodesOnGroupBoundaries( in ListOfGroups theDomains, - in boolean createJointElems ) + in boolean createJointElems, + in boolean onAllBoundaries) raises (SALOME::SALOME_Exception); /*! diff --git a/resources/CMakeLists.txt b/resources/CMakeLists.txt index fc5611aa8..aeb0faf2e 100755 --- a/resources/CMakeLists.txt +++ b/resources/CMakeLists.txt @@ -197,6 +197,7 @@ SET(SMESH_RESOURCES_FILES mesh_duplicate_nodes.png mesh_duplicate_nodes_with_elem.png mesh_duplicate_elem_only.png + mesh_duplicate_group_boundary.png mesh_bounding_box.png mesh_hypo_viscous_layers.png mesh_tree_hypo_viscous_layers.png diff --git a/resources/mesh_duplicate_group_boundary.png b/resources/mesh_duplicate_group_boundary.png new file mode 100644 index 0000000000000000000000000000000000000000..0de9a344ac2d69a93376833f7c0bd43b7bd16347 GIT binary patch literal 701 zcmV;u0z&Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i^k{ z3=9=1o(J6k00KQpL_t(I%e9ojOB7KY$3LTEyYG$eBpweL~O z0?{DwwjF~0h$td&cB!DlHgpoY1s(+@v4cy3bP;Un&>}js>E`}A%`G19cWo5g z4a#~-;lC{YU1RUj)f)IyspRPB9fU~BQv)KAPeq&@n6RR z-VI7ACB7wo577 zE~b0i3Eun&KAti;^XWSx!hs>=P6~Xfto*sx1Xh6aVcW7?7!H)R)&k)BK1!*koAF`g z8>3@(8ptgzZWo8sjZ8Hgb$^Fp;1#e56hdkXxB)0&5_ng67RD}^z%H->^a001Y)Zfh j;3janGT#I`LfF+GNs?E2J+Pe(00000NkvXXu0mjf?#eX@ literal 0 HcmV?d00001 diff --git a/src/SMESH/SMESH_MeshEditor.cxx b/src/SMESH/SMESH_MeshEditor.cxx index 350fcd60f..931caa434 100644 --- a/src/SMESH/SMESH_MeshEditor.cxx +++ b/src/SMESH/SMESH_MeshEditor.cxx @@ -10563,7 +10563,12 @@ double SMESH_MeshEditor::OrientedAngle(const gp_Pnt& p0, const gp_Pnt& p1, const gp_Vec v2(p0, g2); gp_Vec n1 = vref.Crossed(v1); gp_Vec n2 = vref.Crossed(v2); - return n2.AngleWithRef(n1, vref); + try { + return n2.AngleWithRef(n1, vref); + } + catch ( Standard_Failure ) { + } + return Max( v1.Magnitude(), v2.Magnitude() ); } /*! @@ -10576,13 +10581,16 @@ double SMESH_MeshEditor::OrientedAngle(const gp_Pnt& p0, const gp_Pnt& p1, const * If there is no shared faces between the group #n and the group #p in the list, the group j_n_p is not created. * All the flat elements are gathered into the group named "joints3D" (or "joints2D" in 2D situation). * The flat element of the multiple junctions between the simple junction are stored in a group named "jointsMultiples". - * @param theElems - list of groups of volumes, where a group of volume is a set of - * SMDS_MeshElements sorted by Id. - * @param createJointElems - if TRUE, create the elements - * @return TRUE if operation has been completed successfully, FALSE otherwise + * \param theElems - list of groups of volumes, where a group of volume is a set of + * SMDS_MeshElements sorted by Id. + * \param createJointElems - if TRUE, create the elements + * \param onAllBoundaries - if TRUE, the nodes and elements are also created on + * the boundary between \a theDomains and the rest mesh + * \return TRUE if operation has been completed successfully, FALSE otherwise */ bool SMESH_MeshEditor::DoubleNodesOnGroupBoundaries( const std::vector& theElems, - bool createJointElems) + bool createJointElems, + bool onAllBoundaries) { MESSAGE("----------------------------------------------"); MESSAGE("SMESH_MeshEditor::doubleNodesOnGroupBoundaries"); @@ -10611,15 +10619,20 @@ bool SMESH_MeshEditor::DoubleNodesOnGroupBoundaries( const std::vector volume to modify) @@ -10648,7 +10661,7 @@ bool SMESH_MeshEditor::DoubleNodesOnGroupBoundaries( const std::vectorgetVtkId(); @@ -10661,26 +10674,30 @@ bool SMESH_MeshEditor::DoubleNodesOnGroupBoundaries( const std::vectorfromVtkToSmds(neighborsVtkIds[n]); const SMDS_MeshElement* elem = meshDS->FindElement(smdsId); - if (! domain.count(elem)) // neighbor is in another domain : face is shared + if (elem && ! domain.count(elem)) // neighbor is in another domain : face is shared { bool ok = false ; - for (int idombis = 0; idombis < theElems.size(); idombis++) // check if the neighbor belongs to another domain of the list + for (int idombis = 0; idombis < theElems.size() && !ok; idombis++) // check if the neighbor belongs to another domain of the list { // MESSAGE("Domain " << idombis); const TIDSortedElemSet& domainbis = theElems[idombis]; if ( domainbis.count(elem)) ok = true ; // neighbor is in a correct domain : face is kept } - if ( ok ) // the characteristics of the face is stored + if ( ok || onAllBoundaries ) // the characteristics of the face is stored { DownIdType face(downIds[n], downTypes[n]); - if (!faceDomains.count(face)) - faceDomains[face] = emptyMap; // create an empty entry for face if (!faceDomains[face].count(idom)) { faceDomains[face][idom] = vtkId; // volume associated to face in this domain celldom[vtkId] = idom; //MESSAGE(" cell with a border " << vtkId << " domain " << idom); } + if ( !ok ) + { + theRestDomElems.insert( elem ); + faceDomains[face][iRestDom] = neighborsVtkIds[n]; + celldom[neighborsVtkIds[n]] = iRestDom; + } } } } @@ -10694,14 +10711,14 @@ bool SMESH_MeshEditor::DoubleNodesOnGroupBoundaries( const std::vector domvol = itface->second; + const std::map& domvol = itface->second; if (!domvol.count(idomain)) continue; DownIdType face = itface->first; @@ -10730,8 +10747,6 @@ bool SMESH_MeshEditor::DoubleNodesOnGroupBoundaries( const std::vector > mutipleNodesToFace; // nodes multi domains with domain order to transform in Face (junction between 3 or more 2D domains) MESSAGE(".. Duplication of the nodes"); - for (int idomain = 0; idomain < theElems.size(); idomain++) + for (int idomain = idom0; idomain < nbDomains; idomain++) { itface = faceDomains.begin(); for (; itface != faceDomains.end(); ++itface) { - std::map domvol = itface->second; + const std::map& domvol = itface->second; if (!domvol.count(idomain)) continue; DownIdType face = itface->first; @@ -10770,15 +10785,12 @@ bool SMESH_MeshEditor::DoubleNodesOnGroupBoundaries( const std::vector::iterator itdom = domvol.begin(); + std::map::const_iterator itdom = domvol.begin(); for (; itdom != domvol.end(); ++itdom) { int idom = itdom->first; @@ -10816,7 +10828,7 @@ bool SMESH_MeshEditor::DoubleNodesOnGroupBoundaries( const std::vectorfromVtkToSmds(vtkVolIds[ivol]); SMDS_MeshElement* elem = (SMDS_MeshElement*)meshDS->FindElement(smdsId); - if (theElems[idom].count(elem)) + if (domain.count(elem)) { SMDS_VtkVolume* svol = dynamic_cast(elem); domvol[idom] = svol; @@ -11070,7 +11083,7 @@ bool SMESH_MeshEditor::DoubleNodesOnGroupBoundaries( const std::vector >::const_iterator itnod = nodeDomains.begin(); for (; itnod != nodeDomains.end(); ++itnod) diff --git a/src/SMESH/SMESH_MeshEditor.hxx b/src/SMESH/SMESH_MeshEditor.hxx index 84cd288c2..865a395c9 100644 --- a/src/SMESH/SMESH_MeshEditor.hxx +++ b/src/SMESH/SMESH_MeshEditor.hxx @@ -553,7 +553,8 @@ public: double OrientedAngle(const gp_Pnt& p0, const gp_Pnt& p1, const gp_Pnt& g1, const gp_Pnt& g2); bool DoubleNodesOnGroupBoundaries( const std::vector& theElems, - bool createJointElems); + bool createJointElems, + bool onAllBoundaries); bool CreateFlatElementsOnFacesGroups( const std::vector& theElems ); diff --git a/src/SMESHGUI/SMESHGUI_DuplicateNodesDlg.cxx b/src/SMESHGUI/SMESHGUI_DuplicateNodesDlg.cxx index 407984de7..924ad3589 100644 --- a/src/SMESHGUI/SMESHGUI_DuplicateNodesDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_DuplicateNodesDlg.cxx @@ -110,6 +110,7 @@ SMESHGUI_DuplicateNodesDlg::SMESHGUI_DuplicateNodesDlg( SMESHGUI* theModule ) QPixmap iconWithoutElem (aResMgr->loadPixmap("SMESH", tr("ICON_SMESH_DUPLICATE_NODES"))); QPixmap iconWithElem (aResMgr->loadPixmap("SMESH", tr("ICON_SMESH_DUPLICATE_NODES_WITH_ELEM"))); QPixmap iconElemOnly (aResMgr->loadPixmap("SMESH", tr("ICON_SMESH_DUPLICATE_ELEM_ONLY"))); + QPixmap iconGrpBoundary (aResMgr->loadPixmap("SMESH", tr("ICON_SMESH_DUPLICATE_GROUP_BOUNDARY"))); QPixmap iconSelect (aResMgr->loadPixmap("SMESH", tr("ICON_SELECT"))); // Main layout @@ -130,13 +131,17 @@ SMESHGUI_DuplicateNodesDlg::SMESHGUI_DuplicateNodesDlg( SMESHGUI* theModule ) aRadioButton2->setIcon(iconWithElem); QRadioButton* aRadioButton3 = new QRadioButton(aConstructorsBox); aRadioButton3->setIcon(iconElemOnly); + QRadioButton* aRadioButton4 = new QRadioButton(aConstructorsBox); + aRadioButton4->setIcon(iconGrpBoundary); aConstructorsBoxLayout->addWidget(aRadioButton1); aConstructorsBoxLayout->addWidget(aRadioButton2); aConstructorsBoxLayout->addWidget(aRadioButton3); + aConstructorsBoxLayout->addWidget(aRadioButton4); myGroupConstructors->addButton(aRadioButton1, 0); myGroupConstructors->addButton(aRadioButton2, 1); myGroupConstructors->addButton(aRadioButton3, 2); + myGroupConstructors->addButton(aRadioButton4, 3); // Arguments myGroupArguments = new QGroupBox(this); @@ -162,8 +167,8 @@ SMESHGUI_DuplicateNodesDlg::SMESHGUI_DuplicateNodesDlg( SMESHGUI* theModule ) myLineEdit3 = new QLineEdit(myGroupArguments); myLineEdit3->setReadOnly(true); - myCheckBoxNewElemGroup = new QCheckBox(tr("CONSTRUCT_NEW_GROUP_ELEMENTS"), myGroupArguments); - myCheckBoxNewNodeGroup = new QCheckBox(tr("CONSTRUCT_NEW_GROUP_NODES"), myGroupArguments); + myCheckBox1 = new QCheckBox(tr("CONSTRUCT_NEW_GROUP_ELEMENTS"), myGroupArguments); + myCheckBox2 = new QCheckBox(tr("CONSTRUCT_NEW_GROUP_NODES"), myGroupArguments); aGroupArgumentsLayout->addWidget(myTextLabel1, 0, 0); aGroupArgumentsLayout->addWidget(mySelectButton1, 0, 1); @@ -174,8 +179,8 @@ SMESHGUI_DuplicateNodesDlg::SMESHGUI_DuplicateNodesDlg( SMESHGUI* theModule ) aGroupArgumentsLayout->addWidget(myTextLabel3, 2, 0); aGroupArgumentsLayout->addWidget(mySelectButton3, 2, 1); aGroupArgumentsLayout->addWidget(myLineEdit3, 2, 2); - aGroupArgumentsLayout->addWidget(myCheckBoxNewElemGroup, 3, 0); - aGroupArgumentsLayout->addWidget(myCheckBoxNewNodeGroup, 4, 0); + aGroupArgumentsLayout->addWidget(myCheckBox1, 3, 0); + aGroupArgumentsLayout->addWidget(myCheckBox2, 4, 0); aGroupArgumentsLayout->setRowStretch(5, 1); // Buttons @@ -207,8 +212,8 @@ SMESHGUI_DuplicateNodesDlg::SMESHGUI_DuplicateNodesDlg( SMESHGUI* theModule ) aMainLayout->addWidget(myGroupArguments); aMainLayout->addWidget(aGroupButtons); - myCheckBoxNewElemGroup->setChecked(true); - myCheckBoxNewNodeGroup->setChecked(true); + myCheckBox1->setChecked(true); + myCheckBox2->setChecked(true); // Initialize the dialog Init(); @@ -223,6 +228,8 @@ SMESHGUI_DuplicateNodesDlg::SMESHGUI_DuplicateNodesDlg( SMESHGUI* theModule ) connect(mySelectButton2, SIGNAL (clicked()), this, SLOT(onEditCurrentArgument())); connect(mySelectButton3, SIGNAL (clicked()), this, SLOT(onEditCurrentArgument())); + connect(myCheckBox2, SIGNAL(stateChanged(int)), SLOT(updateButtons())); + connect(myButtonOk, SIGNAL(clicked()), this, SLOT(onOk())); connect(myButtonClose, SIGNAL(clicked()), this, SLOT(reject())); connect(myButtonApply, SIGNAL(clicked()), this, SLOT(onApply())); @@ -298,8 +305,9 @@ void SMESHGUI_DuplicateNodesDlg::onConstructorsClicked (int constructorId) myTextLabel1->setText(tr("GROUP_NODES_TO_DUPLICATE")); myTextLabel2->setText(tr("GROUP_NODES_TO_REPLACE")); - myCheckBoxNewElemGroup->hide(); - myCheckBoxNewNodeGroup->show(); + myCheckBox1->hide(); + myCheckBox2->show(); + myCheckBox2->setText( tr("CONSTRUCT_NEW_GROUP_NODES")); // Hide the third field myTextLabel2->show(); @@ -319,8 +327,10 @@ void SMESHGUI_DuplicateNodesDlg::onConstructorsClicked (int constructorId) myTextLabel2->setText(tr("GROUP_NODES_NOT_DUPLICATE")); myTextLabel3->setText(tr("GROUP_ELEMS_TO_REPLACE")); - myCheckBoxNewElemGroup->show(); - myCheckBoxNewNodeGroup->show(); + myCheckBox1->show(); + myCheckBox2->show(); + myCheckBox1->setText( tr("CONSTRUCT_NEW_GROUP_ELEMENTS")); + myCheckBox2->setText( tr("CONSTRUCT_NEW_GROUP_NODES")); // Show the third field myTextLabel2->show(); @@ -338,8 +348,30 @@ void SMESHGUI_DuplicateNodesDlg::onConstructorsClicked (int constructorId) myGroupArguments->setTitle(tr("DUPLICATION_ONLY_ELEMS")); myTextLabel1->setText(tr("GROUP_ELEMS_TO_DUPLICATE")); - myCheckBoxNewElemGroup->show(); - myCheckBoxNewNodeGroup->hide(); + myCheckBox1->show(); + myCheckBox1->setText( tr("CONSTRUCT_NEW_GROUP_ELEMENTS")); + myCheckBox2->hide(); + + // Hide the second and the third field + myTextLabel2->hide(); + mySelectButton2->hide(); + myLineEdit2->hide(); + myTextLabel3->hide(); + mySelectButton3->hide(); + myLineEdit3->hide(); + + break; + } + case 3: + { + // Set text to the group of arguments and to all the labels + myGroupArguments->setTitle(tr("DUPLICATION_GROUP_BOUNDARY")); + myTextLabel1->setText(tr("GROUP_VOLUME_GROUPS")); + + myCheckBox1->show(); + myCheckBox2->show(); + myCheckBox1->setText( tr("CREATE_JOINT_ELEMENTS")); + myCheckBox2->setText( tr("ON_ALL_BOUNDARIES")); // Hide the second and the third field myTextLabel2->hide(); @@ -367,8 +399,8 @@ bool SMESHGUI_DuplicateNodesDlg::onApply() BusyLocker lock( myBusy ); - bool toCreateElemGroup = myCheckBoxNewElemGroup->isChecked(); - bool toCreateNodeGroup = myCheckBoxNewNodeGroup->isChecked(); + bool toCreateElemGroup = myCheckBox1->isChecked(); + bool toCreateNodeGroup = myCheckBox2->isChecked(); int operationMode = myGroupConstructors->checkedId(); // Apply changes @@ -451,14 +483,28 @@ bool SMESHGUI_DuplicateNodesDlg::onApply() } break; } + case 3: + { + bool createJointElems = myCheckBox1->isChecked(); + bool onAllBoundaries = myCheckBox2->isChecked(); + + SMESH::ListOfGroups_var g1 = new SMESH::ListOfGroups(); + g1->length( myGroups1.count() ); + for ( int i = 0; i < myGroups1.count(); i++ ) + g1[i] = myGroups1[i]; + + result = aMeshEditor->DoubleNodesOnGroupBoundaries( g1.in(), createJointElems, onAllBoundaries ); + + break; } + } // switch( operationMode ) } catch (const SALOME::SALOME_Exception& S_ex) { SalomeApp_Tools::QtCatchCorbaException(S_ex); } catch ( const std::exception& exc ) { INFOS( "Follow exception was cought:\n\t" << exc.what() ); - } + } catch (...) { INFOS( "Unknown exception was cought !!!" ); } @@ -553,6 +599,9 @@ void SMESHGUI_DuplicateNodesDlg::onSelectionChanged() case 2: ok = ( aGroupType != SMESH::NODE ); break; + case 3: + ok = ( aGroupType == SMESH::VOLUME ); + break; } } if ( ok ) aGroups << aGroup; @@ -575,8 +624,15 @@ void SMESHGUI_DuplicateNodesDlg::onSelectionChanged() else if ( myCurrentLineEdit == myLineEdit3 ) myGroups3.clear(); myCurrentLineEdit->clear(); } - // Enable/disable "Apply and Close" and "Apply" buttons + updateButtons(); +} + +/*! + * \brief Enable/disable "Apply and Close" and "Apply" buttons + */ +void SMESHGUI_DuplicateNodesDlg::updateButtons() +{ bool isDataValid = isValid(); myButtonOk->setEnabled( isDataValid ); myButtonApply->setEnabled( isDataValid ); @@ -610,12 +666,15 @@ void SMESHGUI_DuplicateNodesDlg::onEditCurrentArgument() */ bool SMESHGUI_DuplicateNodesDlg::isValid() { - return myGroupConstructors->checkedId() == 1 ? - ( !myGroups1.isEmpty() && !myGroups3.isEmpty() ) : - ( !myGroups1.isEmpty() ); + switch( myGroupConstructors->checkedId() ) + { + case 1: return ( !myGroups1.isEmpty() && !myGroups3.isEmpty() ); + case 3: return ( myGroups1.count() > ( myCheckBox2->isChecked() ? 0 : 1 )); + default: return !myGroups1.isEmpty(); + } + return false; } - /*! \brief SLOT called when dialog shoud be deativated. */ diff --git a/src/SMESHGUI/SMESHGUI_DuplicateNodesDlg.h b/src/SMESHGUI/SMESHGUI_DuplicateNodesDlg.h index 847cbf163..5bf5247d2 100644 --- a/src/SMESHGUI/SMESHGUI_DuplicateNodesDlg.h +++ b/src/SMESHGUI/SMESHGUI_DuplicateNodesDlg.h @@ -83,6 +83,8 @@ private slots: void onDeactivate(); + void updateButtons(); + private: QLineEdit* myCurrentLineEdit; @@ -98,8 +100,8 @@ private: QLineEdit* myLineEdit1; QLineEdit* myLineEdit2; QLineEdit* myLineEdit3; - QCheckBox* myCheckBoxNewElemGroup; - QCheckBox* myCheckBoxNewNodeGroup; + QCheckBox* myCheckBox1; + QCheckBox* myCheckBox2; QPushButton* myButtonOk; QPushButton* myButtonApply; diff --git a/src/SMESHGUI/SMESH_images.ts b/src/SMESHGUI/SMESH_images.ts index c985f167e..f9082a77b 100644 --- a/src/SMESHGUI/SMESH_images.ts +++ b/src/SMESHGUI/SMESH_images.ts @@ -435,10 +435,14 @@ ICON_SMESH_DUPLICATE_NODES_WITH_ELEM mesh_duplicate_nodes_with_elem.png - + ICON_SMESH_DUPLICATE_ELEM_ONLY mesh_duplicate_elem_only.png + + ICON_SMESH_DUPLICATE_GROUP_BOUNDARY + mesh_duplicate_group_boundary.png + ICON_SMESH_TREE_ALGO mesh_tree_algo.png diff --git a/src/SMESHGUI/SMESH_msg_en.ts b/src/SMESHGUI/SMESH_msg_en.ts index ec5ab322c..350444ec3 100644 --- a/src/SMESHGUI/SMESH_msg_en.ts +++ b/src/SMESHGUI/SMESH_msg_en.ts @@ -6752,6 +6752,10 @@ It is impossible to read point coordinates from file DUPLICATION_ONLY_ELEMS Duplicate elements only + + DUPLICATION_GROUP_BOUNDARY + Duplicate nodes on group boundaries + GROUP_ELEMS_TO_DUPLICATE Group of elements to duplicate @@ -6764,6 +6768,10 @@ It is impossible to read point coordinates from file GROUP_ELEMS_TO_REPLACE Group of elements to replace nodes with new ones + + GROUP_VOLUME_GROUPS + Groups of volumes + CONSTRUCT_NEW_GROUP_NODES Construct group with newly created nodes @@ -6772,6 +6780,14 @@ It is impossible to read point coordinates from file CONSTRUCT_NEW_GROUP_ELEMENTS Construct group with newly created elements + + CREATE_JOINT_ELEMENTS + Create joint elements + + + ON_ALL_BOUNDARIES + On all boundaries + SMESHGUI_Make2DFrom3DDlg diff --git a/src/SMESH_I/SMESH_MeshEditor_i.cxx b/src/SMESH_I/SMESH_MeshEditor_i.cxx index 5d52e7177..9de57c975 100644 --- a/src/SMESH_I/SMESH_MeshEditor_i.cxx +++ b/src/SMESH_I/SMESH_MeshEditor_i.cxx @@ -6875,18 +6875,21 @@ CORBA::Boolean SMESH_MeshEditor_i::Make2DMeshFrom3D() * If there is no shared faces between the group #n and the group #p in the list, the group j_n_p is not created. * All the flat elements are gathered into the group named "joints3D" (or "joints2D" in 2D situation). * The flat element of the multiple junctions between the simple junction are stored in a group named "jointsMultiples". - * @param theDomains - list of groups of volumes - * @param createJointElems - if TRUE, create the elements - * @return TRUE if operation has been completed successfully, FALSE otherwise + * \param theDomains - list of groups of volumes + * \param createJointElems - if TRUE, create the elements + * \param onAllBoundaries - if TRUE, the nodes and elements are also created on + * the boundary between \a theDomains and the rest mesh + * \return TRUE if operation has been completed successfully, FALSE otherwise */ //================================================================================ CORBA::Boolean SMESH_MeshEditor_i::DoubleNodesOnGroupBoundaries( const SMESH::ListOfGroups& theDomains, - CORBA::Boolean createJointElems ) + CORBA::Boolean createJointElems, + CORBA::Boolean onAllBoundaries ) throw (SALOME::SALOME_Exception) { - bool aResult = false; + bool isOK = false; SMESH_TRY; initData(); @@ -6894,10 +6897,11 @@ SMESH_MeshEditor_i::DoubleNodesOnGroupBoundaries( const SMESH::ListOfGroups& the SMESHDS_Mesh* aMeshDS = getMeshDS(); // MESSAGE("theDomains.length = "< domains; - domains.clear(); + domains.resize( theDomains.length() ); for ( int i = 0, n = theDomains.length(); i < n; i++ ) { @@ -6906,26 +6910,25 @@ SMESH_MeshEditor_i::DoubleNodesOnGroupBoundaries( const SMESH::ListOfGroups& the { // if ( aGrp->GetType() != SMESH::VOLUME ) // THROW_SALOME_CORBA_EXCEPTION("Not a volume group", SALOME::BAD_PARAM); - TIDSortedElemSet domain; - domain.clear(); - domains.push_back(domain); SMESH::long_array_var anIDs = aGrp->GetIDs(); arrayToSet( anIDs, aMeshDS, domains[ i ], SMDSAbs_All ); } } - aResult = getEditor().DoubleNodesOnGroupBoundaries( domains, createJointElems ); + isOK = getEditor().DoubleNodesOnGroupBoundaries( domains, createJointElems, onAllBoundaries ); // TODO publish the groups of flat elements in study - declareMeshModified( /*isReComputeSafe=*/ !aResult ); + declareMeshModified( /*isReComputeSafe=*/ !isOK ); // Update Python script TPythonDump() << "isDone = " << this << ".DoubleNodesOnGroupBoundaries( " << &theDomains - << ", " << createJointElems << " )"; + << ", " << createJointElems << ", " << onAllBoundaries << " )"; SMESH_CATCH( SMESH::throwCorbaException ); - return aResult; + myMesh_i->CreateGroupServants(); // publish created groups if any + + return isOK; } //================================================================================ diff --git a/src/SMESH_I/SMESH_MeshEditor_i.hxx b/src/SMESH_I/SMESH_MeshEditor_i.hxx index 87682048b..ead3048b0 100644 --- a/src/SMESH_I/SMESH_MeshEditor_i.hxx +++ b/src/SMESH_I/SMESH_MeshEditor_i.hxx @@ -923,12 +923,15 @@ public: * The nodes of the internal faces at the boundaries of the groups are doubled. * In option, the internal faces are replaced by flat elements. * Triangles are transformed in prisms, and quadrangles in hexahedrons. - * @param theDomains - list of groups of volumes - * @param createJointElems - if TRUE, create the elements - * @return TRUE if operation has been completed successfully, FALSE otherwise + * \param theDomains - list of groups of volumes + * \param createJointElems - if TRUE, create the elements + * \param onAllBoundaries - if TRUE, the nodes and elements are also create on + * the boundary between \a theDomains and the rest mesh + * \return TRUE if operation has been completed successfully, FALSE otherwise */ CORBA::Boolean DoubleNodesOnGroupBoundaries( const SMESH::ListOfGroups& theDomains, - CORBA::Boolean createJointElems ) + CORBA::Boolean createJointElems, + CORBA::Boolean onAllBoundaries ) throw (SALOME::SALOME_Exception); /*! * \brief Double nodes on some external faces and create flat elements. diff --git a/src/SMESH_SWIG/smeshBuilder.py b/src/SMESH_SWIG/smeshBuilder.py index 262685a43..223cf9130 100644 --- a/src/SMESH_SWIG/smeshBuilder.py +++ b/src/SMESH_SWIG/smeshBuilder.py @@ -4503,9 +4503,11 @@ class Mesh: # Triangles are transformed in prisms, and quadrangles in hexahedrons. # @param theDomains - list of groups of volumes # @param createJointElems - if TRUE, create the elements + # @param onAllBoundaries - if TRUE, the nodes and elements are also created on + # the boundary between \a theDomains and the rest mesh # @return TRUE if operation has been completed successfully, FALSE otherwise - def DoubleNodesOnGroupBoundaries(self, theDomains, createJointElems ): - return self.editor.DoubleNodesOnGroupBoundaries( theDomains, createJointElems ) + def DoubleNodesOnGroupBoundaries(self, theDomains, createJointElems, onAllBoundaries=False ): + return self.editor.DoubleNodesOnGroupBoundaries( theDomains, createJointElems, onAllBoundaries ) ## Double nodes on some external faces and create flat elements. # Flat elements are mainly used by some types of mechanic calculations. -- 2.30.2