-// Copyright (C) 2004-2016 CEA/DEN, EDF R&D
+// Copyright (C) 2004-2022 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
#include CORBA_SERVER_HEADER(SMESH_Mesh)
class QWidget;
+class QButtonGroup;
class QComboBox;
class QCheckBox;
class QLineEdit;
class QTableWidget;
class QTableWidgetItem;
class QHeaderView;
+class QGroupBox;
-class SMESHGUI_SpinBox;
-class StdMeshersGUI_ObjectReferenceParamWdg;
+class GHS3DPluginGUI_AdvWidget;
class LightApp_SelectionMgr;
+class SMESHGUI_SpinBox;
class SUIT_SelectionFilter;
-class GHS3DPluginGUI_AdvWidget;
+class SalomeApp_IntSpinBox;
+class StdMeshersGUI_ObjectReferenceParamWdg;
class QTEnfVertex
{
typedef struct
{
- bool myToMeshHoles,myToMakeGroupsOfDomains,myKeepFiles,myToCreateNewNodes,myBoundaryRecovery,myFEMCorrection,myRemoveInitialCentralPoint,
- myLogInStandardOutput, myRemoveLogOnSuccess;
- long myMaximumMemory;
- long myInitialMemory;
int myOptimizationLevel;
- QString myName,myWorkingDir,myTextOption;
+ double myMinSize, myMaxSize, myMinSizeDefault, myMaxSizeDefault;
double myGradation;
+ int myNbProximityLayers;
+ bool myUseMinSize, myUseMaxSize, myUseGradation, myUseProximity;
+ bool myToMeshHoles, myToMakeGroupsOfDomains;
+ bool myToCreateNewNodes,myBoundaryRecovery,myFEMCorrection,myRemoveInitialCentralPoint,
+ myKeepFiles,myLogInStandardOutput, myRemoveLogOnSuccess;
+ float myInitialMemory, myMaximumMemory;
+ QString myName,myWorkingDir;
short myVerboseLevel;
TEnfVertexList myEnforcedVertices;
TEnfMeshList myEnforcedMeshes;
+ short myAlgorithm, myNumOfThreads, myPthreadMode, myParallelMode;
+ bool myUseNumOfThreads;
+
+ int myOptimization, mySplitOverConstrained, myPThreadsMode, myNumberOfThreads;
+ bool mySmoothOffSlivers;
+
} GHS3DHypothesisData;
/*!
virtual QString type() const;
protected slots:
+ void onAddOption();
void onToMeshHoles(bool);
void onDirBtnClicked();
void updateWidgets();
void onRemoveEnforcedMesh();
//void synchronizeEnforcedMesh();
void checkEnfMeshIsDefined();
+ void onRadioButtonSelect();
+ void onNumOfThreadsCheck();
signals:
void vertexDefined(bool);
bool storeParamsToHypo( const GHS3DHypothesisData& ) const;
GeomSelectionTools* getGeomSelectionTool();
GEOM::GEOM_Gen_var getGeomEngine();
+ bool isOptimization() const;
private:
- QWidget* myStdGroup;
- QLineEdit* myName;
- QCheckBox* myToMeshHolesCheck;
- QCheckBox* myToMakeGroupsOfDomains;
- QComboBox* myOptimizationLevelCombo;
+ QWidget* myStdGroup;
+ QLineEdit* myName;
+ // main
+ QComboBox* myOptimizationLevelCombo;
+ QCheckBox* myMinSizeCheck;
+ QCheckBox* myMaxSizeCheck;
+ SMESHGUI_SpinBox* myMinSizeSpin;
+ SMESHGUI_SpinBox* myMaxSizeSpin;
+ QCheckBox* myNumOfThreadsCheck;
+ SalomeApp_IntSpinBox* myNumOfThreadsSpin;
+ mutable double myMinSizeDefault, myMaxSizeDefault;
+ // proximity
+ QCheckBox* myGradationCheck;
+ SMESHGUI_SpinBox* myGradationSpin;
+ QGroupBox* myUseProximityGroup;
+ SalomeApp_IntSpinBox* myNbProximityLayers;
+ // other
+ QCheckBox* myToMakeGroupsOfDomains;
+ QCheckBox* myToMeshHolesCheck;
+
+ QComboBox* myOptimizationCombo;
+ QComboBox* mySplitOverConstrainedCombo;
+ QComboBox* myPThreadsModeCombo;
+ SalomeApp_IntSpinBox* myNumberOfThreadsSpin;
+ QCheckBox* mySmoothOffSliversCheck;
+ QCheckBox* myCreateNewNodesCheck;
+ QComboBox* myPthreadMode;
+ QComboBox* myParallelMode;
+ QButtonGroup* myRadioBottomGroup;
QWidget* myAdvGroup;
GHS3DPluginGUI_AdvWidget* myAdvWidget;
+ mutable GHS3DPlugin::string_array_var myOptions, myCustomOptions;
+
- QWidget* myEnfGroup;
- QPixmap iconVertex, iconCompound;
+ QWidget* myEnfGroup;
+ QPixmap iconVertex, iconCompound;
StdMeshersGUI_ObjectReferenceParamWdg *myEnfVertexWdg;
GEOM::GEOM_Object_var myEnfVertex;
- QTableWidget* myEnforcedTableWidget;
- SMESHGUI_SpinBox* myXCoord;
- SMESHGUI_SpinBox* myYCoord;
- SMESHGUI_SpinBox* myZCoord;
- SMESHGUI_SpinBox* mySizeValue;
- QLineEdit* myGroupName;
-// QGroupBox* makeGroupsCheck;
-// QCheckBox* myGlobalGroupName;
- QPushButton* addVertexButton;
- QPushButton* removeVertexButton;
+ QTableWidget* myEnforcedTableWidget;
+ SMESHGUI_SpinBox* myXCoord;
+ SMESHGUI_SpinBox* myYCoord;
+ SMESHGUI_SpinBox* myZCoord;
+ SMESHGUI_SpinBox* mySizeValue;
+ QLineEdit* myGroupName;
+ QPushButton* addVertexButton;
+ QPushButton* removeVertexButton;
- QWidget* myEnfMeshGroup;
+ QWidget* myEnfMeshGroup;
StdMeshersGUI_ObjectReferenceParamWdg *myEnfMeshWdg;
-// SMESH::SMESH_IDSource_var myEnfMesh;
- QComboBox* myEnfMeshConstraint;
- QStringList myEnfMeshConstraintLabels;
-// SMESH::mesh_array_var myEnfMeshArray;
- QTableWidget* myEnforcedMeshTableWidget;
- QLineEdit* myMeshGroupName;
- QPushButton* addEnfMeshButton;
- QPushButton* removeEnfMeshButton;
+ QComboBox* myEnfMeshConstraint;
+ QStringList myEnfMeshConstraintLabels;
+ QTableWidget* myEnforcedMeshTableWidget;
+ QLineEdit* myMeshGroupName;
+ QPushButton* addEnfMeshButton;
+ QPushButton* removeEnfMeshButton;
GeomSelectionTools* GeomToolSelected;
-// SVTK_Selector* mySelector;
-// LightApp_SelectionMgr* mySelectionMgr; /* User shape selection */
};
class EnforcedVertexTableWidgetDelegate : public QItemDelegate