-// Copyright (C) 2007-2016 CEA/DEN, EDF R&D
+// Copyright (C) 2007-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_Gen)
#include CORBA_SERVER_HEADER(SMESH_Mesh)
-class QWidget;
-class QComboBox;
class QCheckBox;
+class QComboBox;
+class QHeaderView;
class QLineEdit;
class QSpinBox;
class QTableWidget;
class QTableWidgetItem;
-class QHeaderView;
+class QWidget;
-class SMESHGUI_SpinBox;
-class StdMeshersGUI_ObjectReferenceParamWdg;
+class HYBRIDPluginGUI_StdWidget;
+class HYBRIDPluginGUI_AdvWidget;
class LightApp_SelectionMgr;
+class SMESHGUI_SpinBox;
class SUIT_SelectionFilter;
-class HYBRIDPluginGUI_AdvWidget;
+class StdMeshersGUI_ObjectReferenceParamWdg;
+class StdMeshersGUI_SubShapeSelectorWdg;
class QTEnfVertex
{
typedef struct
{
- bool myLayersOnAllWrap, myToMeshHoles, myToMakeGroupsOfDomains,
- myKeepFiles, myToCreateNewNodes,
- myBoundaryRecovery, myFEMCorrection,
- myRemoveInitialCentralPoint,
- myLogInStandardOutput, myRemoveLogOnSuccess;
- double myMaximumMemory,myInitialMemory;
- int myOptimizationLevel;
- int myCollisionMode;
- int myBoundaryLayersGrowth;
- int myElementGeneration;
- QString myName,myWorkingDir,myTextOption;
+ bool myHeightIsRelative, myImprinting, mySnapping, myLayersOnAllWrap,
+ myKeepFiles, myLogInStandardOutput, myRemoveLogOnSuccess;
+ int myOptimizationLevel, myCollisionMode, myBoundaryLayersGrowth, myElementGeneration;
+ QString myName,myWorkingDir;
double myGradation;
short myVerboseLevel;
TEnfVertexList myEnforcedVertices;
TEnfMeshList myEnforcedMeshes;
- bool myAddMultinormals,
- mySmoothNormals;
double myHeightFirstLayer,
myBoundaryLayersProgression,
- myMultinormalsAngle;
+ myCoreSize,
+ myBoundaryLayersMaxElemAngle;
short myNbOfBoundaryLayers;
+ // IDs of faces with layers
+ SMESH::long_array_var myFaceWLIds;
+ // IDs of faces with imprinting
+ SMESH::long_array_var myFaceWIIds;
+ // IDs of faces with snapping
+ SMESH::long_array_var myFaceWSIds;
+
} HYBRIDHypothesisData;
/*!
virtual QString type() const;
protected slots:
- void onLayersOnAllWrap(bool);
- void onToMeshHoles(bool);
+ void onAddOption();
void onDirBtnClicked();
void updateWidgets();
void onRemoveEnforcedMesh();
//void synchronizeEnforcedMesh();
void checkEnfMeshIsDefined();
+ void onTabChanged( int );
signals:
void vertexDefined(bool);
private:
QWidget* myStdGroup;
QLineEdit* myName;
- QCheckBox* myLayersOnAllWrapCheck;
- QCheckBox* myToMeshHolesCheck;
- QCheckBox* myToMakeGroupsOfDomains;
- QComboBox* myOptimizationLevelCombo;
- QComboBox* myCollisionModeCombo;
- QComboBox* myBoundaryLayersGrowthCombo;
- QComboBox* myElementGenerationCombo;
- QCheckBox* myAddMultinormalsCheck;
- QCheckBox* mySmoothNormals;
- QWidget* myAdvGroup;
+ HYBRIDPluginGUI_StdWidget* myStdWidget;
HYBRIDPluginGUI_AdvWidget* myAdvWidget;
-
+
+ mutable HYBRIDPlugin::string_array_var myOptions, myCustomOptions;
+
QWidget* myEnfGroup;
QPixmap iconVertex, iconCompound;
StdMeshersGUI_ObjectReferenceParamWdg *myEnfVertexWdg;
SMESHGUI_SpinBox* myHeightFirstLayerSpin;
QSpinBox* myNbOfBoundaryLayersSpin;
SMESHGUI_SpinBox* myBoundaryLayersProgressionSpin;
+ SMESHGUI_SpinBox* myCoreSizeSpin;
SMESHGUI_SpinBox* myMultinormalsAngleSpin;
QCheckBox* mySmoothNormalsCheck;
+ QLabel* myFacesLbl;
+ StdMeshersGUI_SubShapeSelectorWdg* myFaceSelectorLayers;
+ StdMeshersGUI_SubShapeSelectorWdg* myFaceSelectorImprinting;
+ StdMeshersGUI_SubShapeSelectorWdg* myFaceSelectorSnapping;
};
class EnforcedVertexTableWidgetDelegate : public QItemDelegate