From cc141b72a0231b7db946b0d0ad931495bab97502 Mon Sep 17 00:00:00 2001 From: eap Date: Tue, 1 Oct 2019 14:04:51 +0300 Subject: [PATCH] #17784 [EDF] MESH-GEMS-2.9.6 Meshers options Add all options available by MG-2.9.6 version. --- .../BLSURFPLUGIN/images/blsurf_parameters.png | Bin 46805 -> 60626 bytes .../images/blsurf_parameters_advanced.png | Bin 66867 -> 57345 bytes .../gui/BLSURFPLUGIN/input/blsurf_hypo.doc | 22 + idl/BLSURFPlugin_Algorithm.idl | 69 ++- src/BLSURFPlugin/BLSURFPluginBuilder.py | 65 +++ src/BLSURFPlugin/BLSURFPlugin_BLSURF.cxx | 26 ++ src/BLSURFPlugin/BLSURFPlugin_Hypothesis.cxx | 128 ++++-- src/BLSURFPlugin/BLSURFPlugin_Hypothesis.hxx | 46 +- .../BLSURFPlugin_Hypothesis_i.cxx | 109 +++++ .../BLSURFPlugin_Hypothesis_i.hxx | 38 ++ src/GUI/BLSURFPluginGUI_HypothesisCreator.cxx | 51 ++- src/GUI/BLSURFPluginGUI_HypothesisCreator.h | 6 + src/GUI/BLSURFPluginGUI_StdWidget.cxx | 24 +- src/GUI/BLSURFPluginGUI_StdWidget_QTD.ui | 404 ++++++++++++------ src/GUI/BLSURFPlugin_msg_en.ts | 60 +++ 15 files changed, 833 insertions(+), 215 deletions(-) diff --git a/doc/salome/gui/BLSURFPLUGIN/images/blsurf_parameters.png b/doc/salome/gui/BLSURFPLUGIN/images/blsurf_parameters.png index 884b4112e0cf275ae196a582bdc04b32879288fc..5f67d49f6b6ff3dbb3caf1e8ecc5220f74312b33 100644 GIT binary patch literal 60626 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 ZBZ;SfgT*WkupR{6Rnmf$-g)%wzW~6)pho}z diff --git a/doc/salome/gui/BLSURFPLUGIN/images/blsurf_parameters_advanced.png b/doc/salome/gui/BLSURFPLUGIN/images/blsurf_parameters_advanced.png index 9c966797338639be4acdf6567b80698390449059..ca5696898c7c96f3f9be268195784af5ec18e197 100644 GIT binary patch literal 57345 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 o;*Dc^PAQ$Dg@;y2$z(}hpCZ+cW#<>INzxS?t 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 MMGb{C`I}Gw1C~v$tN;K2 diff --git a/doc/salome/gui/BLSURFPLUGIN/input/blsurf_hypo.doc b/doc/salome/gui/BLSURFPLUGIN/input/blsurf_hypo.doc index 228022b..1b1c1d5 100644 --- a/doc/salome/gui/BLSURFPLUGIN/input/blsurf_hypo.doc +++ b/doc/salome/gui/BLSURFPLUGIN/input/blsurf_hypo.doc @@ -65,6 +65,20 @@ The smaller this distance is, the closer the mesh is to the exact surface (only - Quadrangles: generate a mesh with only quadrangles. +- Surface proximity - activates surface proximity based refinement. + + - Number of layers - number of surface element layers to be generated. + + - Ratio - a multiplicative coefficient which will be used to scale the size computed by +the surface proximity detection. + +- Volume proximity - activates volume proximity based refinement. + + - Number of layers - number of surface element layers to be generated. + + - Ratio - a multiplicative coefficient which will be used to scale the size computed by +the volume proximity detection. + - Anisotropic - if checked, this parameter defines the maximum anisotropic ratio of the metric governing the anisotropic meshing process. The default value (0) means that the metric (and thus the generated elements) can be arbitrarily stretched. @@ -102,6 +116,8 @@ The notion of diag used in the descriptions means the diagonal of the bou - \b Meshing options + - Independent patches - This parameter can be used to activate the more complete patch independent meshing, by generating the mesh on global user-defined hyperpatches. + - Enforce CAD edge sizes - Relaxes the given sizemap constraint around CAD edges to allow a better element quality and a better geometric approximation. It is only useful in combination with the gradation option. @@ -141,6 +157,12 @@ local size on a vertex situated on a border curve. \n All options are unchecked by default. No cleanup is made by default so that the mesh matches the shape. If the user has a bad shape (e.g. imported shape), he can activate some options to improve the mesh. + - Compute ridges - If this option is deactivated, + MeshGems-CADSurf will not try to preserve lines defined by a sharp + angle in the input discrete geometry. Only input ridges, free edges, + non manifold edges and separation betwen zones with different + attributes will be respected (if tags is set to respect). + - Closed geometry - describes whether the working geometry should be closed or not. When activated, this option helps PreCAD to process the dirtiest geometries. diff --git a/idl/BLSURFPlugin_Algorithm.idl b/idl/BLSURFPlugin_Algorithm.idl index 27b80df..07af2be 100644 --- a/idl/BLSURFPlugin_Algorithm.idl +++ b/idl/BLSURFPlugin_Algorithm.idl @@ -138,7 +138,7 @@ module BLSURFPlugin { /*! - * Sets a way to define size of mesh elements to generate + *Set a way to define size of mesh elements to generate * 0 - size is defined automatically * 1 - size is set by SetPhySize() method * 2 - size is set by SetPhySize() method. A sizemap is defined. @@ -147,7 +147,7 @@ module BLSURFPlugin long GetPhysicalMesh(); /*! - * Sets a way to define maximum angular deflection of mesh from CAD model + *Set a way to define maximum angular deflection of mesh from CAD model * 0 - deflection is defined automatically * 1 - deflection is set by SetAngleMesh() method * 2 - deflection is set by SetAngleMesh() method. A sizemap is defined (TODO). @@ -156,7 +156,7 @@ module BLSURFPlugin long GetGeometricMesh(); /*! - * Sets size of mesh elements to generate + *Set size of mesh elements to generate */ void SetPhySize(in double size); void SetPhySizeRel(in double size); @@ -164,7 +164,7 @@ module BLSURFPlugin boolean IsPhySizeRel(); /*! - * Sets lower boundary of mesh element size + *Set lower boundary of mesh element size */ void SetMinSize(in double theMinSize); void SetMinSizeRel(in double theMinSize); @@ -172,7 +172,7 @@ module BLSURFPlugin boolean IsMinSizeRel(); /*! - * Sets upper boundary of mesh element size + *Set upper boundary of mesh element size */ void SetMaxSize(in double theMaxSize); void SetMaxSizeRel(in double theMaxSize); @@ -180,7 +180,7 @@ module BLSURFPlugin boolean IsMaxSizeRel(); /*! - * Sets maximal allowed ratio between the lengths of two adjacent edges + *Set maximal allowed ratio between the lengths of two adjacent edges */ void SetUseGradation(in boolean toUse); boolean GetUseGradation(); @@ -188,7 +188,7 @@ module BLSURFPlugin double GetGradation(); /*! - * Sets maximal allowed ratio between the lengths of two adjacent edges in 3D mesh + *Set maximal allowed ratio between the lengths of two adjacent edges in 3D mesh */ void SetUseVolumeGradation(in boolean toUse); boolean GetUseVolumeGradation(); @@ -196,20 +196,20 @@ module BLSURFPlugin double GetVolumeGradation(); /*! - * Sets to create quadrilateral elements or not + *Set to create quadrilateral elements or not */ void SetQuadAllowed(in boolean allowed); void SetElementType(in long elementType); long GetElementType(); /*! - * Sets angular deflection (in degrees) of a mesh face and edge from CAD surface + *Set angular deflection (in degrees) of a mesh face and edge from CAD surface */ void SetAngleMesh(in double angle); double GetAngleMesh(); /*! - * Sets the maximum desired distance between a triangle and its supporting CAD surface + *Set the maximum desired distance between a triangle and its supporting CAD surface */ void SetChordalError(in double distance); double GetChordalError(); @@ -274,7 +274,7 @@ module BLSURFPlugin double GetCorrectSurfaceIntersectionMaxCost(); /*! - * This patch independent correction option can be activated to remove the bad + * This patch independent correction option can be activated to remove the bad * elements (often called slivers) from the generated mesh, without taking into account * the tags (attributes) specification. */ @@ -283,7 +283,7 @@ module BLSURFPlugin /*! * This parameter defines the aspect ratio triggering the "bad element" - * classification for the force bad surface element removal option. + * classification for the force bad surface element removal option. */ void SetBadElementAspectRatio(in double ratio); double GetBadElementAspectRatio(); @@ -303,7 +303,7 @@ module BLSURFPlugin boolean GetQuadraticMesh(); /*! - * Sets topology usage way defining how mesh conformity is assured + *Set topology usage way defining how mesh conformity is assured * value=0 - mesh conformity is assured by conformity of a shape * value=1,2 - mesh conformity is assured by pre-processing a CAD model (OBSOLETE) * value=3 - mesh conformity is assured by pre-processing a CAD model with Pre-CAD @@ -311,8 +311,45 @@ module BLSURFPlugin void SetTopology(in long way); long GetTopology(); + + /*! + * Activate/deactivate surface proximity computation + */ + void SetUseSurfaceProximity( in boolean toUse ); + boolean GetUseSurfaceProximity(); + + /*! + * Set number of surface element layers to be generated due to surface proximity + */ + void SetNbSurfaceProximityLayers( in short nbLayers ); + short GetNbSurfaceProximityLayers(); + + /*! + * Set coefficient by which size of element refined due to surface proximity is increased + */ + void SetSurfaceProximityRatio( in double ratio ); + double GetSurfaceProximityRatio(); + + /*! + * Activate/deactivate volume proximity computation + */ + void SetUseVolumeProximity( in boolean toUse ); + boolean GetUseVolumeProximity(); + + /*! + * Set number of surface element layers to be generated due to volume proximity + */ + void SetNbVolumeProximityLayers( in short nbLayers ); + short GetNbVolumeProximityLayers(); + + /*! + * Set coefficient by which size of element refined due to volume proximity is increased + */ + void SetVolumeProximityRatio( in double ratio ); + double GetVolumeProximityRatio(); + /*! - * Sets verbosity level in the range 0 to 100. + *Set verbosity level in the range 0 to 100. */ void SetVerbosity(in short theVal) raises (SALOME::SALOME_Exception); short GetVerbosity(); @@ -485,7 +522,7 @@ module BLSURFPlugin boolean GetPreCADDiscardInput(); /*! - * Sets advanced option value + *Set advanced option value */ void SetOptionValue(in string optionName, in string optionValue) raises (SALOME::SALOME_Exception); @@ -672,7 +709,7 @@ module BLSURFPlugin /////////////////////// /*! - * Sets the file for export resulting mesh in GMF format + *Set the file for export resulting mesh in GMF format */ void SetGMFFile(in string theFileName); string GetGMFFile(); diff --git a/src/BLSURFPlugin/BLSURFPluginBuilder.py b/src/BLSURFPlugin/BLSURFPluginBuilder.py index df59b33..d934e55 100644 --- a/src/BLSURFPlugin/BLSURFPluginBuilder.py +++ b/src/BLSURFPlugin/BLSURFPluginBuilder.py @@ -198,6 +198,49 @@ class BLSURF_Algorithm(Mesh_Algorithm): self.Parameters().SetTopology(way) pass + ## Activate/deactivate surface proximity computation + # @param toUse boolean flag + # + def SetSurfaceProximity(self, toUse ): + self.Parameters().SetUseSurfaceProximity(toUse) + return + + ## Set number of surface element layers to be generated due to surface proximity + # @param nbLayers number of layers + # + def SetNbSurfaceProximityLayers(self, nbLayers ): + self.Parameters().SetNbSurfaceProximityLayers( nbLayers ) + return + + ## Set coefficient by which size of element refined due to surface proximity is increased + # @param ratio proximity coefficient + # + def SetSurfaceProximityRatio(self, ratio ): + self.Parameters().SetSurfaceProximityRatio(ratio) + return + + ## Activate/deactivate volume proximity computation + # @param toUse boolean flag + # + def SetVolumeProximity(self, toUse ): + self.Parameters().SetUseVolumeProximity(toUse) + return + + ## Set number of surface element layers to be generated due to volume proximity + # @param nbLayers number of layers + # + def SetNbVolumeProximityLayers(self, nbLayers ): + self.Parameters().SetNbVolumeProximityLayers(nbLayers) + return + + ## Set coefficient by which size of element refined due to volume proximity is increased + # @param ratio proximity coefficient + # + def SetVolumeProximityRatio(self, ratio ): + self.Parameters().SetVolumeProximityRatio(ratio) + return + + ## Sets verbosity level in the range 0 to 100. # @param level verbosity level def SetVerbosity(self, level): @@ -333,6 +376,28 @@ class BLSURF_Algorithm(Mesh_Algorithm): def SetTags( self, howToTreat ): self.Parameters().SetTags( howToTreat ) + ## Activate/deactivate fully patch independent meshing + # @param isIndependent boolean flag + # + # This feature can only be used if the @a tags parameter is set to "respect". + # By default this option deactivated. + # + def SetPatchIndependent( self, isIndependent ): + self.SetOptionValue( "allow_patch_independent", "yes" if isIndependent else "no" ) + + ## Set to preserve lines defined by a sharp angle in the input discrete geometry + # @param toCompute boolean flag + # + # If this option is deactivated, MeshGems-CADSurf will not try to preserve lines + # defined by a sharp angle in the input discrete geometry. Only input ridges, free + # edges, non manifold edges and separation betwen zones with different attributes + # will be respected (if tags is set to respect). + # By default this option activated. + # + def SetComputeRidges( self, toCompute ): + self.SetOptionValue( "compute_ridges", "yes" if toCompute else "no" ) + + ## Activate removal of the tiny edges from the generated # mesh when it improves the local mesh quality, without taking into account the # tags (attributes) specifications. diff --git a/src/BLSURFPlugin/BLSURFPlugin_BLSURF.cxx b/src/BLSURFPlugin/BLSURFPlugin_BLSURF.cxx index 9ee847f..828b139 100644 --- a/src/BLSURFPlugin/BLSURFPlugin_BLSURF.cxx +++ b/src/BLSURFPlugin/BLSURFPlugin_BLSURF.cxx @@ -879,6 +879,12 @@ void BLSURFPlugin_BLSURF::SetParameters(const BLSURFPlugin_Hypothesis* hyp, bool _quadraticMesh = BLSURFPlugin_Hypothesis::GetDefaultQuadraticMesh(); int _verb = BLSURFPlugin_Hypothesis::GetDefaultVerbosity(); //int _topology = BLSURFPlugin_Hypothesis::GetDefaultTopology(); + bool _useSurfaceProximity = BLSURFPlugin_Hypothesis::GetDefaultUseSurfaceProximity (); + int _nbSurfaceProximityLayers = BLSURFPlugin_Hypothesis::GetDefaultNbSurfaceProximityLayers(); + double _surfaceProximityRatio = BLSURFPlugin_Hypothesis::GetDefaultSurfaceProximityRatio (); + bool _useVolumeProximity = BLSURFPlugin_Hypothesis::GetDefaultUseVolumeProximity (); + int _nbVolumeProximityLayers = BLSURFPlugin_Hypothesis::GetDefaultNbVolumeProximityLayers (); + double _volumeProximityRatio = BLSURFPlugin_Hypothesis::GetDefaultVolumeProximityRatio (); // PreCAD //int _precadMergeEdges = BLSURFPlugin_Hypothesis::GetDefaultPreCADMergeEdges(); @@ -941,6 +947,13 @@ void BLSURFPlugin_BLSURF::SetParameters(const BLSURFPlugin_Hypothesis* hyp, //_precadRemoveDuplicateCADFaces = hyp->GetPreCADRemoveDuplicateCADFaces(); //_precadProcess3DTopology = hyp->GetPreCADProcess3DTopology(); //_precadDiscardInput = hyp->GetPreCADDiscardInput(); + _useSurfaceProximity = hyp->GetUseSurfaceProximity (); + _nbSurfaceProximityLayers = hyp->GetNbSurfaceProximityLayers(); + _surfaceProximityRatio = hyp->GetSurfaceProximityRatio (); + _useVolumeProximity = hyp->GetUseVolumeProximity (); + _nbVolumeProximityLayers = hyp->GetNbVolumeProximityLayers (); + _volumeProximityRatio = hyp->GetVolumeProximityRatio (); + const BLSURFPlugin_Hypothesis::TOptionValues& opts = hyp->GetOptionValues(); BLSURFPlugin_Hypothesis::TOptionValues::const_iterator opIt; @@ -1086,6 +1099,19 @@ void BLSURFPlugin_BLSURF::SetParameters(const BLSURFPlugin_Hypothesis* hyp, set_param(css, "element_order", _quadraticMesh ? "quadratic" : "linear"); set_param(css, "verbose", val_to_string(_verb).c_str()); + set_param(css, "use_surface_proximity", _useSurfaceProximity ? "yes" : "no" ); + if ( _useSurfaceProximity ) + { + set_param(css, "surface_proximity_layers", SMESH_Comment( _nbSurfaceProximityLayers )); + set_param(css, "surface_proximity_ratio", SMESH_Comment( _surfaceProximityRatio )); + } + set_param(css, "use_volume_proximity", _useVolumeProximity ? "yes" : "no" ); + if ( _useVolumeProximity ) + { + set_param(css, "volume_proximity_layers", SMESH_Comment( _nbVolumeProximityLayers )); + set_param(css, "volume_proximity_ratio", SMESH_Comment( _volumeProximityRatio )); + } + _smp_phy_size = _phySizeRel ? _phySize*diagonal : _phySize; if ( _verb > 0 ) std::cout << "_smp_phy_size = " << _smp_phy_size << std::endl; diff --git a/src/BLSURFPlugin/BLSURFPlugin_Hypothesis.cxx b/src/BLSURFPlugin/BLSURFPlugin_Hypothesis.cxx index f57f5ab..50ff614 100644 --- a/src/BLSURFPlugin/BLSURFPlugin_Hypothesis.cxx +++ b/src/BLSURFPlugin/BLSURFPlugin_Hypothesis.cxx @@ -50,7 +50,7 @@ namespace //============================================================================= BLSURFPlugin_Hypothesis::BLSURFPlugin_Hypothesis(int hypId, SMESH_Gen * gen, bool hasgeom) : - SMESH_Hypothesis(hypId, gen), + SMESH_Hypothesis(hypId, gen), _physicalMesh(GetDefaultPhysicalMesh()), _geometricMesh(GetDefaultGeometricMesh()), _phySize(GetDefaultPhySize()), @@ -65,7 +65,7 @@ BLSURFPlugin_Hypothesis::BLSURFPlugin_Hypothesis(int hypId, SMESH_Gen * gen, boo _volumeGradation(GetDefaultVolumeGradation()), _elementType(GetDefaultElementType()), _angleMesh(GetDefaultAngleMesh()), - _chordalError(GetDefaultChordalError()), + _chordalError(GetDefaultChordalError()), _anisotropic(GetDefaultAnisotropic()), _anisotropicRatio(GetDefaultAnisotropicRatio()), _removeTinyEdges(GetDefaultRemoveTinyEdges()), @@ -80,6 +80,12 @@ BLSURFPlugin_Hypothesis::BLSURFPlugin_Hypothesis(int hypId, SMESH_Gen * gen, boo _quadraticMesh(GetDefaultQuadraticMesh()), _verb(GetDefaultVerbosity()), _topology(GetDefaultTopology()), + _useSurfaceProximity(GetDefaultUseSurfaceProximity()), + _nbSurfaceProximityLayers(GetDefaultNbSurfaceProximityLayers()), + _surfaceProximityRatio(GetDefaultSurfaceProximityRatio()), + _useVolumeProximity(GetDefaultUseVolumeProximity()), + _nbVolumeProximityLayers(GetDefaultNbVolumeProximityLayers()), + _volumeProximityRatio(GetDefaultVolumeProximityRatio()), _preCADMergeEdges(GetDefaultPreCADMergeEdges()), _preCADRemoveDuplicateCADFaces(GetDefaultPreCADRemoveDuplicateCADFaces()), _preCADProcess3DTopology(GetDefaultPreCADProcess3DTopology()), @@ -101,8 +107,6 @@ BLSURFPlugin_Hypothesis::BLSURFPlugin_Hypothesis(int hypId, SMESH_Gen * gen, boo { _name = GetHypType(hasgeom); _param_algo_dim = 2; - -// _GMFFileMode = false; // GMF ascii mode // Advanced options with their defaults according to MG User Manual @@ -115,8 +119,10 @@ BLSURFPlugin_Hypothesis::BLSURFPlugin_Hypothesis(int hypId, SMESH_Gen * gen, boo // "optimise_tiny_edges", // default = 0 // "remove_duplicate_cad_faces", // default = 1 "tiny_edge_avoid_surface_intersections", // default = 1 - "debug", // default = 0 - "use_deprecated_patch_mesher", // default 0 + "debug", // default = 0 + "allow_patch_independent", // false + + //"use_deprecated_patch_mesher", // default 0 // "tiny_edge_respect_geometry", // default = 0 "" // mark of end }; @@ -147,6 +153,7 @@ BLSURFPlugin_Hypothesis::BLSURFPlugin_Hypothesis(int hypId, SMESH_Gen * gen, boo // remove_tiny_uv_edges option is not documented // but it is useful that the user can change it to disable all preprocessing options "remove_tiny_uv_edges", // default = 1 + "compute_ridges", // true "" // mark of end }; const char* preCADintOptionNames[] = { // "manifold_geometry", // default = 0 @@ -210,11 +217,11 @@ BLSURFPlugin_Hypothesis::BLSURFPlugin_Hypothesis(int hypId, SMESH_Gen * gen, boo _defaultOptionValues["max_number_of_points_per_patch" ] = "0"; _defaultOptionValues["max_number_of_threads" ] = "4"; _defaultOptionValues["rectify_jacobian" ] = "yes"; - _defaultOptionValues["use_deprecated_patch_mesher" ] = "yes"; _defaultOptionValues["respect_geometry" ] = "yes"; _defaultOptionValues["tiny_edge_avoid_surface_intersections" ] = "yes"; - _defaultOptionValues["use_deprecated_patch_mesher" ] = "no"; + //_defaultOptionValues["use_deprecated_patch_mesher" ] = "no"; _defaultOptionValues["debug" ] = "no"; + _defaultOptionValues["allow_patch_independent" ] = "no"; if ( hasgeom ) { _defaultOptionValues["closed_geometry" ] = "no"; @@ -227,6 +234,7 @@ BLSURFPlugin_Hypothesis::BLSURFPlugin_Hypothesis(int hypId, SMESH_Gen * gen, boo _defaultOptionValues["required_entities" ] = "respect"; _defaultOptionValues["sewing_tolerance" ] = "5e-4*D"; _defaultOptionValues["tags" ] = "respect"; + _defaultOptionValues["compute_ridges" ] = "yes"; } #ifdef _DEBUG_ @@ -237,20 +245,6 @@ BLSURFPlugin_Hypothesis::BLSURFPlugin_Hypothesis(int hypId, SMESH_Gen * gen, boo ASSERT( _option2value.size() + _preCADoption2value.size() == _defaultOptionValues.size() ); #endif - _sizeMap.clear(); - _attractors.clear(); - _faceEntryEnfVertexListMap.clear(); - _enfVertexList.clear(); - _faceEntryCoordsListMap.clear(); - _coordsEnfVertexMap.clear(); - _faceEntryEnfVertexEntryListMap.clear(); - _enfVertexEntryEnfVertexMap.clear(); - _groupNameNodeIDMap.clear(); - - /* TODO GROUPS - _groupNameEnfVertexListMap.clear(); - _enfVertexGroupNameMap.clear(); - */ } TopoDS_Shape BLSURFPlugin_Hypothesis::entryToShape(std::string entry) @@ -485,6 +479,66 @@ void BLSURFPlugin_Hypothesis::SetTopology(Topology theTopology) { } } +//============================================================================= +void BLSURFPlugin_Hypothesis::SetUseSurfaceProximity( bool toUse ) +{ + if ( _useSurfaceProximity != toUse ) + { + _useSurfaceProximity = toUse; + NotifySubMeshesHypothesisModification(); + } +} + +//============================================================================= +void BLSURFPlugin_Hypothesis::SetNbSurfaceProximityLayers( int nbLayers ) +{ + if ( _nbSurfaceProximityLayers != nbLayers ) + { + _nbSurfaceProximityLayers = nbLayers; + NotifySubMeshesHypothesisModification(); + } +} + +//============================================================================= +void BLSURFPlugin_Hypothesis::SetSurfaceProximityRatio( double ratio ) +{ + if ( _surfaceProximityRatio != ratio ) + { + _surfaceProximityRatio = ratio; + NotifySubMeshesHypothesisModification(); + } +} + +//============================================================================= +void BLSURFPlugin_Hypothesis::SetUseVolumeProximity( bool toUse ) +{ + if ( _useVolumeProximity != toUse ) + { + _useVolumeProximity = toUse; + NotifySubMeshesHypothesisModification(); + } +} + +//============================================================================= +void BLSURFPlugin_Hypothesis::SetNbVolumeProximityLayers( int nbLayers ) +{ + if ( _nbVolumeProximityLayers != nbLayers ) + { + _nbVolumeProximityLayers = nbLayers; + NotifySubMeshesHypothesisModification(); + } +} + +//============================================================================= +void BLSURFPlugin_Hypothesis::SetVolumeProximityRatio( double ratio ) +{ + if ( _volumeProximityRatio != ratio ) + { + _volumeProximityRatio = ratio; + NotifySubMeshesHypothesisModification(); + } +} + //============================================================================= void BLSURFPlugin_Hypothesis::SetVerbosity(int theVal) { if (theVal != _verb) { @@ -541,16 +595,16 @@ bool BLSURFPlugin_Hypothesis::GetJacobianRectification() void BLSURFPlugin_Hypothesis::SetUseDeprecatedPatchMesher( bool useDeprecatedPatchMesher ) { - if ( GetUseDeprecatedPatchMesher() != useDeprecatedPatchMesher ) - { - SetOptionValue( "use_deprecated_patch_mesher", useDeprecatedPatchMesher ? "yes" : "no" ); - NotifySubMeshesHypothesisModification(); - } + // if ( GetUseDeprecatedPatchMesher() != useDeprecatedPatchMesher ) + // { + // SetOptionValue( "use_deprecated_patch_mesher", useDeprecatedPatchMesher ? "yes" : "no" ); + // NotifySubMeshesHypothesisModification(); + // } } //============================================================================= bool BLSURFPlugin_Hypothesis::GetUseDeprecatedPatchMesher() { - return ToBool( GetOptionValue("use_deprecated_patch_mesher", GET_DEFAULT())); + return false;//ToBool( GetOptionValue("use_deprecated_patch_mesher", GET_DEFAULT())); } //============================================================================= @@ -2097,6 +2151,14 @@ std::ostream & BLSURFPlugin_Hypothesis::SaveTo(std::ostream & save) save << *tag << " "; } + // New options in 2.9.6 (issue #17784) + save << " " << _useSurfaceProximity; + save << " " << _nbSurfaceProximityLayers; + save << " " << _surfaceProximityRatio; + save << " " << _useVolumeProximity; + save << " " << _nbVolumeProximityLayers; + save << " " << _volumeProximityRatio; + return save; } @@ -3110,6 +3172,16 @@ std::istream & BLSURFPlugin_Hypothesis::LoadFrom(std::istream & load) } } + // New options in 2.9.6 (issue #17784) + if ( static_cast( load >> _useSurfaceProximity )); + { + load >> _nbSurfaceProximityLayers; + load >> _surfaceProximityRatio; + load >> _useVolumeProximity; + load >> _nbVolumeProximityLayers; + isOK = static_cast( load >> _volumeProximityRatio ); + } + return load; } diff --git a/src/BLSURFPlugin/BLSURFPlugin_Hypothesis.hxx b/src/BLSURFPlugin/BLSURFPlugin_Hypothesis.hxx index 08ac943..fcff08a 100644 --- a/src/BLSURFPlugin/BLSURFPlugin_Hypothesis.hxx +++ b/src/BLSURFPlugin/BLSURFPlugin_Hypothesis.hxx @@ -151,9 +151,27 @@ public: void SetTopology(Topology theTopology); Topology GetTopology() const { return _topology; } + bool GetUseSurfaceProximity() const { return _useSurfaceProximity; } + void SetUseSurfaceProximity( bool toUse ); + + int GetNbSurfaceProximityLayers() const { return _nbSurfaceProximityLayers; } + void SetNbSurfaceProximityLayers( int nbLayers ); + + double GetSurfaceProximityRatio() const { return _surfaceProximityRatio; } + void SetSurfaceProximityRatio( double ratio ); + + bool GetUseVolumeProximity() const { return _useVolumeProximity; } + void SetUseVolumeProximity( bool toUse ); + + int GetNbVolumeProximityLayers() const { return _nbVolumeProximityLayers; } + void SetNbVolumeProximityLayers( int nbLayers ); + + double GetVolumeProximityRatio() const { return _volumeProximityRatio; } + void SetVolumeProximityRatio( double ratio ); + void SetVerbosity(int theVal); int GetVerbosity() const { return _verb; } - + void ClearEntry(const std::string& entry, const char * attEntry = 0); void ClearSizeMaps(); @@ -162,7 +180,7 @@ public: void SetJacobianRectificationRespectGeometry( bool allowRectification ); bool GetJacobianRectificationRespectGeometry(); - + void SetUseDeprecatedPatchMesher( bool useDeprecatedPatchMesher ); bool GetUseDeprecatedPatchMesher(); @@ -434,7 +452,13 @@ public: static double GetDefaultVolumeGradation() { return 2; } static ElementType GetDefaultElementType() { return Triangles; } static double GetDefaultAngleMesh() { return 8.0; } - + static bool GetDefaultUseSurfaceProximity() { return false; } + static int GetDefaultNbSurfaceProximityLayers() { return 1; } + static double GetDefaultSurfaceProximityRatio() { return 1.; } + static bool GetDefaultUseVolumeProximity() { return false; } + static int GetDefaultNbVolumeProximityLayers() { return 1; } + static double GetDefaultVolumeProximityRatio() { return 1.; } + static double GetDefaultChordalError(double diagonal); static double GetDefaultChordalError() { return undefinedDouble(); } static bool GetDefaultAnisotropic() { return false; } @@ -448,10 +472,10 @@ public: static bool GetDefaultCorrectSurfaceIntersection() { return true; } static double GetDefaultCorrectSurfaceIntersectionMaxCost() { return 15.; } static bool GetDefaultBadElementRemoval() { return false; } - static double GetDefaultBadElementAspectRatio() {return 1000.0; } + static double GetDefaultBadElementAspectRatio() {return 1000.0; } static bool GetDefaultOptimizeMesh() { return true; } static bool GetDefaultQuadraticMesh() { return false; } - + static int GetDefaultVerbosity() { return 3; } static Topology GetDefaultTopology() { return FromCAD; } // PreCAD @@ -459,7 +483,7 @@ public: static bool GetDefaultPreCADRemoveDuplicateCADFaces() { return false; } static bool GetDefaultPreCADProcess3DTopology() { return false; } static bool GetDefaultPreCADDiscardInput() { return false; } - + static TSizeMap GetDefaultSizeMap() { return TSizeMap();} static TAttractorMap GetDefaultAttractorMap() { return TAttractorMap(); } @@ -591,13 +615,19 @@ private: bool _quadraticMesh; int _verb; Topology _topology; - + bool _useSurfaceProximity; + int _nbSurfaceProximityLayers; + double _surfaceProximityRatio; + bool _useVolumeProximity; + int _nbVolumeProximityLayers; + double _volumeProximityRatio; + bool _preCADMergeEdges; bool _preCADRemoveDuplicateCADFaces; bool _preCADProcess3DTopology; bool _preCADDiscardInput; double _preCADEpsNano; - + TOptionValues _option2value, _preCADoption2value, _customOption2value; // user defined values TOptionValues _defaultOptionValues; // default values TOptionNames _doubleOptions, _charOptions, _boolOptions; // to find a type of option diff --git a/src/BLSURFPlugin/BLSURFPlugin_Hypothesis_i.cxx b/src/BLSURFPlugin/BLSURFPlugin_Hypothesis_i.cxx index dfeaf50..d1b530a 100644 --- a/src/BLSURFPlugin/BLSURFPlugin_Hypothesis_i.cxx +++ b/src/BLSURFPlugin/BLSURFPlugin_Hypothesis_i.cxx @@ -786,6 +786,115 @@ CORBA::Long BLSURFPlugin_Hypothesis_i::GetTopology() { return this->GetImpl()->GetTopology(); } +//============================================================================= +/*! + * Activate/deactivate surface proximity computation + */ +void BLSURFPlugin_Hypothesis_i::SetUseSurfaceProximity( CORBA::Boolean toUse ) +{ + if ( GetUseSurfaceProximity() != toUse ) + { + this->GetImpl()->SetUseSurfaceProximity( toUse ); + SMESH::TPythonDump() << _this() << ".SetUseSurfaceProximity( " << toUse << " )"; + } +} + +CORBA::Boolean BLSURFPlugin_Hypothesis_i::GetUseSurfaceProximity() +{ + return this->GetImpl()->GetUseSurfaceProximity(); +} + +//============================================================================= +/*! + * Set number of surface element layers to be generated due to surface proximity + */ +void BLSURFPlugin_Hypothesis_i::SetNbSurfaceProximityLayers( CORBA::Short nbLayers ) +{ + if ( GetNbSurfaceProximityLayers() != nbLayers ) + { + this->GetImpl()->SetNbSurfaceProximityLayers( nbLayers ); + SMESH::TPythonDump() << _this() << ".SetNbSurfaceProximityLayers( " << nbLayers << " )"; + } +} + +CORBA::Short BLSURFPlugin_Hypothesis_i::GetNbSurfaceProximityLayers() +{ + return this->GetImpl()->GetNbSurfaceProximityLayers(); +} + +//============================================================================= +/*! + * Set coefficient by which size of element refined due to surface proximity is increased + */ +void BLSURFPlugin_Hypothesis_i::SetSurfaceProximityRatio( CORBA::Double ratio ) +{ + if ( GetSurfaceProximityRatio() != ratio ) + { + this->GetImpl()->SetSurfaceProximityRatio( ratio ); + SMESH::TPythonDump() << _this() << ".SetSurfaceProximityRatio( " << ratio << " )"; + } +} + +CORBA::Double BLSURFPlugin_Hypothesis_i::GetSurfaceProximityRatio() +{ + return this->GetImpl()->GetSurfaceProximityRatio(); +} + +//============================================================================= +/*! + * Activate/deactivate volume proximity computation + */ +void BLSURFPlugin_Hypothesis_i::SetUseVolumeProximity( CORBA::Boolean toUse ) +{ + if ( GetUseVolumeProximity() != toUse ) + { + this->GetImpl()->SetUseVolumeProximity( toUse ); + SMESH::TPythonDump() << _this() << ".SetUseVolumeProximity( " << toUse << " )"; + } +} + +CORBA::Boolean BLSURFPlugin_Hypothesis_i::GetUseVolumeProximity() +{ + return this->GetImpl()->GetUseVolumeProximity(); +} + + +//============================================================================= +/*! + * Set number of surface element layers to be generated due to volume proximity + */ +void BLSURFPlugin_Hypothesis_i::SetNbVolumeProximityLayers( CORBA::Short nbLayers ) +{ + if ( GetNbVolumeProximityLayers() != nbLayers ) + { + this->GetImpl()->SetNbVolumeProximityLayers( nbLayers ); + SMESH::TPythonDump() << _this() << ".SetNbVolumeProximityLayers( " << nbLayers << " )"; + } +} + +CORBA::Short BLSURFPlugin_Hypothesis_i::GetNbVolumeProximityLayers() +{ + return this->GetImpl()->GetNbVolumeProximityLayers(); +} + +//============================================================================= + /*! + * Set coefficient by which size of element refined due to volume proximity is increased + */ +void BLSURFPlugin_Hypothesis_i::SetVolumeProximityRatio( CORBA::Double ratio ) +{ + if ( GetVolumeProximityRatio() != ratio ) + { + this->GetImpl()->SetVolumeProximityRatio( ratio ); + SMESH::TPythonDump() << _this() << ".SetVolumeProximityRatio( " << ratio << " )"; + } +} + +CORBA::Double BLSURFPlugin_Hypothesis_i::GetVolumeProximityRatio() +{ + return this->GetImpl()->GetVolumeProximityRatio(); +} + //============================================================================= void BLSURFPlugin_Hypothesis_i::SetVerbosity(CORBA::Short theVal) throw (SALOME::SALOME_Exception) { ASSERT(myBaseImpl); diff --git a/src/BLSURFPlugin/BLSURFPlugin_Hypothesis_i.hxx b/src/BLSURFPlugin/BLSURFPlugin_Hypothesis_i.hxx index f555f0d..9d180f4 100644 --- a/src/BLSURFPlugin/BLSURFPlugin_Hypothesis_i.hxx +++ b/src/BLSURFPlugin/BLSURFPlugin_Hypothesis_i.hxx @@ -130,6 +130,44 @@ public: void SetTopology(CORBA::Long theValue); CORBA::Long GetTopology(); + + /*! + * Activate/deactivate surface proximity computation + */ + void SetUseSurfaceProximity( CORBA::Boolean toUse ); + CORBA::Boolean GetUseSurfaceProximity(); + + /*! + * Set number of surface element layers to be generated due to surface proximity + */ + void SetNbSurfaceProximityLayers( CORBA::Short nbLayers ); + CORBA::Short GetNbSurfaceProximityLayers(); + + /*! + * Set coefficient by which size of element refined due to surface proximity is increased + */ + void SetSurfaceProximityRatio( CORBA::Double ratio ); + CORBA::Double GetSurfaceProximityRatio(); + + /*! + * Activate/deactivate volume proximity computation + */ + void SetUseVolumeProximity( CORBA::Boolean toUse ); + CORBA::Boolean GetUseVolumeProximity(); + + /*! + * Set number of surface element layers to be generated due to volume proximity + */ + void SetNbVolumeProximityLayers( CORBA::Short nbLayers ); + CORBA::Short GetNbVolumeProximityLayers(); + + /*! + * Set coefficient by which size of element refined due to volume proximity is increased + */ + void SetVolumeProximityRatio( CORBA::Double ratio ); + CORBA::Double GetVolumeProximityRatio(); + + void SetVerbosity(CORBA::Short theVal) throw (SALOME::SALOME_Exception); CORBA::Short GetVerbosity(); diff --git a/src/GUI/BLSURFPluginGUI_HypothesisCreator.cxx b/src/GUI/BLSURFPluginGUI_HypothesisCreator.cxx index 196fcc1..79a0f23 100644 --- a/src/GUI/BLSURFPluginGUI_HypothesisCreator.cxx +++ b/src/GUI/BLSURFPluginGUI_HypothesisCreator.cxx @@ -1793,7 +1793,7 @@ void BLSURFPluginGUI_HypothesisCreator::onPeriodicityContentModified() /** BLSURFPluginGUI_HypothesisCreator::retrieveParams() -This method updates the GUI widgets with the hypothesis data + This method updates the GUI widgets with the hypothesis data */ void BLSURFPluginGUI_HypothesisCreator::retrieveParams() const { @@ -1834,7 +1834,7 @@ void BLSURFPluginGUI_HypothesisCreator::retrieveParams() const myStdWidget->myVolumeGradation->setText(""); else myStdWidget->myVolumeGradation->SetValue( data.myVolumeGradation ); - + foreach (QAbstractButton* button, myStdWidget->myButtonGroupElementType->buttons()) { if (myStdWidget->myButtonGroupElementType->id(button) == data.myElementType) { button->setChecked(true); @@ -1842,6 +1842,23 @@ void BLSURFPluginGUI_HypothesisCreator::retrieveParams() const } } + myStdWidget->myUseSurfaceProximity->setChecked( data.myUseSurfaceProximity ); + myStdWidget->myNbSurfaceProximityLayers->setValue( data.myNbSurfaceProximityLayers ); + myStdWidget->mySurfaceProximityRatio->SetValue( data.mySurfaceProximityRatio ); + myStdWidget->myUseVolumeProximity->setChecked( data.myUseVolumeProximity ); + myStdWidget->myNbVolumeProximityLayers->setValue( data.myNbVolumeProximityLayers ); + myStdWidget->myVolumeProximityRatio->SetValue( data.myVolumeProximityRatio ); + if ( !data.myUseSurfaceProximity ) + { + //myStdWidget->myNbSurfaceProximityLayers->setText(""); + myStdWidget->mySurfaceProximityRatio->setText(""); + } + if ( !data.myUseVolumeProximity ) + { + //myStdWidget->myNbVolumeProximityLayers->setText(""); + myStdWidget->myVolumeProximityRatio->setText(""); + } + if (data.myAngleMesh < 0) myStdWidget->myAngleMesh->setText(""); else @@ -2056,7 +2073,7 @@ bool BLSURFPluginGUI_HypothesisCreator::readParamsFromHypo( BlsurfHypothesisData h_data.myTinyEdgeOptimisLength = myTinyEdgeOptimisLength > 0 ? myTinyEdgeOptimisLength : -1.0; h_data.myCorrectSurfaceIntersection = h->GetCorrectSurfaceIntersection(); double corrSurfaceIntersMaxCost = h->GetCorrectSurfaceIntersectionMaxCost(); - h_data.myCorrectSurfaceIntersectionMaxCost = corrSurfaceIntersMaxCost > 0 ? corrSurfaceIntersMaxCost : -1.0; + h_data.myCorrectSurfaceIntersectionMaxCost = corrSurfaceIntersMaxCost > 0 ? corrSurfaceIntersMaxCost : -1.0; h_data.myForceBadElementRemoval = h->GetBadElementRemoval(); double myBadElementAspectRatio = h->GetBadElementAspectRatio(); h_data.myBadElementAspectRatio = myBadElementAspectRatio > 0 ? myBadElementAspectRatio : -1.0; @@ -2067,7 +2084,12 @@ bool BLSURFPluginGUI_HypothesisCreator::readParamsFromHypo( BlsurfHypothesisData //h_data.myPreCADMergeEdges = h->GetPreCADMergeEdges(); // h_data.myPreCADProcess3DTopology = h->GetPreCADProcess3DTopology(); // h_data.myPreCADDiscardInput = h->GetPreCADDiscardInput(); - + h_data.myUseSurfaceProximity = h->GetUseSurfaceProximity (); + h_data.myNbSurfaceProximityLayers = h->GetNbSurfaceProximityLayers(); + h_data.mySurfaceProximityRatio = h->GetSurfaceProximityRatio (); + h_data.myUseVolumeProximity = h->GetUseVolumeProximity (); + h_data.myNbVolumeProximityLayers = h->GetNbVolumeProximityLayers (); + h_data.myVolumeProximityRatio = h->GetVolumeProximityRatio (); BLSURFPluginGUI_HypothesisCreator* that = (BLSURFPluginGUI_HypothesisCreator*)this; that->myOptions = h->GetOptionValues(); @@ -2301,26 +2323,33 @@ bool BLSURFPluginGUI_HypothesisCreator::storeParamsToHypo( const BlsurfHypothesi if ( h->GetVolumeGradation() != h_data.myVolumeGradation ) h->SetVolumeGradation( h_data.myVolumeGradation <= 0 ? -1 : h_data.myVolumeGradation ); + h->SetUseSurfaceProximity ( h_data.myUseSurfaceProximity ); + h->SetNbSurfaceProximityLayers( h_data.myNbSurfaceProximityLayers ); + h->SetSurfaceProximityRatio ( h_data.mySurfaceProximityRatio ); + h->SetUseVolumeProximity ( h_data.myUseVolumeProximity ); + h->SetNbVolumeProximityLayers ( h_data.myNbVolumeProximityLayers ); + h->SetVolumeProximityRatio ( h_data.myVolumeProximityRatio ); + if ( h->GetElementType() != h_data.myElementType ) h->SetElementType( h_data.myElementType ); - + if ( (int) h_data.myGeometricMesh != DefaultGeom ) { if ( h->GetAngleMesh() != h_data.myAngleMesh ) h->SetAngleMesh( h_data.myAngleMesh <= 0 ? -1 :h_data.myAngleMesh ); if ( h->GetChordalError() != h_data.myChordalError ) h->SetChordalError( h_data.myChordalError <= 0 ? -1 :h_data.myChordalError ); } - + if ( h->GetAnisotropic() != h_data.myAnisotropic ) h->SetAnisotropic( h_data.myAnisotropic ); if ( h_data.myAnisotropic && ( h->GetAnisotropicRatio() != h_data.myAnisotropicRatio ) ) h->SetAnisotropicRatio( h_data.myAnisotropicRatio <= 0 ? -1 :h_data.myAnisotropicRatio ); - + if ( h->GetRemoveTinyEdges() != h_data.myRemoveTinyEdges ) h->SetRemoveTinyEdges( h_data.myRemoveTinyEdges ); if ( h_data.myRemoveTinyEdges && ( h->GetTinyEdgeLength() != h_data.myTinyEdgeLength ) ) h->SetTinyEdgeLength( h_data.myTinyEdgeLength <= 0 ? -1 :h_data.myTinyEdgeLength ); - + if ( h->GetOptimiseTinyEdges() != h_data.myOptimiseTinyEdges ) h->SetOptimiseTinyEdges( h_data.myOptimiseTinyEdges ); if ( h_data.myOptimiseTinyEdges && ( h->GetTinyEdgeOptimisationLength() != h_data.myTinyEdgeOptimisLength ) ) @@ -2553,6 +2582,12 @@ QString BLSURFPluginGUI_HypothesisCreator::readParamsFromWidgets( BlsurfHypothes //h_data.myPreCADMergeEdges = myAdvWidget->myPreCADMergeEdges->isChecked(); //h_data.myPreCADProcess3DTopology = myAdvWidget->myPreCADProcess3DTopology->isChecked(); //h_data.myPreCADDiscardInput = myAdvWidget->myPreCADDiscardInput->isChecked(); + h_data.myUseSurfaceProximity = myStdWidget->myUseSurfaceProximity ->isChecked(); + h_data.myNbSurfaceProximityLayers = myStdWidget->myNbSurfaceProximityLayers->value(); + h_data.mySurfaceProximityRatio = myStdWidget->mySurfaceProximityRatio ->value(); + h_data.myUseVolumeProximity = myStdWidget->myUseVolumeProximity ->isChecked(); + h_data.myNbVolumeProximityLayers = myStdWidget->myNbVolumeProximityLayers ->value(); + h_data.myVolumeProximityRatio = myStdWidget->myVolumeProximityRatio ->value(); QString guiHyp; guiHyp += tr("BLSURF_PHY_MESH") + " = " + QString::number( h_data.myPhysicalMesh ) + "; "; diff --git a/src/GUI/BLSURFPluginGUI_HypothesisCreator.h b/src/GUI/BLSURFPluginGUI_HypothesisCreator.h index 5d609bb..a1f5f99 100644 --- a/src/GUI/BLSURFPluginGUI_HypothesisCreator.h +++ b/src/GUI/BLSURFPluginGUI_HypothesisCreator.h @@ -171,6 +171,12 @@ typedef struct bool myOptimizeMesh, myQuadraticMesh; bool mySmpsurface,mySmpedge,mySmppoint,myEnforcedVertex,myInternalEnforcedVerticesAllFaces; long myElementType; + bool myUseSurfaceProximity; + int myNbSurfaceProximityLayers; + double mySurfaceProximityRatio; + bool myUseVolumeProximity; + int myNbVolumeProximityLayers; + double myVolumeProximityRatio; // bool myPreCADMergeEdges, myPreCADProcess3DTopology, myPreCADDiscardInput; // bool myGMFFileMode; std::string myGMFFileName, myInternalEnforcedVerticesAllFacesGroup; diff --git a/src/GUI/BLSURFPluginGUI_StdWidget.cxx b/src/GUI/BLSURFPluginGUI_StdWidget.cxx index 845791f..0996dcf 100644 --- a/src/GUI/BLSURFPluginGUI_StdWidget.cxx +++ b/src/GUI/BLSURFPluginGUI_StdWidget.cxx @@ -52,6 +52,8 @@ BLSURFPluginGUI_StdWidget::BLSURFPluginGUI_StdWidget( QWidget* parent, Qt::Windo myTinyEdgeOptimisLength->RangeStepAndValidator(0, COORD_MAX, 0.1, "length_precision"); myCorrectSurfaceIntersectionMaxCost->RangeStepAndValidator(0, COORD_MAX, 1); myBadElementAspectRatio->RangeStepAndValidator(0, COORD_MAX, 1000, "length_precision"); + mySurfaceProximityRatio->RangeStepAndValidator(1, COORD_MAX, 1, "length_precision"); + myVolumeProximityRatio->RangeStepAndValidator(1, COORD_MAX, 1, "length_precision"); myMinSize->setText(""); myMaxSize->setText(""); myAngleMesh->setText(""); @@ -131,25 +133,3 @@ void BLSURFPluginGUI_StdWidget::onEditingFinished() { spinBox->setText(""); } } - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/GUI/BLSURFPluginGUI_StdWidget_QTD.ui b/src/GUI/BLSURFPluginGUI_StdWidget_QTD.ui index 608fe0d..7780a04 100644 --- a/src/GUI/BLSURFPluginGUI_StdWidget_QTD.ui +++ b/src/GUI/BLSURFPluginGUI_StdWidget_QTD.ui @@ -7,11 +7,11 @@ 0 0 - 723 - 399 + 899 + 532 - + @@ -232,6 +232,70 @@ + + + BLSURF_ELEMENT_TYPE + + + + + + BLSURF_TRIANGLES_TOOLTIP + + + BLSURF_TRIANGLES + + + true + + + myButtonGroupElementType + + + + + + + BLSURF_ALLOW_QUADRANGLES_TOOLTIP + + + BLSURF_QUADRANGLE_DOMINANT + + + myButtonGroupElementType + + + + + + + BLSURF_QUADRANGLES_TOOLTIP + + + BLSURF_QUADRANGLES + + + myButtonGroupElementType + + + + + + + Qt::Vertical + + + + 20 + 3 + + + + + + + + BLSURF_MAIN_PARAMETERS @@ -293,7 +357,164 @@ - + + + + + + + BLSURF_PROXIMITY + + + + + + BLSURF_VOLUME_GRADATION_TOOLTIP + + + BLSURF_VOLUME_GRADATION + + + + + + + false + + + + + + + BLSURF_SURFACE_PROXIMITY_TOOLTIP + + + BLSURF_SURFACE_PROXIMITY + + + true + + + + + + BLSURF_SURF_RATIO_TOOLTIP + + + BLSURF_SURF_RATIO + + + + + + + true + + + BLSURF_SURF_RATIO_TOOLTIP + + + 1.000000000000000 + + + + + + + BLSURF_SURF_NB_LAYRES_TOOLTIP + + + + + + + BLSURF_SURF_NB_LAYRES_TOOLTIP + + + BLSURF_SURF_NB_LAYRES + + + + + label_7 + myVolumeGradation_2 + myNbSurfaceProximityLayers + label_9 + mySurfaceProximityRatio + + + + + + BLSURF_VOLUME_PROXIMITY_TOOLTIP + + + BLSURF_VOLUME_PROXIMITY + + + true + + + + + + BLSURF_VOL_NB_LAYERS_TOOLTIP + + + BLSURF_VOL_NB_LAYERS + + + + + + + BLSURF_VOL_NB_LAYERS_TOOLTIP + + + + + + + BLSURF_VOL_RATIO_TOOLTIP + + + BLSURF_VOL_RATIO + + + + + + + true + + + BLSURF_VOL_RATIO_TOOLTIP + + + 1.000000000000000 + + + + + + + + + + Qt::Vertical + + + + 20 + 15 + + + + + + + + BLSURF_OTHER_PARAMETERS @@ -385,23 +606,6 @@ - - - BLSURF_VOLUME_GRADATION_TOOLTIP - - - BLSURF_VOLUME_GRADATION - - - - - - - false - - - - Qt::Vertical @@ -417,70 +621,6 @@ - - - - BLSURF_ELEMENT_TYPE - - - - - - BLSURF_TRIANGLES_TOOLTIP - - - BLSURF_TRIANGLES - - - true - - - myButtonGroupElementType - - - - - - - BLSURF_ALLOW_QUADRANGLES_TOOLTIP - - - BLSURF_QUADRANGLE_DOMINANT - - - myButtonGroupElementType - - - - - - - BLSURF_QUADRANGLES_TOOLTIP - - - BLSURF_QUADRANGLES - - - myButtonGroupElementType - - - - - - - Qt::Vertical - - - - 20 - 3 - - - - - - - @@ -515,8 +655,6 @@ myBadElementAspectRatio myCorrectSurfaceIntersection myCorrectSurfaceIntersectionMaxCost - myUseVolumeGradation - myVolumeGradation @@ -527,8 +665,8 @@ onGeometricMeshChanged() - 495 - 48 + 775 + 57 281 @@ -559,12 +697,12 @@ setEnabled(bool) - 488 - 176 + 641 + 466 - 655 - 175 + 787 + 467 @@ -575,12 +713,12 @@ setEnabled(bool) - 488 - 228 + 641 + 518 - 655 - 227 + 787 + 519 @@ -591,12 +729,12 @@ setEnabled(bool) - 488 - 254 + 641 + 544 - 655 - 253 + 787 + 545 @@ -607,12 +745,12 @@ setDisabled(bool) - 488 - 176 + 641 + 466 - 495 - 100 + 775 + 109 @@ -623,11 +761,11 @@ setDisabled(bool) - 488 - 176 + 641 + 466 - 446 + 576 100 @@ -639,7 +777,7 @@ onEditingFinished() - 159 + 197 74 @@ -655,7 +793,7 @@ onEditingFinished() - 159 + 197 100 @@ -671,7 +809,7 @@ onEditingFinished() - 159 + 197 126 @@ -687,8 +825,8 @@ onEditingFinished() - 316 - 199 + 780 + 287 315 @@ -703,8 +841,8 @@ onEditingFinished() - 495 - 74 + 775 + 83 566 @@ -719,8 +857,8 @@ onEditingFinished() - 495 - 100 + 775 + 109 537 @@ -735,12 +873,12 @@ setEnabled(bool) - 438 - 202 + 641 + 492 - 655 - 201 + 787 + 493 @@ -751,12 +889,12 @@ setEnabled(bool) - 450 - 280 + 641 + 570 - 655 - 279 + 787 + 571 @@ -767,12 +905,12 @@ setEnabled(bool) - 449 - 306 + 210 + 466 - 655 - 305 + 383 + 467 @@ -783,12 +921,12 @@ setEnabled(bool) - 115 - 206 + 593 + 286 - 249 - 211 + 780 + 287 diff --git a/src/GUI/BLSURFPlugin_msg_en.ts b/src/GUI/BLSURFPlugin_msg_en.ts index 41a84a8..9016435 100644 --- a/src/GUI/BLSURFPlugin_msg_en.ts +++ b/src/GUI/BLSURFPlugin_msg_en.ts @@ -99,6 +99,58 @@ The default computed value is <em>diag</em>/5. BLSURF_VOLUME_GRADATION_TOOLTIP Maximum ratio between the lengths of two adjacent edges in 3D mesh. + + BLSURF_PROXIMITY + Proximity + + + BLSURF_SURFACE_PROXIMITY + Surface proximity + + + BLSURF_SURFACE_PROXIMITY_TOOLTIP + Detection of proximities onto the surface. + + + BLSURF_SURF_NB_LAYRES + Number of layers + + + BLSURF_SURF_NB_LAYRES_TOOLTIP + Number of surface element layers. + + + BLSURF_VOLUME_PROXIMITY + Volume proximity + + + BLSURF_VOLUME_PROXIMITY_TOOLTIP + Detection of proximities into the volume. + + + BLSURF_SURF_RATIO + Ratio + + + BLSURF_SURF_RATIO_TOOLTIP + Ratio between layers. + + + BLSURF_VOL_NB_LAYERS + Number of layers + + + BLSURF_VOL_NB_LAYERS_TOOLTIP + Number of surface element layers. + + + BLSURF_VOL_RATIO + Ratio + + + BLSURF_VOL_RATIO_TOOLTIP + Ratio between layers. + BLSURF_ELEMENT_TYPE Elements type @@ -677,6 +729,14 @@ The smaller this distance is, the closer the mesh is to the exact surface (only tiny_edge_avoid_surface_intersections Tiny edges avoid surface intersections + + allow_patch_independent + Independent patches + + + compute_ridges + Compute ridges + closed_geometry Closed geometry -- 2.39.2