-// 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
// OCCT includes
#include <gp_XYZ.hxx>
+#include <TColStd_MapOfInteger.hxx>
// STL includes
#include <list>
+#include <vector>
// IDL includes
#include <SALOMEconfig.h>
#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
{
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<int>& ,
std::list<gp_XYZ>& );
// add the centers of gravity of ElemsIdMap elements to the GrCentersXYZ list
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;
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;
QGroupBox* GroupExclude;
QListWidget* ListExclude;
+ QGroupBox* GroupKeep;
+ QButtonGroup* KeepFromButGroup;
+ QPushButton* SelectKeepNodesButton;
+ QPushButton* AddKeepNodesButton;
+ QPushButton* RemoveKeepNodesButton;
+ QListWidget* KeepList;
+
QGroupBox* TypeBox;
QButtonGroup* GroupType;
void ClickOnHelp();
void updateControls();
void onDetect();
+ void onAddKeepNode();
+ void onRemoveKeepNode();
+ void onSelectKeepNode();
+ void onKeepNodeSourceChanged(int);
void onAddGroup();
void onRemoveGroup();
void onSelectGroup();
void DeactivateActiveDialog();
void ActivateThisDialog();
void onTypeChanged(int);
+ void onOpenView();
+ void onCloseView();
};
#endif // SMESHGUI_MergeDlg_H