Fix of issue 0020614: EDF 1133 SMESH : Put new added elements and nodes to group

This commit is contained in:
ouv 2009-12-28 16:23:43 +00:00
parent 163dc9b8fd
commit 4863327169
22 changed files with 413 additions and 14 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View File

@ -26,6 +26,10 @@ following associated submenu will appear:</li>
\image html image146.png \image html image146.png
From this submenu select the type of element which you would like to add to your mesh. From this submenu select the type of element which you would like to add to your mesh.
\note All dialogs intended for adding nodes or elements to mesh provide a possibility
to add these nodes/elements to the specified group (or to create the group if it
doesn't exist). <b>Add to group</b> box allows to choose an existing group for created
node or element or to specify a name for new group.
</ol> </ol>
<b>See Also</b> sample TUI Scripts of <b>See Also</b> sample TUI Scripts of

View File

@ -18,6 +18,11 @@ one of the following:
\image html image152.png \image html image152.png
\note All dialogs intended for adding quadratic elements to mesh provide a possibility
to add these elements to the specified group (or to create the group if it doesn't exist).
<b>Add to group</b> box allows to choose an existing group for created element or
to specify a name for new group.
To create any <b>Quadratic Element</b> specify the nodes which will form your To create any <b>Quadratic Element</b> specify the nodes which will form your
triangle by selecting them in the 3D viewer with pressed Shift triangle by selecting them in the 3D viewer with pressed Shift
button. Their numbers will appear in the dialog box as <b>Corner Nodes</b> button. Their numbers will appear in the dialog box as <b>Corner Nodes</b>

View File

@ -30,6 +30,7 @@
#include "SMESHGUI_Utils.h" #include "SMESHGUI_Utils.h"
#include "SMESHGUI_VTKUtils.h" #include "SMESHGUI_VTKUtils.h"
#include "SMESHGUI_MeshUtils.h" #include "SMESHGUI_MeshUtils.h"
#include "SMESHGUI_GroupUtils.h"
#include "SMESHGUI_IdValidator.h" #include "SMESHGUI_IdValidator.h"
#include <SMESH_Actor.h> #include <SMESH_Actor.h>
@ -64,6 +65,7 @@
#include <vtkProperty.h> #include <vtkProperty.h>
// Qt includes // Qt includes
#include <QComboBox>
#include <QGroupBox> #include <QGroupBox>
#include <QLabel> #include <QLabel>
#include <QLineEdit> #include <QLineEdit>
@ -358,6 +360,20 @@ SMESHGUI_AddMeshElementDlg::SMESHGUI_AddMeshElementDlg( SMESHGUI* theModule,
GroupC1Layout->addWidget(LineEditC1A1, 0, 2); GroupC1Layout->addWidget(LineEditC1A1, 0, 2);
if ( Reverse ) GroupC1Layout->addWidget(Reverse, 1, 0, 1, 3); if ( Reverse ) GroupC1Layout->addWidget(Reverse, 1, 0, 1, 3);
/***************************************************************/
GroupGroups = new QGroupBox( tr( "SMESH_ADD_TO_GROUP" ), this );
GroupGroups->setCheckable( true );
QHBoxLayout* GroupGroupsLayout = new QHBoxLayout(GroupGroups);
GroupGroupsLayout->setSpacing(SPACING);
GroupGroupsLayout->setMargin(MARGIN);
TextLabel_GroupName = new QLabel( tr( "SMESH_GROUP" ), GroupGroups );
ComboBox_GroupName = new QComboBox( GroupGroups );
ComboBox_GroupName->setEditable( true );
GroupGroupsLayout->addWidget( TextLabel_GroupName );
GroupGroupsLayout->addWidget( ComboBox_GroupName, 1 );
/***************************************************************/ /***************************************************************/
GroupButtons = new QGroupBox(this); GroupButtons = new QGroupBox(this);
QHBoxLayout* GroupButtonsLayout = new QHBoxLayout(GroupButtons); QHBoxLayout* GroupButtonsLayout = new QHBoxLayout(GroupButtons);
@ -385,6 +401,7 @@ SMESHGUI_AddMeshElementDlg::SMESHGUI_AddMeshElementDlg( SMESHGUI* theModule,
/***************************************************************/ /***************************************************************/
aTopLayout->addWidget(GroupConstructors); aTopLayout->addWidget(GroupConstructors);
aTopLayout->addWidget(GroupC1); aTopLayout->addWidget(GroupC1);
aTopLayout->addWidget(GroupGroups);
aTopLayout->addWidget(GroupButtons); aTopLayout->addWidget(GroupButtons);
Init(); /* Initialisations */ Init(); /* Initialisations */
@ -410,6 +427,9 @@ void SMESHGUI_AddMeshElementDlg::Init()
myEditCurrentArgument = LineEditC1A1; myEditCurrentArgument = LineEditC1A1;
mySMESHGUI->SetActiveDialogBox((QDialog*)this); mySMESHGUI->SetActiveDialogBox((QDialog*)this);
/* reset "Add to group" control */
GroupGroups->setChecked( false );
myNbOkNodes = 0; myNbOkNodes = 0;
myActor = 0; myActor = 0;
@ -446,6 +466,9 @@ void SMESHGUI_AddMeshElementDlg::Init()
//================================================================================= //=================================================================================
void SMESHGUI_AddMeshElementDlg::ClickOnApply() void SMESHGUI_AddMeshElementDlg::ClickOnApply()
{ {
if( !isValid() )
return;
if (myNbOkNodes && !mySMESHGUI->isActiveStudyLocked()) { if (myNbOkNodes && !mySMESHGUI->isActiveStudyLocked()) {
myBusy = true; myBusy = true;
SMESH::long_array_var anArrayOfIndices = new SMESH::long_array; SMESH::long_array_var anArrayOfIndices = new SMESH::long_array;
@ -458,24 +481,53 @@ void SMESHGUI_AddMeshElementDlg::ClickOnApply()
else else
anArrayOfIndices[i] = aListId[ i ].toInt(); anArrayOfIndices[i] = aListId[ i ].toInt();
long anElemId = -1;
SMESH::SMESH_MeshEditor_var aMeshEditor = myMesh->GetMeshEditor(); SMESH::SMESH_MeshEditor_var aMeshEditor = myMesh->GetMeshEditor();
switch (myElementType) { switch (myElementType) {
case SMDSAbs_0DElement: case SMDSAbs_0DElement:
aMeshEditor->Add0DElement(anArrayOfIndices[0]); break; anElemId = aMeshEditor->Add0DElement(anArrayOfIndices[0]); break;
case SMDSAbs_Edge: case SMDSAbs_Edge:
aMeshEditor->AddEdge(anArrayOfIndices.inout()); break; anElemId = aMeshEditor->AddEdge(anArrayOfIndices.inout()); break;
case SMDSAbs_Face: { case SMDSAbs_Face: {
if(myIsPoly) if(myIsPoly)
aMeshEditor->AddPolygonalFace(anArrayOfIndices.inout()); anElemId = aMeshEditor->AddPolygonalFace(anArrayOfIndices.inout());
else else
aMeshEditor->AddFace(anArrayOfIndices.inout()); anElemId = aMeshEditor->AddFace(anArrayOfIndices.inout());
break; break;
} }
case SMDSAbs_Volume: case SMDSAbs_Volume:
aMeshEditor->AddVolume(anArrayOfIndices.inout()); break; anElemId = aMeshEditor->AddVolume(anArrayOfIndices.inout()); break;
default:; default:;
} }
if( anElemId != -1 && GroupGroups->isChecked() ) {
SMESH::SMESH_Group_var aGroup;
QString aGroupName = ComboBox_GroupName->currentText();
SMESH::ListOfGroups aListOfGroups = *myMesh->GetGroups();
for( int i = 0, n = aListOfGroups.length(); i < n; i++ ) {
SMESH::SMESH_GroupBase_var aGroupBase = aListOfGroups[i];
if( !aGroupBase->_is_nil() ) {
SMESH::SMESH_Group_var aRefGroup = SMESH::SMESH_Group::_narrow( aGroupBase );
if( !aRefGroup->_is_nil() ) {
QString aRefGroupName( aRefGroup->GetName() );
if( aRefGroupName == aGroupName ) {
aGroup = aRefGroup; // // add node to existing group
break;
}
}
}
}
if( aGroup->_is_nil() ) // create new group
aGroup = SMESH::AddGroup( myMesh, (SMESH::ElementType)myElementType, aGroupName );
if( !aGroup->_is_nil() ) {
SMESH::long_array_var anIdList = new SMESH::long_array;
anIdList->length( 1 );
anIdList[0] = anElemId;
aGroup->Add( anIdList.inout() );
}
}
SALOME_ListIO aList; aList.Append( myActor->getIO() ); SALOME_ListIO aList; aList.Append( myActor->getIO() );
mySelector->ClearIndex(); mySelector->ClearIndex();
mySelectionMgr->setSelectedObjects( aList, false ); mySelectionMgr->setSelectedObjects( aList, false );
@ -628,6 +680,8 @@ void SMESHGUI_AddMeshElementDlg::SelectionIntoArgument()
mySimulation->SetVisibility(false); mySimulation->SetVisibility(false);
// SMESH::SetPointRepresentation(true); // SMESH::SetPointRepresentation(true);
QString aCurrentEntry = myEntry;
// get selected mesh // get selected mesh
SALOME_ListIO aList; SALOME_ListIO aList;
mySelectionMgr->selectedObjects(aList,SVTK_Viewer::Type()); mySelectionMgr->selectedObjects(aList,SVTK_Viewer::Type());
@ -636,10 +690,29 @@ void SMESHGUI_AddMeshElementDlg::SelectionIntoArgument()
return; return;
Handle(SALOME_InteractiveObject) anIO = aList.First(); Handle(SALOME_InteractiveObject) anIO = aList.First();
myEntry = anIO->getEntry();
myMesh = SMESH::GetMeshByIO(anIO); myMesh = SMESH::GetMeshByIO(anIO);
if (myMesh->_is_nil()) if (myMesh->_is_nil())
return; return;
// process groups
if ( !myMesh->_is_nil() && myEntry != aCurrentEntry ) {
ComboBox_GroupName->clear();
ComboBox_GroupName->addItem( QString() );
SMESH::ListOfGroups aListOfGroups = *myMesh->GetGroups();
for ( int i = 0, n = aListOfGroups.length(); i < n; i++ ) {
SMESH::SMESH_GroupBase_var aGroupBase = aListOfGroups[i];
if ( !aGroupBase->_is_nil() && aGroupBase->GetType() == (SMESH::ElementType)myElementType ) {
SMESH::SMESH_Group_var aGroup = SMESH::SMESH_Group::_narrow( aGroupBase );
if ( !aGroup->_is_nil() ) {
QString aGroupName( aGroup->GetName() );
if ( !aGroupName.isEmpty() )
ComboBox_GroupName->addItem( aGroupName );
}
}
}
}
myActor = SMESH::FindActorByEntry(anIO->getEntry()); myActor = SMESH::FindActorByEntry(anIO->getEntry());
if (!myActor) if (!myActor)
return; return;
@ -812,3 +885,16 @@ void SMESHGUI_AddMeshElementDlg::keyPressEvent( QKeyEvent* e )
ClickOnHelp(); ClickOnHelp();
} }
} }
//=================================================================================
// function : isValid
// purpose :
//=================================================================================
bool SMESHGUI_AddMeshElementDlg::isValid()
{
if( GroupGroups->isChecked() && ComboBox_GroupName->currentText().isEmpty() ) {
SUIT_MessageBox::warning( this, tr( "SMESH_WRN_WARNING" ), tr( "GROUP_NAME_IS_EMPTY" ) );
return false;
}
return true;
}

View File

@ -38,6 +38,7 @@
#include <SALOMEconfig.h> #include <SALOMEconfig.h>
#include CORBA_SERVER_HEADER(SMESH_Mesh) #include CORBA_SERVER_HEADER(SMESH_Mesh)
class QComboBox;
class QGroupBox; class QGroupBox;
class QLabel; class QLabel;
class QLineEdit; class QLineEdit;
@ -74,6 +75,8 @@ private:
void keyPressEvent( QKeyEvent* ); void keyPressEvent( QKeyEvent* );
void displaySimulation(); void displaySimulation();
bool isValid();
SMESHGUI* mySMESHGUI; /* Current SMESHGUI object */ SMESHGUI* mySMESHGUI; /* Current SMESHGUI object */
LightApp_SelectionMgr* mySelectionMgr; /* User shape selection */ LightApp_SelectionMgr* mySelectionMgr; /* User shape selection */
int myNbOkNodes; /* to check when arguments is defined */ int myNbOkNodes; /* to check when arguments is defined */
@ -89,9 +92,13 @@ private:
SMESH::SMESH_Mesh_var myMesh; SMESH::SMESH_Mesh_var myMesh;
SMESH_Actor* myActor; SMESH_Actor* myActor;
SMESH::TElementSimulation* mySimulation; SMESH::TElementSimulation* mySimulation;
QString myEntry;
QGroupBox* GroupConstructors; QGroupBox* GroupConstructors;
QRadioButton* Constructor1; QRadioButton* Constructor1;
QGroupBox* GroupGroups;
QLabel* TextLabel_GroupName;
QComboBox* ComboBox_GroupName;
QGroupBox* GroupButtons; QGroupBox* GroupButtons;
QPushButton* buttonOk; QPushButton* buttonOk;
QPushButton* buttonCancel; QPushButton* buttonCancel;

View File

@ -30,6 +30,7 @@
#include "SMESHGUI_Utils.h" #include "SMESHGUI_Utils.h"
#include "SMESHGUI_VTKUtils.h" #include "SMESHGUI_VTKUtils.h"
#include "SMESHGUI_MeshUtils.h" #include "SMESHGUI_MeshUtils.h"
#include "SMESHGUI_GroupUtils.h"
#include "SMESHGUI_IdValidator.h" #include "SMESHGUI_IdValidator.h"
#include <SMESH_Actor.h> #include <SMESH_Actor.h>
@ -69,6 +70,7 @@
#include <vtkCellType.h> #include <vtkCellType.h>
// Qt includes // Qt includes
#include <QComboBox>
#include <QGroupBox> #include <QGroupBox>
#include <QLabel> #include <QLabel>
#include <QLineEdit> #include <QLineEdit>
@ -505,6 +507,20 @@ SMESHGUI_AddQuadraticElementDlg::SMESHGUI_AddQuadraticElementDlg( SMESHGUI* theM
aGroupArgumentsLayout->addWidget(myTable, 1, 0, 1, 3); aGroupArgumentsLayout->addWidget(myTable, 1, 0, 1, 3);
aGroupArgumentsLayout->addWidget(myReverseCB, 2, 0, 1, 3); aGroupArgumentsLayout->addWidget(myReverseCB, 2, 0, 1, 3);
/***************************************************************/
GroupGroups = new QGroupBox( tr( "SMESH_ADD_TO_GROUP" ), this );
GroupGroups->setCheckable( true );
QHBoxLayout* GroupGroupsLayout = new QHBoxLayout(GroupGroups);
GroupGroupsLayout->setSpacing(SPACING);
GroupGroupsLayout->setMargin(MARGIN);
TextLabel_GroupName = new QLabel( tr( "SMESH_GROUP" ), GroupGroups );
ComboBox_GroupName = new QComboBox( GroupGroups );
ComboBox_GroupName->setEditable( true );
GroupGroupsLayout->addWidget( TextLabel_GroupName );
GroupGroupsLayout->addWidget( ComboBox_GroupName, 1 );
/***************************************************************/ /***************************************************************/
GroupButtons = new QGroupBox(this); GroupButtons = new QGroupBox(this);
QHBoxLayout* aGroupButtonsLayout = new QHBoxLayout(GroupButtons); QHBoxLayout* aGroupButtonsLayout = new QHBoxLayout(GroupButtons);
@ -532,6 +548,7 @@ SMESHGUI_AddQuadraticElementDlg::SMESHGUI_AddQuadraticElementDlg( SMESHGUI* theM
/***************************************************************/ /***************************************************************/
aDialogLayout->addWidget(GroupConstructors); aDialogLayout->addWidget(GroupConstructors);
aDialogLayout->addWidget(GroupArguments); aDialogLayout->addWidget(GroupArguments);
aDialogLayout->addWidget(GroupGroups);
aDialogLayout->addWidget(GroupButtons); aDialogLayout->addWidget(GroupButtons);
Init(); /* Initialisations */ Init(); /* Initialisations */
@ -555,6 +572,9 @@ void SMESHGUI_AddQuadraticElementDlg::Init()
myRadioButton1->setChecked(true); myRadioButton1->setChecked(true);
mySMESHGUI->SetActiveDialogBox((QDialog*)this); mySMESHGUI->SetActiveDialogBox((QDialog*)this);
/* reset "Add to group" control */
GroupGroups->setChecked( false );
myActor = 0; myActor = 0;
int aNumRows; int aNumRows;
@ -661,6 +681,9 @@ void SMESHGUI_AddQuadraticElementDlg::Init()
//================================================================================= //=================================================================================
void SMESHGUI_AddQuadraticElementDlg::ClickOnApply() void SMESHGUI_AddQuadraticElementDlg::ClickOnApply()
{ {
if( !isValid() )
return;
if ( mySMESHGUI->isActiveStudyLocked() || myBusy || !IsValid() ) if ( mySMESHGUI->isActiveStudyLocked() || myBusy || !IsValid() )
return; return;
@ -696,18 +719,51 @@ void SMESHGUI_AddQuadraticElementDlg::ClickOnApply()
for (int i = 0; i < aNumberOfIds; i++) for (int i = 0; i < aNumberOfIds; i++)
anArrayOfIdeces[i] = anIds[ i ]; anArrayOfIdeces[i] = anIds[ i ];
SMESH::ElementType anElementType;
long anElemId = -1;
SMESH::SMESH_MeshEditor_var aMeshEditor = myMesh->GetMeshEditor(); SMESH::SMESH_MeshEditor_var aMeshEditor = myMesh->GetMeshEditor();
switch (myType) { switch (myType) {
case QUAD_EDGE: case QUAD_EDGE:
aMeshEditor->AddEdge(anArrayOfIdeces.inout()); break; anElementType = SMESH::EDGE;
anElemId = aMeshEditor->AddEdge(anArrayOfIdeces.inout()); break;
case QUAD_TRIANGLE: case QUAD_TRIANGLE:
case QUAD_QUADRANGLE: case QUAD_QUADRANGLE:
aMeshEditor->AddFace(anArrayOfIdeces.inout()); break; anElementType = SMESH::FACE;
anElemId = aMeshEditor->AddFace(anArrayOfIdeces.inout()); break;
case QUAD_TETRAHEDRON: case QUAD_TETRAHEDRON:
case QUAD_PYRAMID: case QUAD_PYRAMID:
case QUAD_PENTAHEDRON: case QUAD_PENTAHEDRON:
case QUAD_HEXAHEDRON: case QUAD_HEXAHEDRON:
aMeshEditor->AddVolume(anArrayOfIdeces.inout()); break; anElementType = SMESH::VOLUME;
anElemId = aMeshEditor->AddVolume(anArrayOfIdeces.inout()); break;
}
if( anElemId != -1 && GroupGroups->isChecked() ) {
SMESH::SMESH_Group_var aGroup;
QString aGroupName = ComboBox_GroupName->currentText();
SMESH::ListOfGroups aListOfGroups = *myMesh->GetGroups();
for( int i = 0, n = aListOfGroups.length(); i < n; i++ ) {
SMESH::SMESH_GroupBase_var aGroupBase = aListOfGroups[i];
if( !aGroupBase->_is_nil() ) {
SMESH::SMESH_Group_var aRefGroup = SMESH::SMESH_Group::_narrow( aGroupBase );
if( !aRefGroup->_is_nil() ) {
QString aRefGroupName( aRefGroup->GetName() );
if( aRefGroupName == aGroupName ) {
aGroup = aRefGroup; // // add node to existing group
break;
}
}
}
}
if( aGroup->_is_nil() ) // create new group
aGroup = SMESH::AddGroup( myMesh, anElementType, aGroupName );
if( !aGroup->_is_nil() ) {
SMESH::long_array_var anIdList = new SMESH::long_array;
anIdList->length( 1 );
anIdList[0] = anElemId;
aGroup->Add( anIdList.inout() );
}
} }
SALOME_ListIO aList; aList.Append( myActor->getIO() ); SALOME_ListIO aList; aList.Append( myActor->getIO() );
@ -827,6 +883,8 @@ void SMESHGUI_AddQuadraticElementDlg::SelectionIntoArgument()
if (myBusy) return; if (myBusy) return;
BusyLocker lock( myBusy ); BusyLocker lock( myBusy );
QString aCurrentEntry = myEntry;
if ( myIsEditCorners ) if ( myIsEditCorners )
{ {
// clear // clear
@ -851,6 +909,7 @@ void SMESHGUI_AddQuadraticElementDlg::SelectionIntoArgument()
} }
Handle(SALOME_InteractiveObject) anIO = aList.First(); Handle(SALOME_InteractiveObject) anIO = aList.First();
myEntry = anIO->getEntry();
myMesh = SMESH::GetMeshByIO(anIO); myMesh = SMESH::GetMeshByIO(anIO);
if (myMesh->_is_nil()) { if (myMesh->_is_nil()) {
updateButtons(); updateButtons();
@ -861,6 +920,37 @@ void SMESHGUI_AddQuadraticElementDlg::SelectionIntoArgument()
} }
// process groups
if ( !myMesh->_is_nil() && myEntry != aCurrentEntry ) {
SMESH::ElementType anElementType;
switch ( myType ) {
case QUAD_EDGE:
anElementType = SMESH::EDGE; break;
case QUAD_TRIANGLE:
case QUAD_QUADRANGLE:
anElementType = SMESH::FACE; break;
case QUAD_TETRAHEDRON:
case QUAD_PYRAMID:
case QUAD_PENTAHEDRON:
case QUAD_HEXAHEDRON:
anElementType = SMESH::VOLUME; break;
}
ComboBox_GroupName->clear();
ComboBox_GroupName->addItem( QString() );
SMESH::ListOfGroups aListOfGroups = *myMesh->GetGroups();
for ( int i = 0, n = aListOfGroups.length(); i < n; i++ ) {
SMESH::SMESH_GroupBase_var aGroupBase = aListOfGroups[i];
if ( !aGroupBase->_is_nil() && aGroupBase->GetType() == anElementType ) {
SMESH::SMESH_Group_var aGroup = SMESH::SMESH_Group::_narrow( aGroupBase );
if ( !aGroup->_is_nil() ) {
QString aGroupName( aGroup->GetName() );
if ( !aGroupName.isEmpty() )
ComboBox_GroupName->addItem( aGroupName );
}
}
}
}
if (!myActor) { if (!myActor) {
updateButtons(); updateButtons();
return; return;
@ -1169,3 +1259,16 @@ void SMESHGUI_AddQuadraticElementDlg::updateButtons()
buttonOk->setEnabled( valid ); buttonOk->setEnabled( valid );
buttonApply->setEnabled( valid ); buttonApply->setEnabled( valid );
} }
//=================================================================================
// function : isValid
// purpose :
//=================================================================================
bool SMESHGUI_AddQuadraticElementDlg::isValid()
{
if( GroupGroups->isChecked() && ComboBox_GroupName->currentText().isEmpty() ) {
SUIT_MessageBox::warning( this, tr( "SMESH_WRN_WARNING" ), tr( "GROUP_NAME_IS_EMPTY" ) );
return false;
}
return true;
}

View File

@ -36,7 +36,9 @@
#include <SALOMEconfig.h> #include <SALOMEconfig.h>
#include CORBA_SERVER_HEADER(SMESH_Mesh) #include CORBA_SERVER_HEADER(SMESH_Mesh)
class QComboBox;
class QGroupBox; class QGroupBox;
class QLabel;
class QLineEdit; class QLineEdit;
class QPushButton; class QPushButton;
class QRadioButton; class QRadioButton;
@ -78,6 +80,8 @@ private:
bool IsValid(); bool IsValid();
void updateButtons(); void updateButtons();
bool isValid();
SMESHGUI* mySMESHGUI; /* Current SMESHGUI object */ SMESHGUI* mySMESHGUI; /* Current SMESHGUI object */
LightApp_SelectionMgr* mySelectionMgr; /* User shape selection */ LightApp_SelectionMgr* mySelectionMgr; /* User shape selection */
int myNbCorners; /* The required number of corners */ int myNbCorners; /* The required number of corners */
@ -87,6 +91,7 @@ private:
SMESH::SMESH_Mesh_var myMesh; SMESH::SMESH_Mesh_var myMesh;
SMESH_Actor* myActor; SMESH_Actor* myActor;
SMESH::TElementSimulation* mySimulation; SMESH::TElementSimulation* mySimulation;
QString myEntry;
int myType; int myType;
bool myIsEditCorners; bool myIsEditCorners;
@ -100,6 +105,10 @@ private:
QTableWidget* myTable; QTableWidget* myTable;
QCheckBox* myReverseCB; QCheckBox* myReverseCB;
QGroupBox* GroupGroups;
QLabel* TextLabel_GroupName;
QComboBox* ComboBox_GroupName;
QGroupBox* GroupButtons; QGroupBox* GroupButtons;
QPushButton* buttonOk; QPushButton* buttonOk;
QPushButton* buttonCancel; QPushButton* buttonCancel;

View File

@ -30,6 +30,7 @@
#include "SMESHGUI_Utils.h" #include "SMESHGUI_Utils.h"
#include "SMESHGUI_VTKUtils.h" #include "SMESHGUI_VTKUtils.h"
#include "SMESHGUI_MeshUtils.h" #include "SMESHGUI_MeshUtils.h"
#include "SMESHGUI_GroupUtils.h"
#include "SMESHGUI_IdValidator.h" #include "SMESHGUI_IdValidator.h"
#include <SMESH_Actor.h> #include <SMESH_Actor.h>
@ -63,6 +64,7 @@
// Qt includes // Qt includes
#include <QApplication> #include <QApplication>
#include <QButtonGroup> #include <QButtonGroup>
#include <QComboBox>
#include <QGroupBox> #include <QGroupBox>
#include <QLabel> #include <QLabel>
#include <QLineEdit> #include <QLineEdit>
@ -246,6 +248,20 @@ SMESHGUI_CreatePolyhedralVolumeDlg::SMESHGUI_CreatePolyhedralVolumeDlg( SMESHGUI
GroupContentLayout->addWidget( RemoveButton, 3, 3 ); GroupContentLayout->addWidget( RemoveButton, 3, 3 );
GroupContentLayout->addWidget( Preview, 5, 0, 1, 4 ); GroupContentLayout->addWidget( Preview, 5, 0, 1, 4 );
/***************************************************************/
GroupGroups = new QGroupBox( tr( "SMESH_ADD_TO_GROUP" ), this );
GroupGroups->setCheckable( true );
QHBoxLayout* GroupGroupsLayout = new QHBoxLayout(GroupGroups);
GroupGroupsLayout->setSpacing(SPACING);
GroupGroupsLayout->setMargin(MARGIN);
TextLabel_GroupName = new QLabel( tr( "SMESH_GROUP" ), GroupGroups );
ComboBox_GroupName = new QComboBox( GroupGroups );
ComboBox_GroupName->setEditable( true );
GroupGroupsLayout->addWidget( TextLabel_GroupName );
GroupGroupsLayout->addWidget( ComboBox_GroupName, 1 );
/***************************************************************/ /***************************************************************/
GroupButtons = new QGroupBox( this ); GroupButtons = new QGroupBox( this );
QHBoxLayout* GroupButtonsLayout = new QHBoxLayout( GroupButtons ); QHBoxLayout* GroupButtonsLayout = new QHBoxLayout( GroupButtons );
@ -273,6 +289,7 @@ SMESHGUI_CreatePolyhedralVolumeDlg::SMESHGUI_CreatePolyhedralVolumeDlg( SMESHGUI
/***************************************************************/ /***************************************************************/
topLayout->addWidget( ConstructorsBox ); topLayout->addWidget( ConstructorsBox );
topLayout->addWidget( GroupContent ); topLayout->addWidget( GroupContent );
topLayout->addWidget( GroupGroups );
topLayout->addWidget( GroupButtons ); topLayout->addWidget( GroupButtons );
mySelector = (SMESH::GetViewWindow( mySMESHGUI ))->GetSelector(); mySelector = (SMESH::GetViewWindow( mySMESHGUI ))->GetSelector();
@ -306,6 +323,9 @@ void SMESHGUI_CreatePolyhedralVolumeDlg::Init()
myEditCurrentArgument = LineEditElements; myEditCurrentArgument = LineEditElements;
mySMESHGUI->SetActiveDialogBox( (QDialog*)this ); mySMESHGUI->SetActiveDialogBox( (QDialog*)this );
/* reset "Add to group" control */
GroupGroups->setChecked( false );
myNbOkElements = 0; myNbOkElements = 0;
myActor = 0; myActor = 0;
@ -420,10 +440,14 @@ void SMESHGUI_CreatePolyhedralVolumeDlg::ClickOnPreview(bool theToggled){
//================================================================================= //=================================================================================
void SMESHGUI_CreatePolyhedralVolumeDlg::ClickOnApply() void SMESHGUI_CreatePolyhedralVolumeDlg::ClickOnApply()
{ {
if( !isValid() )
return;
if ( myNbOkElements>0 && !mySMESHGUI->isActiveStudyLocked()) if ( myNbOkElements>0 && !mySMESHGUI->isActiveStudyLocked())
{ {
if(checkEditLine(false) == -1) {return;} if(checkEditLine(false) == -1) {return;}
busy = true; busy = true;
long anElemId = -1;
if (GetConstructorId() == 0) if (GetConstructorId() == 0)
{ {
SMESH::long_array_var anIdsOfNodes = new SMESH::long_array; SMESH::long_array_var anIdsOfNodes = new SMESH::long_array;
@ -453,7 +477,7 @@ void SMESHGUI_CreatePolyhedralVolumeDlg::ClickOnApply()
try{ try{
SUIT_OverrideCursor aWaitCursor; SUIT_OverrideCursor aWaitCursor;
SMESH::SMESH_MeshEditor_var aMeshEditor = myMesh->GetMeshEditor(); SMESH::SMESH_MeshEditor_var aMeshEditor = myMesh->GetMeshEditor();
aMeshEditor->AddPolyhedralVolume(anIdsOfNodes, aQuantities); anElemId = aMeshEditor->AddPolyhedralVolume(anIdsOfNodes, aQuantities);
}catch(SALOME::SALOME_Exception& exc){ }catch(SALOME::SALOME_Exception& exc){
INFOS("Follow exception was cought:\n\t"<<exc.details.text); INFOS("Follow exception was cought:\n\t"<<exc.details.text);
}catch(std::exception& exc){ }catch(std::exception& exc){
@ -474,7 +498,7 @@ void SMESHGUI_CreatePolyhedralVolumeDlg::ClickOnApply()
try{ try{
SUIT_OverrideCursor aWaitCursor; SUIT_OverrideCursor aWaitCursor;
SMESH::SMESH_MeshEditor_var aMeshEditor = myMesh->GetMeshEditor(); SMESH::SMESH_MeshEditor_var aMeshEditor = myMesh->GetMeshEditor();
aMeshEditor->AddPolyhedralVolumeByFaces(anIdsOfFaces); anElemId = aMeshEditor->AddPolyhedralVolumeByFaces(anIdsOfFaces);
}catch(SALOME::SALOME_Exception& exc){ }catch(SALOME::SALOME_Exception& exc){
INFOS("Follow exception was cought:\n\t"<<exc.details.text); INFOS("Follow exception was cought:\n\t"<<exc.details.text);
}catch(std::exception& exc){ }catch(std::exception& exc){
@ -484,6 +508,34 @@ void SMESHGUI_CreatePolyhedralVolumeDlg::ClickOnApply()
} }
} }
if( anElemId != -1 && GroupGroups->isChecked() ) {
SMESH::SMESH_Group_var aGroup;
QString aGroupName = ComboBox_GroupName->currentText();
SMESH::ListOfGroups aListOfGroups = *myMesh->GetGroups();
for( int i = 0, n = aListOfGroups.length(); i < n; i++ ) {
SMESH::SMESH_GroupBase_var aGroupBase = aListOfGroups[i];
if( !aGroupBase->_is_nil() ) {
SMESH::SMESH_Group_var aRefGroup = SMESH::SMESH_Group::_narrow( aGroupBase );
if( !aRefGroup->_is_nil() ) {
QString aRefGroupName( aRefGroup->GetName() );
if( aRefGroupName == aGroupName ) {
aGroup = aRefGroup; // // add node to existing group
break;
}
}
}
}
if( aGroup->_is_nil() ) // create new group
aGroup = SMESH::AddGroup( myMesh, SMESH::VOLUME, aGroupName );
if( !aGroup->_is_nil() ) {
SMESH::long_array_var anIdList = new SMESH::long_array;
anIdList->length( 1 );
anIdList[0] = anElemId;
aGroup->Add( anIdList.inout() );
}
}
//SALOME_ListIO aList; //SALOME_ListIO aList;
//mySelectionMgr->setSelectedObjects( aList ); //mySelectionMgr->setSelectedObjects( aList );
SMESH::UpdateView(); SMESH::UpdateView();
@ -663,6 +715,8 @@ void SMESHGUI_CreatePolyhedralVolumeDlg::SelectionIntoArgument()
mySimulation->SetVisibility(false); mySimulation->SetVisibility(false);
QString aCurrentEntry = myEntry;
// get selected mesh // get selected mesh
SALOME_ListIO selected; SALOME_ListIO selected;
@ -672,10 +726,29 @@ void SMESHGUI_CreatePolyhedralVolumeDlg::SelectionIntoArgument()
return; return;
} }
myEntry = selected.First()->getEntry();
myMesh = SMESH::GetMeshByIO( selected.First() ); myMesh = SMESH::GetMeshByIO( selected.First() );
if ( myMesh->_is_nil() ) if ( myMesh->_is_nil() )
return; return;
// process groups
if ( !myMesh->_is_nil() && myEntry != aCurrentEntry ) {
ComboBox_GroupName->clear();
ComboBox_GroupName->addItem( QString() );
SMESH::ListOfGroups aListOfGroups = *myMesh->GetGroups();
for ( int i = 0, n = aListOfGroups.length(); i < n; i++ ) {
SMESH::SMESH_GroupBase_var aGroupBase = aListOfGroups[i];
if ( !aGroupBase->_is_nil() && aGroupBase->GetType() == SMESH::VOLUME ) {
SMESH::SMESH_Group_var aGroup = SMESH::SMESH_Group::_narrow( aGroupBase );
if ( !aGroup->_is_nil() ) {
QString aGroupName( aGroup->GetName() );
if ( !aGroupName.isEmpty() )
ComboBox_GroupName->addItem( aGroupName );
}
}
}
}
myActor = SMESH::FindActorByObject(myMesh); myActor = SMESH::FindActorByObject(myMesh);
if ( !myActor ) if ( !myActor )
return; return;
@ -1062,3 +1135,16 @@ void SMESHGUI_CreatePolyhedralVolumeDlg::keyPressEvent( QKeyEvent* e )
ClickOnHelp(); ClickOnHelp();
} }
} }
//=================================================================================
// function : isValid
// purpose :
//=================================================================================
bool SMESHGUI_CreatePolyhedralVolumeDlg::isValid()
{
if( GroupGroups->isChecked() && ComboBox_GroupName->currentText().isEmpty() ) {
SUIT_MessageBox::warning( this, tr( "SMESH_WRN_WARNING" ), tr( "GROUP_NAME_IS_EMPTY" ) );
return false;
}
return true;
}

View File

@ -37,6 +37,7 @@
#include CORBA_SERVER_HEADER(SMESH_Mesh) #include CORBA_SERVER_HEADER(SMESH_Mesh)
class QButtonGroup; class QButtonGroup;
class QComboBox;
class QGroupBox; class QGroupBox;
class QListWidget; class QListWidget;
class QLabel; class QLabel;
@ -75,6 +76,8 @@ private:
int GetConstructorId(); int GetConstructorId();
void displaySimulation(); void displaySimulation();
bool isValid();
int checkEditLine( bool = true ); /*! Checking for indices, return 1 if all ok, esle -1*/ int checkEditLine( bool = true ); /*! Checking for indices, return 1 if all ok, esle -1*/
SMESHGUI* mySMESHGUI; /* Current SMESHGUI object */ SMESHGUI* mySMESHGUI; /* Current SMESHGUI object */
@ -88,12 +91,16 @@ private:
SMESH::SMESH_Mesh_var myMesh; SMESH::SMESH_Mesh_var myMesh;
SMESH_Actor* myActor; SMESH_Actor* myActor;
SMESH::TPolySimulation* mySimulation; SMESH::TPolySimulation* mySimulation;
QString myEntry;
QGroupBox* ConstructorsBox; QGroupBox* ConstructorsBox;
QButtonGroup* GroupConstructors; QButtonGroup* GroupConstructors;
QRadioButton* RadioButton1; QRadioButton* RadioButton1;
QRadioButton* RadioButton2; QRadioButton* RadioButton2;
QCheckBox* Preview; QCheckBox* Preview;
QGroupBox* GroupGroups;
QLabel* TextLabel_GroupName;
QComboBox* ComboBox_GroupName;
QGroupBox* GroupButtons; QGroupBox* GroupButtons;
QPushButton* buttonOk; QPushButton* buttonOk;
QPushButton* buttonCancel; QPushButton* buttonCancel;

View File

@ -31,6 +31,7 @@
#include "SMESHGUI_Utils.h" #include "SMESHGUI_Utils.h"
#include "SMESHGUI_VTKUtils.h" #include "SMESHGUI_VTKUtils.h"
#include "SMESHGUI_MeshUtils.h" #include "SMESHGUI_MeshUtils.h"
#include "SMESHGUI_GroupUtils.h"
#include <SMESH_Actor.h> #include <SMESH_Actor.h>
#include <SMESH_ActorUtils.h> #include <SMESH_ActorUtils.h>
@ -70,6 +71,7 @@
#include <vtkPoints.h> #include <vtkPoints.h>
// Qt includes // Qt includes
#include <QComboBox>
#include <QGroupBox> #include <QGroupBox>
#include <QLabel> #include <QLabel>
#include <QPushButton> #include <QPushButton>
@ -88,13 +90,14 @@
namespace SMESH namespace SMESH
{ {
void AddNode( SMESH::SMESH_Mesh_ptr theMesh, float x, float y, float z, const QStringList& theParameters ) long AddNode( SMESH::SMESH_Mesh_ptr theMesh, float x, float y, float z, const QStringList& theParameters )
{ {
long aNodeId = -1;
SUIT_OverrideCursor wc; SUIT_OverrideCursor wc;
try { try {
_PTR(SObject) aSobj = SMESH::FindSObject( theMesh ); _PTR(SObject) aSobj = SMESH::FindSObject( theMesh );
SMESH::SMESH_MeshEditor_var aMeshEditor = theMesh->GetMeshEditor(); SMESH::SMESH_MeshEditor_var aMeshEditor = theMesh->GetMeshEditor();
aMeshEditor->AddNode( x, y, z ); aNodeId = aMeshEditor->AddNode( x, y, z );
theMesh->SetParameters( theParameters.join(":").toLatin1().constData() ); theMesh->SetParameters( theParameters.join(":").toLatin1().constData() );
_PTR(Study) aStudy = GetActiveStudyDocument(); _PTR(Study) aStudy = GetActiveStudyDocument();
CORBA::Long anId = aStudy->StudyId(); CORBA::Long anId = aStudy->StudyId();
@ -111,6 +114,7 @@ namespace SMESH
catch ( ... ) { catch ( ... ) {
INFOS( "Unknown exception was cought !!!" ); INFOS( "Unknown exception was cought !!!" );
} }
return aNodeId;
} }
class TNodeSimulation class TNodeSimulation
@ -277,6 +281,21 @@ SMESHGUI_NodesDlg::SMESHGUI_NodesDlg( SMESHGUI* theModule ):
GroupCoordinatesLayout->addWidget( TextLabel_Z ); GroupCoordinatesLayout->addWidget( TextLabel_Z );
GroupCoordinatesLayout->addWidget( SpinBox_Z ); GroupCoordinatesLayout->addWidget( SpinBox_Z );
/***************************************************************/
GroupGroups = new QGroupBox( tr( "SMESH_ADD_TO_GROUP" ), this );
GroupGroups->setCheckable( true );
QHBoxLayout* GroupGroupsLayout = new QHBoxLayout(GroupGroups);
GroupGroupsLayout->setSpacing(SPACING);
GroupGroupsLayout->setMargin(MARGIN);
TextLabel_GroupName = new QLabel( tr( "SMESH_GROUP" ), GroupGroups );
ComboBox_GroupName = new QComboBox( GroupGroups );
ComboBox_GroupName->setEditable( true );
GroupGroupsLayout->addWidget( TextLabel_GroupName );
GroupGroupsLayout->addWidget( ComboBox_GroupName, 1 );
/***************************************************************/ /***************************************************************/
GroupButtons = new QGroupBox( this ); GroupButtons = new QGroupBox( this );
QHBoxLayout* GroupButtonsLayout = new QHBoxLayout( GroupButtons ); QHBoxLayout* GroupButtonsLayout = new QHBoxLayout( GroupButtons );
@ -303,6 +322,7 @@ SMESHGUI_NodesDlg::SMESHGUI_NodesDlg( SMESHGUI* theModule ):
/***************************************************************/ /***************************************************************/
SMESHGUI_NodesDlgLayout->addWidget( GroupConstructors ); SMESHGUI_NodesDlgLayout->addWidget( GroupConstructors );
SMESHGUI_NodesDlgLayout->addWidget( GroupCoordinates ); SMESHGUI_NodesDlgLayout->addWidget( GroupCoordinates );
SMESHGUI_NodesDlgLayout->addWidget( GroupGroups );
SMESHGUI_NodesDlgLayout->addWidget( GroupButtons ); SMESHGUI_NodesDlgLayout->addWidget( GroupButtons );
myHelpFileName = "adding_nodes_and_elements_page.html#adding_nodes_anchor"; myHelpFileName = "adding_nodes_and_elements_page.html#adding_nodes_anchor";
@ -337,6 +357,9 @@ void SMESHGUI_NodesDlg::Init()
SpinBox_Y->SetValue( 0.0 ); SpinBox_Y->SetValue( 0.0 );
SpinBox_Z->SetValue( 0.0 ); SpinBox_Z->SetValue( 0.0 );
/* reset "Add to group" control */
GroupGroups->setChecked( false );
mySMESHGUI->SetActiveDialogBox( this ); mySMESHGUI->SetActiveDialogBox( this );
/* signals and slots connections */ /* signals and slots connections */
@ -416,9 +439,37 @@ bool SMESHGUI_NodesDlg::ClickOnApply()
aParameters << SpinBox_Z->text(); aParameters << SpinBox_Z->text();
mySimulation->SetVisibility( false ); mySimulation->SetVisibility( false );
SMESH::AddNode( myMesh, x, y, z, aParameters ); long aNodeId = SMESH::AddNode( myMesh, x, y, z, aParameters );
SMESH::SetPointRepresentation( true ); SMESH::SetPointRepresentation( true );
if( aNodeId != -1 && GroupGroups->isChecked() ) {
SMESH::SMESH_Group_var aGroup;
QString aGroupName = ComboBox_GroupName->currentText();
SMESH::ListOfGroups aListOfGroups = *myMesh->GetGroups();
for( int i = 0, n = aListOfGroups.length(); i < n; i++ ) {
SMESH::SMESH_GroupBase_var aGroupBase = aListOfGroups[i];
if( !aGroupBase->_is_nil() ) {
SMESH::SMESH_Group_var aRefGroup = SMESH::SMESH_Group::_narrow( aGroupBase );
if( !aRefGroup->_is_nil() ) {
QString aRefGroupName( aRefGroup->GetName() );
if( aRefGroupName == aGroupName ) {
aGroup = aRefGroup; // // add node to existing group
break;
}
}
}
}
if( aGroup->_is_nil() ) // create new group
aGroup = SMESH::AddGroup( myMesh, SMESH::NODE, aGroupName );
if( !aGroup->_is_nil() ) {
SMESH::long_array_var anIdList = new SMESH::long_array;
anIdList->length( 1 );
anIdList[0] = aNodeId;
aGroup->Add( anIdList.inout() );
}
}
// select myMesh // select myMesh
SALOME_ListIO aList; SALOME_ListIO aList;
mySelectionMgr->selectedObjects( aList ); mySelectionMgr->selectedObjects( aList );
@ -500,10 +551,13 @@ void SMESHGUI_NodesDlg::SelectionIntoArgument()
mySimulation->SetVisibility( false ); mySimulation->SetVisibility( false );
SMESH::SetPointRepresentation( true ); SMESH::SetPointRepresentation( true );
QString aCurrentEntry = myEntry;
const SALOME_ListIO& aList = mySelector->StoredIObjects(); const SALOME_ListIO& aList = mySelector->StoredIObjects();
if ( aList.Extent() == 1 ) { if ( aList.Extent() == 1 ) {
Handle(SALOME_InteractiveObject) anIO = aList.First(); Handle(SALOME_InteractiveObject) anIO = aList.First();
if ( anIO->hasEntry() ) { if ( anIO->hasEntry() ) {
myEntry = anIO->getEntry();
myMesh = SMESH::GetMeshByIO( anIO ); myMesh = SMESH::GetMeshByIO( anIO );
if ( myMesh->_is_nil() ) return; if ( myMesh->_is_nil() ) return;
QString aText; QString aText;
@ -523,6 +577,24 @@ void SMESHGUI_NodesDlg::SelectionIntoArgument()
SpinBox_Z->GetValue() ); SpinBox_Z->GetValue() );
} }
} }
// process groups
if ( !myMesh->_is_nil() && myEntry != aCurrentEntry ) {
ComboBox_GroupName->clear();
ComboBox_GroupName->addItem( QString() );
SMESH::ListOfGroups aListOfGroups = *myMesh->GetGroups();
for( int i = 0, n = aListOfGroups.length(); i < n; i++ ) {
SMESH::SMESH_GroupBase_var aGroupBase = aListOfGroups[i];
if ( !aGroupBase->_is_nil() && aGroupBase->GetType() == SMESH::NODE ) {
SMESH::SMESH_Group_var aGroup = SMESH::SMESH_Group::_narrow( aGroupBase );
if ( !aGroup->_is_nil() ) {
QString aGroupName( aGroup->GetName() );
if ( !aGroupName.isEmpty() )
ComboBox_GroupName->addItem( aGroupName );
}
}
}
}
} }
//================================================================================= //=================================================================================
@ -623,5 +695,10 @@ bool SMESHGUI_NodesDlg::isValid()
SUIT_MessageBox::critical( this, tr( "SMESH_ERROR" ), str ); SUIT_MessageBox::critical( this, tr( "SMESH_ERROR" ), str );
return false; return false;
} }
if( GroupGroups->isChecked() && ComboBox_GroupName->currentText().isEmpty() ) {
SUIT_MessageBox::warning( this, tr( "SMESH_WRN_WARNING" ), tr( "GROUP_NAME_IS_EMPTY" ) );
return false;
}
return true; return true;
} }

View File

@ -36,6 +36,7 @@
#include <SALOMEconfig.h> #include <SALOMEconfig.h>
#include CORBA_SERVER_HEADER(SMESH_Mesh) #include CORBA_SERVER_HEADER(SMESH_Mesh)
class QComboBox;
class QGroupBox; class QGroupBox;
class QLabel; class QLabel;
class QPushButton; class QPushButton;
@ -70,6 +71,7 @@ private:
SMESH::SMESH_Mesh_var myMesh; SMESH::SMESH_Mesh_var myMesh;
SMESH::TNodeSimulation* mySimulation; SMESH::TNodeSimulation* mySimulation;
QString myEntry;
void Init(); void Init();
void enterEvent( QEvent* ); void enterEvent( QEvent* );
@ -90,6 +92,10 @@ private:
QLabel* TextLabel_Y; QLabel* TextLabel_Y;
QLabel* TextLabel_Z; QLabel* TextLabel_Z;
QGroupBox* GroupGroups;
QLabel* TextLabel_GroupName;
QComboBox* ComboBox_GroupName;
QGroupBox* GroupButtons; QGroupBox* GroupButtons;
QPushButton* buttonApply; QPushButton* buttonApply;
QPushButton* buttonOk; QPushButton* buttonOk;

View File

@ -742,6 +742,11 @@ Please, select a mesh and try again</translation>
<source>MULTI_BORDERS</source> <source>MULTI_BORDERS</source>
<translation>Borders at Multi-Connections</translation> <translation>Borders at Multi-Connections</translation>
</message> </message>
<message>
<source>GROUP_NAME_IS_EMPTY</source>
<translation>Name of group is empty
Please input a name of new group or choose the existing one</translation>
</message>
<message> <message>
<source>NODE_ID</source> <source>NODE_ID</source>
<translation>Node ID</translation> <translation>Node ID</translation>
@ -864,6 +869,10 @@ Please enter correct values and try again</translation>
<source>SMESH_ADD_TETRAS_TITLE</source> <source>SMESH_ADD_TETRAS_TITLE</source>
<translation>Add Tetrahedron</translation> <translation>Add Tetrahedron</translation>
</message> </message>
<message>
<source>SMESH_ADD_TO_GROUP</source>
<translation>Add to group</translation>
</message>
<message> <message>
<source>SMESH_ADD_TRIANGLE</source> <source>SMESH_ADD_TRIANGLE</source>
<translation>Add Triangle</translation> <translation>Add Triangle</translation>