X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_ExtrusionDlg.h;h=524ec478be13315f5a38a01cb38b9a613e6c593b;hp=ed94f5c84a76a31a33b13f5ba19f99e4991fa5c6;hb=8f903d5ee57f0e646cf05d68d85418c68d497053;hpb=7eda9ca931ed2a11cb5e4637e4ffe19f5c061115 diff --git a/src/SMESHGUI/SMESHGUI_ExtrusionDlg.h b/src/SMESHGUI/SMESHGUI_ExtrusionDlg.h index ed94f5c84..524ec478b 100644 --- a/src/SMESHGUI/SMESHGUI_ExtrusionDlg.h +++ b/src/SMESHGUI/SMESHGUI_ExtrusionDlg.h @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2021 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 @@ -41,12 +41,14 @@ #include CORBA_SERVER_HEADER(SMESH_MeshEditor) class QButtonGroup; -class QRadioButton; +class QCheckBox; class QGroupBox; class QLabel; class QLineEdit; -class QCheckBox; +class QListWidget; class QPushButton; +class QRadioButton; +class QToolButton; class SMESHGUI; class SMESH_Actor; @@ -59,7 +61,7 @@ class SUIT_SelectionFilter; class SalomeApp_IntSpinBox; //================================================================================= -// class : SMESHGUI_ExtrusionDlg +// class : SMESHGUI_3TypesSelector // purpose : A widget used to select both nodes, edges and faces for // Extrusion and Revolution operations //================================================================================= @@ -98,7 +100,7 @@ class SMESHGUI_EXPORT SMESHGUI_3TypesSelector : public QWidget private: - void addTmpIdSource( SMESH::long_array_var& ids, + void addTmpIdSource( SMESH::smIdType_array_var& ids, int iType, int index); QGroupBox* myGroups [3]; @@ -143,12 +145,19 @@ private: void getExtrusionVector(SMESH::DirStruct& aVector); void extrusionByNormal(SMESH::SMESH_MeshEditor_ptr meshEditor, const bool makeGroups=false); + void getScaleParams( SMESH::double_array*& scales, + SMESH::double_array*& basePoint, + bool & scalesVariation, + SMESH::double_array*& angles, + bool & anglesVariation); bool isValid(); bool isValuesValid(); LightApp_SelectionMgr* mySelectionMgr; /* User shape selection */ SVTK_Selector* mySelector; + QList myScalesList; + QList myAnglesList; // widgets SMESHGUI_3TypesSelector* SelectorWdg; @@ -180,6 +189,26 @@ private: QCheckBox* UseInputElemsOnlyCheck; QCheckBox* MakeGroupsCheck; + QGroupBox* BasePointGrp; + QPushButton* SelectBasePointButton; + SMESHGUI_SpinBox* BasePoint_XSpin; + SMESHGUI_SpinBox* BasePoint_YSpin; + SMESHGUI_SpinBox* BasePoint_ZSpin; + + QGroupBox* ScalesGrp; + QListWidget* ScalesList; + QToolButton* AddScaleButton; + QToolButton* RemoveScaleButton; + SMESHGUI_SpinBox* ScaleSpin; + QCheckBox* LinearScalesCheck; + + QGroupBox* AnglesGrp; + QListWidget* AnglesList; + QToolButton* AddAngleButton; + QToolButton* RemoveAngleButton; + SMESHGUI_SpinBox* AngleSpin; + QCheckBox* LinearAnglesCheck; + QGroupBox* GroupButtons; QPushButton* buttonOk; QPushButton* buttonCancel; @@ -205,6 +234,8 @@ private slots: void ActivateThisDialog(); void onOpenView(); void onCloseView(); + void OnScaleAdded(); + void OnScaleRemoved(); };