-// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2020 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
#include <TopAbs_ShapeEnum.hxx>
-class SMESHGUI_SpinBox;
class GeomSelectionTools;
-class QComboBox;
class QCheckBox;
+class QComboBox;
class QLineEdit;
class QTableWidget;
+class SMESHGUI_SpinBox;
+class SalomeApp_IntSpinBox;
typedef struct
{
- double myMaxSize, myMinSize, myGrowthRate, myNbSegPerEdge, myNbSegPerRadius;
- int myFineness;
- bool mySecondOrder, myAllowQuadrangles, myOptimize, mySurfaceCurvature, myFuseEdges;
- QString myName;
- QString myMaxSizeVar, myMinSizeVar, myGrowthRateVar, myNbSegPerEdgeVar, myNbSegPerRadiusVar;
+ double myMaxSize, myMinSize, myGrowthRate, myNbSegPerEdge, myNbSegPerRadius, myRidgeAngle, myChordalError, myElemSizeWeight, myEdgeCornerAngle, myChartAngle, myOuterChartAngle, myRestHChartDistFactor, myRestHLineLengthFactor, myRestHCloseEdgeFactor, myRestHSurfCurvFactor, myRestHEdgeAngleFactor, myRestHSurfMeshCurvFactor;
+ int myFineness, myNbSurfOptSteps, myNbVolOptSteps, myWorstElemMeasure;
+ bool mySecondOrder, myAllowQuadrangles, myOptimize, mySurfaceCurvature, myFuseEdges, myChordalErrorEnabled, myUseDelauney, myCheckOverlapping, myCheckChartBoundary, myRestHChartDistEnable, myRestHLineLengthEnable, myRestHCloseEdgeEnable, myRestHSurfCurvEnable, myRestHEdgeAngleEnable, myRestHSurfMeshCurvEnable, myKeepExistingEdges, myMakeGroupsOfSurfaces;
+ QString myName, myMeshSizeFile;
+ QString myMaxSizeVar, myMinSizeVar, myGrowthRateVar, myNbSegPerEdgeVar, myNbSegPerRadiusVar, myRidgeAngleVar, myChordalErrorVar, myNbSurfOptStepsVar, myNbVolOptStepsVar, myElemSizeWeightVar, myWorstElemMeasureVar, myEdgeCornerAngleVar, myChartAngleVar, myOuterChartAngleVar, myRestHChartDistFactorVar, myRestHLineLengthFactorVar, myRestHCloseEdgeFactorVar, myRestHSurfCurvFactorVar, myRestHEdgeAngleFactorVar, myRestHSurfMeshCurvFactorVar;
} NetgenHypothesisData;
/*!
protected slots:
virtual void onFinenessChanged();
+ virtual void onChordalErrorEnabled();
virtual void onSurfaceCurvatureChanged();
virtual void onAddLocalSizeOnVertex();
virtual void onAddLocalSizeOnEdge();
virtual void onAddLocalSizeOnFace();
+ virtual void onAddLocalSizeOnSolid();
virtual void onRemoveLocalSizeOnShape();
virtual void onSetLocalSize(int,int);
+ virtual void onSetSizeFile();
+ virtual void onSTLEnable();
private:
bool readParamsFromHypo( NetgenHypothesisData& ) const;
void addLocalSizeOnShape(TopAbs_ShapeEnum);
private:
- QLineEdit* myName;
- SMESHGUI_SpinBox* myMaxSize;
- SMESHGUI_SpinBox* myMinSize;
- QCheckBox* mySecondOrder;
- QCheckBox* myOptimize;
- QComboBox* myFineness;
- SMESHGUI_SpinBox* myGrowthRate;
- SMESHGUI_SpinBox* myNbSegPerEdge;
- SMESHGUI_SpinBox* myNbSegPerRadius;
- QCheckBox* myAllowQuadrangles;
- QCheckBox* mySurfaceCurvature;
- QCheckBox* myFuseEdges;
-
- bool myIs2D;
- bool myIsONLY;
-
- QTableWidget* myLocalSizeTable;
- GeomSelectionTools* myGeomSelectionTools;
+ QLineEdit* myName;
+ SMESHGUI_SpinBox* myMaxSize;
+ SMESHGUI_SpinBox* myMinSize;
+ QCheckBox* mySecondOrder;
+ QCheckBox* myOptimize;
+ QComboBox* myFineness;
+ SMESHGUI_SpinBox* myGrowthRate;
+ SMESHGUI_SpinBox* myNbSegPerEdge;
+ SMESHGUI_SpinBox* myNbSegPerRadius;
+ QCheckBox* myChordalErrorEnabled;
+ SMESHGUI_SpinBox* myChordalError;
+ QCheckBox* myAllowQuadrangles;
+ QCheckBox* mySurfaceCurvature;
+ // optimizer
+ SMESHGUI_SpinBox* myElemSizeWeight;
+ SalomeApp_IntSpinBox* myNbSurfOptSteps;
+ SalomeApp_IntSpinBox* myNbVolOptSteps;
+ // insider
+ QCheckBox* myFuseEdges;
+ SalomeApp_IntSpinBox* myWorstElemMeasure;
+ QCheckBox* myUseDelauney;
+ QCheckBox* myCheckOverlapping;
+ QCheckBox* myCheckChartBoundary;
+ // stl options
+ QCheckBox* myKeepExistingEdges;
+ QCheckBox* myMakeGroupsOfSurfaces;
+ // stl charts
+ SMESHGUI_SpinBox* myRidgeAngle;
+ SMESHGUI_SpinBox* myEdgeCornerAngle;
+ SMESHGUI_SpinBox* myChartAngle;
+ SMESHGUI_SpinBox* myOuterChartAngle;
+ // stl size
+ SMESHGUI_SpinBox* myRestHChartDistFactor;
+ SMESHGUI_SpinBox* myRestHLineLengthFactor;
+ SMESHGUI_SpinBox* myRestHCloseEdgeFactor;
+ SMESHGUI_SpinBox* myRestHSurfCurvFactor;
+ SMESHGUI_SpinBox* myRestHEdgeAngleFactor;
+ SMESHGUI_SpinBox* myRestHSurfMeshCurvFactor;
+ QCheckBox* myRestHChartDistEnable;
+ QCheckBox* myRestHLineLengthEnable;
+ QCheckBox* myRestHCloseEdgeEnable;
+ QCheckBox* myRestHSurfCurvEnable;
+ QCheckBox* myRestHEdgeAngleEnable;
+ QCheckBox* myRestHSurfMeshCurvEnable;
+
+ bool myIs2D; // 2D or 3D
+ bool myIsONLY; // one dim or several
+
+ QLineEdit* myMeshSizeFile;
+ QTableWidget* myLocalSizeTable;
+ GeomSelectionTools* myGeomSelectionTools;
QMap<QString, QString> myLocalSizeMap;
};