Version: 9.16.0
SMESHGUI_SmoothingDlg.h
Go to the documentation of this file.
1// Copyright (C) 2007-2026 CEA, EDF, OPEN CASCADE
2//
3// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5//
6// This library is free software; you can redistribute it and/or
7// modify it under the terms of the GNU Lesser General Public
8// License as published by the Free Software Foundation; either
9// version 2.1 of the License, or (at your option) any later version.
10//
11// This library is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14// Lesser General Public License for more details.
15//
16// You should have received a copy of the GNU Lesser General Public
17// License along with this library; if not, write to the Free Software
18// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19//
20// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21//
22
23// SMESH SMESHGUI : GUI for SMESH component
24// File : SMESHGUI_SmoothingDlg.h
25// Author : Michael ZORIN, Open CASCADE S.A.S.
26//
27#ifndef SMESHGUI_SMOOTHINGDLG_H
28#define SMESHGUI_SMOOTHINGDLG_H
29
30// SMESH includes
31#include "SMESH_SMESHGUI.hxx"
32
33// Qt includes
34#include <QDialog>
35
36// SALOME GUI includes
37#include <SALOME_InteractiveObject.hxx>
38
39// IDL includes
40#include <SALOMEconfig.h>
41#include CORBA_SERVER_HEADER(SMESH_Mesh)
42
43class QGroupBox;
44class QLabel;
45class QLineEdit;
46class QPushButton;
47class QRadioButton;
48class QComboBox;
49class QCheckBox;
50class SMESHGUI;
51class SalomeApp_IntSpinBox;
55class SMESH_Actor;
56class SVTK_Selector;
57class LightApp_SelectionMgr;
59
60//=================================================================================
61// class : SMESHGUI_SmoothingDlg
62// purpose :
63//=================================================================================
65{
66 Q_OBJECT
67
68public:
71
72private:
73 void Init();
74 void enterEvent( QEvent* ); /* mouse enter the QWidget */
75 void keyPressEvent( QKeyEvent* );
76 void setFilters( const bool theIsElem );
77
78 bool isValid();
79
80 SMESHGUI* mySMESHGUI; /* Current SMESHGUI object */
82 LightApp_SelectionMgr* mySelectionMgr; /* User shape selection */
83 int myNbOkElements; /* to check when elements are defined */
84 int myNbOkNodes; /* to check when fixed nodes are defined */
85 int myConstructorId; /* Current constructor id = radio button id */
86 QLineEdit* myEditCurrentArgument; /* Current LineEdit */
87 SVTK_Selector* mySelector;
88
89 SMESH::SMESH_IDSource_var mySelectedObject;
90
91 bool myBusy;
92 SMESH::SMESH_Mesh_var myMesh;
94 Handle(SALOME_InteractiveObject) myIO;
96
98 QRadioButton* Constructor1;
100 QPushButton* buttonOk;
101 QPushButton* buttonCancel;
102 QPushButton* buttonApply;
103 QPushButton* buttonHelp;
108 QCheckBox* CheckBoxMesh;
110 QPushButton* SelectNodesButton;
111 QLineEdit* LineEditNodes;
115 SalomeApp_IntSpinBox* SpinBox_IterationLimit;
119
121
122 QPushButton* myElemFilterBtn;
124
125protected slots:
126 virtual void reject();
127
128
129private slots:
130 void ClickOnOk();
131 bool ClickOnApply();
132 void ClickOnHelp();
133 void SetEditCurrentArgument();
134 void SelectionIntoArgument();
135 void DeactivateActiveDialog();
136 void ActivateThisDialog();
137 void onTextChange( const QString& );
138 void onSelectMesh( bool );
139 void onOpenView();
140 void onCloseView();
141 void setElemFilters();
142 void setNodeFilters();
143};
144
145#endif // SMESHGUI_SMOOTHINGDLG_H
#define SMESHGUI_EXPORT
Definition: SMESH_SMESHGUI.hxx:36
Class : SMESHGUI_FilterDlg Description : Dialog to specify filters for VTK viewer.
Definition: SMESHGUI_FilterDlg.h:217
Definition: SMESHGUI_IdValidator.h:39
Definition: SMESHGUI_SmoothingDlg.h:65
QPushButton * buttonHelp
Definition: SMESHGUI_SmoothingDlg.h:103
SMESHGUI_IdValidator * myIdValidator
Definition: SMESHGUI_SmoothingDlg.h:81
QGroupBox * GroupArguments
Definition: SMESHGUI_SmoothingDlg.h:104
QLineEdit * LineEditNodes
Definition: SMESHGUI_SmoothingDlg.h:111
QPushButton * SelectElementsButton
Definition: SMESHGUI_SmoothingDlg.h:106
SMESH::SMESH_IDSource_var mySelectedObject
Definition: SMESHGUI_SmoothingDlg.h:89
SMESHGUI_SpinBox * SpinBox_AspectRatio
Definition: SMESHGUI_SmoothingDlg.h:117
int myNbOkNodes
Definition: SMESHGUI_SmoothingDlg.h:84
QLineEdit * LineEditElements
Definition: SMESHGUI_SmoothingDlg.h:107
SMESH_Actor * myActor
Definition: SMESHGUI_SmoothingDlg.h:93
QLabel * TextLabelMethod
Definition: SMESHGUI_SmoothingDlg.h:112
Handle(SALOME_InteractiveObject) myIO
SMESHGUI_FilterDlg * myFilterDlg
Definition: SMESHGUI_SmoothingDlg.h:123
QPushButton * buttonCancel
Definition: SMESHGUI_SmoothingDlg.h:101
QPushButton * buttonApply
Definition: SMESHGUI_SmoothingDlg.h:102
SVTK_Selector * mySelector
Definition: SMESHGUI_SmoothingDlg.h:87
QLabel * TextLabelNodes
Definition: SMESHGUI_SmoothingDlg.h:109
SMESH::SMESH_Mesh_var myMesh
Definition: SMESHGUI_SmoothingDlg.h:92
QLabel * TextLabelElements
Definition: SMESHGUI_SmoothingDlg.h:105
QCheckBox * CheckBoxMesh
Definition: SMESHGUI_SmoothingDlg.h:108
QPushButton * buttonOk
Definition: SMESHGUI_SmoothingDlg.h:100
QString myHelpFileName
Definition: SMESHGUI_SmoothingDlg.h:120
QRadioButton * Constructor1
Definition: SMESHGUI_SmoothingDlg.h:98
QLabel * TextLabelAspectRatio
Definition: SMESHGUI_SmoothingDlg.h:116
int myConstructorId
Definition: SMESHGUI_SmoothingDlg.h:85
QCheckBox * CheckBoxParametric
Definition: SMESHGUI_SmoothingDlg.h:118
QPushButton * myElemFilterBtn
Definition: SMESHGUI_SmoothingDlg.h:122
SMESHGUI * mySMESHGUI
Definition: SMESHGUI_SmoothingDlg.h:80
SalomeApp_IntSpinBox * SpinBox_IterationLimit
Definition: SMESHGUI_SmoothingDlg.h:115
QGroupBox * GroupButtons
Definition: SMESHGUI_SmoothingDlg.h:99
SMESH_LogicalFilter * myMeshOrSubMeshOrGroupFilter
Definition: SMESHGUI_SmoothingDlg.h:95
LightApp_SelectionMgr * mySelectionMgr
Definition: SMESHGUI_SmoothingDlg.h:82
int myNbOkElements
Definition: SMESHGUI_SmoothingDlg.h:83
QGroupBox * GroupConstructors
Definition: SMESHGUI_SmoothingDlg.h:97
QPushButton * SelectNodesButton
Definition: SMESHGUI_SmoothingDlg.h:110
QComboBox * ComboBoxMethod
Definition: SMESHGUI_SmoothingDlg.h:113
QLabel * TextLabelLimit
Definition: SMESHGUI_SmoothingDlg.h:114
QLineEdit * myEditCurrentArgument
Definition: SMESHGUI_SmoothingDlg.h:86
bool myBusy
Definition: SMESHGUI_SmoothingDlg.h:91
Definition: SMESHGUI_SpinBox.h:48
Definition: SMESHGUI.h:84
Definition: SMESH_Actor.h:56
Definition: SMESH_LogicalFilter.hxx:36