X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_MergeDlg.h;h=6b087b631c41d110ce318bdf9ceee8a7dbe2fba6;hp=7e777ea4305cf8d107a9df6f69f96fc255832734;hb=9dd045b97c68174d7ce52d592b239c6a1769e464;hpb=b22e182dd1a2c30be324b21074158390d00714b3 diff --git a/src/SMESHGUI/SMESHGUI_MergeDlg.h b/src/SMESHGUI/SMESHGUI_MergeDlg.h index 7e777ea43..6b087b631 100644 --- a/src/SMESHGUI/SMESHGUI_MergeDlg.h +++ b/src/SMESHGUI/SMESHGUI_MergeDlg.h @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2016 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 @@ -35,29 +35,31 @@ // OCCT includes #include +#include // STL includes #include +#include // IDL includes #include #include CORBA_SERVER_HEADER(SMESH_Mesh) +class LightApp_SelectionMgr; +class QButtonGroup; +class QCheckBox; class QGroupBox; class QLabel; class QLineEdit; +class QListWidget; class QPushButton; class QRadioButton; -class QCheckBox; -class QListWidget; -class QButtonGroup; class SMESHGUI; +class SMESHGUI_IdPreview; class SMESHGUI_SpinBox; class SMESH_Actor; -class SVTK_Selector; -class LightApp_SelectionMgr; class SUIT_SelectionFilter; -class TColStd_MapOfInteger; +class SVTK_Selector; namespace SMESH { @@ -76,13 +78,18 @@ public: SMESHGUI_MergeDlg( SMESHGUI*, int ); ~SMESHGUI_MergeDlg(); + static QPixmap IconFirst(); + private: void Init(); void enterEvent( QEvent* ); /* mouse enter the QWidget */ void keyPressEvent( QKeyEvent* ); void onEditGroup(); + bool isKeepNodesIDsSelection(); + bool isNewKeepNodesGroup( const char* entry ); - void FindGravityCenter( TColStd_MapOfInteger&, + void FindGravityCenter( TColStd_MapOfInteger&, + std::vector& , std::list& ); // add the centers of gravity of ElemsIdMap elements to the GrCentersXYZ list @@ -99,16 +106,15 @@ private: SMESH::SMESH_IDSource_var mySubMeshOrGroup; SMESH_Actor* myActor; SUIT_SelectionFilter* myMeshOrSubMeshOrGroupFilter; + SUIT_SelectionFilter* mySubMeshOrGroupFilter; - SMESH::TIdPreview* myIdPreview; + SMESHGUI_IdPreview* myIdPreview; int myAction; bool myIsBusy; - int myTypeId; + int myTypeId; // manual(1) or automatic(0) // Widgets - QGroupBox* GroupConstructors; - QRadioButton* RadioButton; QGroupBox* GroupButtons; QPushButton* buttonOk; @@ -121,11 +127,13 @@ private: QPushButton* SelectMeshButton; QLineEdit* LineEditMesh; - QGroupBox* GroupCoincident; - QWidget* GroupCoincidentWidget; - QLabel* TextLabelTolerance; + QWidget* NodeSpecWidget; SMESHGUI_SpinBox* SpinBoxTolerance; QCheckBox* SeparateCornersAndMedium; + QCheckBox* AvoidMakingHoles; + + QGroupBox* GroupCoincident; + //QWidget* GroupCoincidentWidget; QPushButton* DetectButton; QListWidget* ListCoincident; QPushButton* AddGroupButton; @@ -142,6 +150,13 @@ private: QGroupBox* GroupExclude; QListWidget* ListExclude; + QGroupBox* GroupKeep; + QButtonGroup* KeepFromButGroup; + QPushButton* SelectKeepNodesButton; + QPushButton* AddKeepNodesButton; + QPushButton* RemoveKeepNodesButton; + QListWidget* KeepList; + QGroupBox* TypeBox; QButtonGroup* GroupType; @@ -159,6 +174,10 @@ protected slots: void ClickOnHelp(); void updateControls(); void onDetect(); + void onAddKeepNode(); + void onRemoveKeepNode(); + void onSelectKeepNode(); + void onKeepNodeSourceChanged(int); void onAddGroup(); void onRemoveGroup(); void onSelectGroup();