X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_MultiEditDlg.h;h=af199e28295e6f2c35abcee06b42b592d7879cd1;hp=5e6c663268867ea8e5c1bd2bb7c19bd9a97b8c02;hb=refs%2Ftags%2FV9_7_0b1;hpb=81a502af8470190be359d6491a20796dbad5bb97 diff --git a/src/SMESHGUI/SMESHGUI_MultiEditDlg.h b/src/SMESHGUI/SMESHGUI_MultiEditDlg.h old mode 100755 new mode 100644 index 5e6c66326..af199e282 --- a/src/SMESHGUI/SMESHGUI_MultiEditDlg.h +++ b/src/SMESHGUI/SMESHGUI_MultiEditDlg.h @@ -1,41 +1,47 @@ -// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// Copyright (C) 2007-2021 CEA/DEN, EDF R&D, OPEN CASCADE // -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License. +// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. // -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. // -// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // -// -// File : SMESHGUI_MultiEditDlg.h -// Author : Sergey LITONIN -// Module : SMESH - -#ifndef SMESHGUI_MultiEditDlg_H -#define SMESHGUI_MultiEditDlg_H +// File : SMESHGUI_MultiEditDlg.h +// Author : Sergey LITONIN, Open CASCADE S.A.S. +// +#ifndef SMESHGUI_MULTIEDITDLG_H +#define SMESHGUI_MULTIEDITDLG_H -#include +// SMESH includes +#include "SMESH_SMESHGUI.hxx" +#include "SMESHGUI_PreviewDlg.h" -#include "SUIT_SelectionFilter.h" +// Qt includes +#include +// OCCT includes #include +// IDL includes #include #include CORBA_SERVER_HEADER(SMESH_Mesh) -#include CORBA_SERVER_HEADER(SMESH_Filter) +#include CORBA_SERVER_HEADER(SMESH_MeshEditor) + +#include class SMESHGUI; class SMESHGUI_FilterDlg; @@ -46,11 +52,8 @@ class SMESH_Actor; class LightApp_SelectionMgr; class SALOME_Actor; class SVTK_Selector; -class SVTK_ViewWindow; -class QFrame; -class QObject; -class QListBox; +class QListWidget; class QComboBox; class QCheckBox; class QGroupBox; @@ -64,20 +67,20 @@ class QButtonGroup; * union of two neighboring triangles */ -class SMESHGUI_MultiEditDlg : public QDialog +class SMESHGUI_EXPORT SMESHGUI_MultiEditDlg : public SMESHGUI_PreviewDlg { Q_OBJECT public: - SMESHGUI_MultiEditDlg(SMESHGUI* theModule, - const int, - const bool = false, - const char* = 0 ); - virtual ~SMESHGUI_MultiEditDlg(); + SMESHGUI_MultiEditDlg( SMESHGUI* theModule, + const int theMode, + const bool the3d2d = false, + bool theDoInit = true ); + virtual ~SMESHGUI_MultiEditDlg(); void Init(); - bool eventFilter( QObject* object, QEvent* event ); + bool eventFilter( QObject*, QEvent* ); signals: void ListContensChanged(); @@ -85,10 +88,11 @@ signals: protected slots: void onOk(); virtual bool onApply(); - virtual void onClose(); + virtual void reject(); + void onHelp(); void onDeactivate(); - void onSelectionDone(); + virtual void onSelectionDone(); void onFilterBtn(); void onAddBtn(); @@ -99,28 +103,33 @@ protected slots: void onGroupChk(); virtual void onToAllChk(); void onFilterAccepted(); - void on3d2dChanged(int); + virtual void on3d2dChanged(int); + void onOpenView(); + void onCloseView(); SMESH::NumericalFunctor_ptr getNumericalFunctor(); protected: - void closeEvent( QCloseEvent* e ) ; - void enterEvent ( QEvent * ) ; - void hideEvent ( QHideEvent * ); /* ESC key */ - QFrame* createButtonFrame( QWidget* ); - QFrame* createMainFrame ( QWidget*, const bool ); - bool isValid( const bool ) const; - SMESH::long_array_var getIds(); + void enterEvent( QEvent * ); + void keyPressEvent( QKeyEvent* ); + QWidget* createButtonFrame( QWidget* ); + QWidget* createMainFrame( QWidget*, const bool ); + virtual bool isValid( const bool ); + SMESH::smIdType_array_var getIds(SMESH::SMESH_IDSource_var& obj); void updateButtons(); - void setSelectionMode(); - virtual bool isIdValid( const int theID ) const; - virtual bool process( SMESH::SMESH_MeshEditor_ptr, const SMESH::long_array& ) = 0; + virtual void setSelectionMode(); + virtual bool isIdValid( const int ) const; + virtual bool process( SMESH::SMESH_MeshEditor_ptr, + const SMESH::smIdType_array& , + SMESH::SMESH_IDSource_ptr obj) = 0; + virtual smIdType nbElemsInMesh() = 0; int entityType(); protected: QPushButton* myOkBtn; QPushButton* myApplyBtn; QPushButton* myCloseBtn; + QPushButton* myHelpBtn; SMESH_Actor* myActor; SMESH::SMESH_Mesh_var myMesh; @@ -131,10 +140,11 @@ protected: QGroupBox* mySelGrp; QGroupBox* myCriterionGrp; + QWidget* myChoiceWidget; QButtonGroup* myGroupChoice; QComboBox* myComboBoxFunctor; - QListBox* myListBox; + QListWidget* myListBox; QPushButton* myFilterBtn; QPushButton* myAddBtn; QPushButton* myRemoveBtn; @@ -156,6 +166,8 @@ protected: int myFilterType; bool myBusy; int myEntityType; + + QString myHelpFileName; }; /*! @@ -167,12 +179,14 @@ class SMESHGUI_ChangeOrientationDlg : public SMESHGUI_MultiEditDlg Q_OBJECT public: - SMESHGUI_ChangeOrientationDlg(SMESHGUI* theModule, - const char* = 0); - virtual ~SMESHGUI_ChangeOrientationDlg(); + SMESHGUI_ChangeOrientationDlg( SMESHGUI* ); + virtual ~SMESHGUI_ChangeOrientationDlg(); protected: - virtual bool process( SMESH::SMESH_MeshEditor_ptr, const SMESH::long_array& ); + virtual bool process( SMESH::SMESH_MeshEditor_ptr, + const SMESH::smIdType_array& , + SMESH::SMESH_IDSource_ptr obj); + virtual smIdType nbElemsInMesh(); }; /*! @@ -184,12 +198,18 @@ class SMESHGUI_UnionOfTrianglesDlg : public SMESHGUI_MultiEditDlg Q_OBJECT public: - SMESHGUI_UnionOfTrianglesDlg(SMESHGUI* theModule, - const char* = 0); - virtual ~SMESHGUI_UnionOfTrianglesDlg(); + SMESHGUI_UnionOfTrianglesDlg( SMESHGUI* ); + virtual ~SMESHGUI_UnionOfTrianglesDlg(); protected: - virtual bool process( SMESH::SMESH_MeshEditor_ptr, const SMESH::long_array& ); + virtual bool isValid( const bool ); + virtual bool process( SMESH::SMESH_MeshEditor_ptr, + const SMESH::smIdType_array&, + SMESH::SMESH_IDSource_ptr obj ); + virtual smIdType nbElemsInMesh(); + +protected slots: + virtual void onDisplaySimulation( bool ); private: SMESHGUI_SpinBox* myMaxAngleSpin; @@ -204,15 +224,17 @@ class SMESHGUI_CuttingOfQuadsDlg : public SMESHGUI_MultiEditDlg Q_OBJECT public: - SMESHGUI_CuttingOfQuadsDlg(SMESHGUI* theModule, - const char* = 0); - virtual ~SMESHGUI_CuttingOfQuadsDlg(); + SMESHGUI_CuttingOfQuadsDlg( SMESHGUI* ); + virtual ~SMESHGUI_CuttingOfQuadsDlg(); protected: - virtual bool process( SMESH::SMESH_MeshEditor_ptr, const SMESH::long_array& ); + virtual bool process( SMESH::SMESH_MeshEditor_ptr, + const SMESH::smIdType_array& , + SMESH::SMESH_IDSource_ptr obj); + virtual smIdType nbElemsInMesh(); protected slots: - virtual void onClose(); + virtual void reject(); void onCriterionRB(); void onPreviewChk(); @@ -225,4 +247,46 @@ private: QCheckBox* myPreviewChk; }; -#endif +/*! + * Class : SMESHGUI_SplitVolumesDlg + * Description : Split all volumes into tetrahedrons + */ +class SMESHGUI_SplitVolumesDlg : public SMESHGUI_MultiEditDlg +{ + Q_OBJECT + +public: + SMESHGUI_SplitVolumesDlg( SMESHGUI* ); + virtual ~SMESHGUI_SplitVolumesDlg(); + +protected slots: + + virtual void on3d2dChanged(int); + virtual void onSelectionDone(); + + void onFacetSelection(bool); + void onSetDir(); + void updateNormalPreview(const QString& s=""); + +protected: + + virtual bool process( SMESH::SMESH_MeshEditor_ptr, + const SMESH::smIdType_array&, + SMESH::SMESH_IDSource_ptr obj ); + virtual smIdType nbElemsInMesh(); + + virtual void setSelectionMode(); + void showFacetByElement( int id ); + bool isIntoPrisms(); + + QGroupBox* myFacetSelGrp; + SMESHGUI_SpinBox* myPointSpin[3]; + SMESHGUI_SpinBox* myDirSpin [3]; + QPushButton* myFacetSelBtn; + QPushButton* myAxisBtn[3]; + QCheckBox* myAllDomainsChk; + + double myCellSize; +}; + +#endif // SMESHGUI_MULTIEDITDLG_H