X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGUI%2FGHS3DPluginGUI_HypothesisCreator.h;h=2212dc51c4f9d5cc347c01d0069904dbc9f0c8c5;hb=d96b871b2634572db28aae9eda5a89912312a1ac;hp=1c093caf12bf82bfd1afdf3ad7e8b348d989345a;hpb=50b6c94bbe29663e74371d8f3b9b80170d9bc83f;p=plugins%2Fghs3dplugin.git diff --git a/src/GUI/GHS3DPluginGUI_HypothesisCreator.h b/src/GUI/GHS3DPluginGUI_HypothesisCreator.h index 1c093ca..2212dc5 100644 --- a/src/GUI/GHS3DPluginGUI_HypothesisCreator.h +++ b/src/GUI/GHS3DPluginGUI_HypothesisCreator.h @@ -1,4 +1,4 @@ -// 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 @@ -56,12 +56,14 @@ class QSpinBox; 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 { @@ -141,16 +143,23 @@ typedef std::set< TEnfMesh*, CompareEnfMeshes > TEnfMeshList; 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; + + int myOptimization, mySplitOverConstrained, myPThreadsMode, myNumberOfThreads; + bool mySmoothOffSlivers; + } GHS3DHypothesisData; /*! @@ -177,6 +186,7 @@ protected: virtual QString type() const; protected slots: + void onAddOption(); void onToMeshHoles(bool); void onDirBtnClicked(); void updateWidgets(); @@ -209,46 +219,62 @@ private: 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; + 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; 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