From 3b48c5a6346679c00dccfe40cc42f95bc50898b6 Mon Sep 17 00:00:00 2001 From: Bernd Hahnebach Date: Fri, 22 May 2020 01:07:56 +0200 Subject: [PATCH] FEM: mesh gmsh, rename class and module --- src/Mod/Fem/CMakeLists.txt | 4 ++-- src/Mod/Fem/ObjectsFem.py | 8 ++++---- .../femobjects/{_FemMeshGmsh.py => mesh_gmsh.py} | 16 ++++++++-------- src/Mod/Fem/femtools/migrate_app.py | 14 ++++++++++---- src/Mod/Fem/femtools/migrate_gui.py | 14 ++++++++++---- .../view_mesh_gmsh.py} | 16 ++++++++-------- 6 files changed, 42 insertions(+), 30 deletions(-) rename src/Mod/Fem/femobjects/{_FemMeshGmsh.py => mesh_gmsh.py} (95%) rename src/Mod/Fem/{femguiobjects/_ViewProviderFemMeshGmsh.py => femviewprovider/view_mesh_gmsh.py} (98%) diff --git a/src/Mod/Fem/CMakeLists.txt b/src/Mod/Fem/CMakeLists.txt index 2e870dfb8c..6651763f50 100755 --- a/src/Mod/Fem/CMakeLists.txt +++ b/src/Mod/Fem/CMakeLists.txt @@ -252,7 +252,7 @@ SET(FemObjectsScripts_SRCS femobjects/material_mechanicalnonlinear.py femobjects/material_reinforced.py femobjects/mesh_boundarylayer.py - femobjects/_FemMeshGmsh.py + femobjects/mesh_gmsh.py femobjects/_FemMeshGroup.py femobjects/_FemMeshRegion.py femobjects/_FemMeshResult.py @@ -334,12 +334,12 @@ SET(FemGuiViewObjects_SRCS femviewprovider/view_material_mechanicalnonlinear.py femviewprovider/view_material_reinforced.py femviewprovider/view_mesh_boundarylayer.py + femviewprovider/view_mesh_gmsh.py ) SET(FemGuiScripts_SRCS femguiobjects/__init__.py femguiobjects/_ViewProviderFemMaterial.py - femguiobjects/_ViewProviderFemMeshGmsh.py femguiobjects/_ViewProviderFemMeshGroup.py femguiobjects/_ViewProviderFemMeshRegion.py femguiobjects/_ViewProviderFemMeshResult.py diff --git a/src/Mod/Fem/ObjectsFem.py b/src/Mod/Fem/ObjectsFem.py index fa415aa989..2b263e0864 100644 --- a/src/Mod/Fem/ObjectsFem.py +++ b/src/Mod/Fem/ObjectsFem.py @@ -457,11 +457,11 @@ def makeMeshGmsh( """makeMeshGmsh(document, [name]): makes a Gmsh FEM mesh object""" obj = doc.addObject("Fem::FemMeshObjectPython", name) - from femobjects import _FemMeshGmsh - _FemMeshGmsh._FemMeshGmsh(obj) + from femobjects import mesh_gmsh + mesh_gmsh.MeshGmsh(obj) if FreeCAD.GuiUp: - from femguiobjects import _ViewProviderFemMeshGmsh - _ViewProviderFemMeshGmsh._ViewProviderFemMeshGmsh(obj.ViewObject) + from femviewprovider import view_mesh_gmsh + view_mesh_gmsh.VPMeshGmsh(obj.ViewObject) return obj diff --git a/src/Mod/Fem/femobjects/_FemMeshGmsh.py b/src/Mod/Fem/femobjects/mesh_gmsh.py similarity index 95% rename from src/Mod/Fem/femobjects/_FemMeshGmsh.py rename to src/Mod/Fem/femobjects/mesh_gmsh.py index 9a3637a664..7677e45fb1 100644 --- a/src/Mod/Fem/femobjects/_FemMeshGmsh.py +++ b/src/Mod/Fem/femobjects/mesh_gmsh.py @@ -25,14 +25,14 @@ __title__ = "FreeCAD FEM mesh gmsh document object" __author__ = "Bernd Hahnebach" __url__ = "http://www.freecadweb.org" -## @package FemMeshGmsh +## @package mesh_gmsh # \ingroup FEM -# \brief FreeCAD FEM _FemMeshGmsh +# \brief mesh gmsh object from . import FemConstraint -class _FemMeshGmsh(FemConstraint.Proxy): +class MeshGmsh(FemConstraint.Proxy): """ A Fem::FemMeshObject python type, add Gmsh specific properties """ @@ -62,7 +62,7 @@ class _FemMeshGmsh(FemConstraint.Proxy): ] def __init__(self, obj): - super(_FemMeshGmsh, self).__init__(obj) + super(MeshGmsh, self).__init__(obj) self.add_properties(obj) def onDocumentRestored(self, obj): @@ -130,7 +130,7 @@ class _FemMeshGmsh(FemConstraint.Proxy): "FEM Gmsh Mesh Params", "Dimension of mesh elements (Auto = according ShapeType of part to mesh)" ) - obj.ElementDimension = _FemMeshGmsh.known_element_dimensions + obj.ElementDimension = MeshGmsh.known_element_dimensions obj.ElementDimension = "From Shape" # according ShapeType of Part to mesh if not hasattr(obj, "ElementOrder"): @@ -140,7 +140,7 @@ class _FemMeshGmsh(FemConstraint.Proxy): "FEM Gmsh Mesh Params", "Order of mesh elements" ) - obj.ElementOrder = _FemMeshGmsh.known_element_orders + obj.ElementOrder = MeshGmsh.known_element_orders obj.ElementOrder = "2nd" if not hasattr(obj, "OptimizeStd"): @@ -213,7 +213,7 @@ class _FemMeshGmsh(FemConstraint.Proxy): "FEM Gmsh Mesh Params", "mesh algorithm 2D" ) - obj.Algorithm2D = _FemMeshGmsh.known_mesh_algorithm_2D + obj.Algorithm2D = MeshGmsh.known_mesh_algorithm_2D obj.Algorithm2D = "Automatic" # ? if not hasattr(obj, "Algorithm3D"): @@ -223,7 +223,7 @@ class _FemMeshGmsh(FemConstraint.Proxy): "FEM Gmsh Mesh Params", "mesh algorithm 3D" ) - obj.Algorithm3D = _FemMeshGmsh.known_mesh_algorithm_3D + obj.Algorithm3D = MeshGmsh.known_mesh_algorithm_3D obj.Algorithm3D = "Automatic" # ? if not hasattr(obj, "GroupsOfNodes"): diff --git a/src/Mod/Fem/femtools/migrate_app.py b/src/Mod/Fem/femtools/migrate_app.py index 9f35ce010b..046fd8bd6a 100644 --- a/src/Mod/Fem/femtools/migrate_app.py +++ b/src/Mod/Fem/femtools/migrate_app.py @@ -65,6 +65,8 @@ class FemMigrateApp(object): return self if fullname == "femobjects._FemMeshBoundaryLayer": return self + if fullname == "femobjects._FemMeshGmsh": + return self if fullname == "PyObjects": return self @@ -201,6 +203,9 @@ class FemMigrateApp(object): if module.__name__ == "femobjects._FemMeshBoundaryLayer": import femobjects.mesh_boundarylayer module._FemMeshBoundaryLayer = femobjects.mesh_boundarylayer.MeshBoundaryLayer + if module.__name__ == "femobjects._FemMeshGmsh": + import femobjects.mesh_gmsh + module._FemMeshGmsh = femobjects.mesh_gmsh.MeshGmsh if module.__name__ == "PyObjects": module.__path__ = "PyObjects" @@ -241,8 +246,8 @@ class FemMigrateApp(object): import femobjects.mesh_boundarylayer module._FemMeshBoundaryLayer = femobjects.mesh_boundarylayer.MeshBoundaryLayer if module.__name__ == "PyObjects._FemMeshGmsh": - import femobjects._FemMeshGmsh - module._FemMeshGmsh = femobjects._FemMeshGmsh._FemMeshGmsh + import femobjects.mesh_gmsh + module._FemMeshGmsh = femobjects.mesh_gmsh.MeshGmsh if module.__name__ == "PyObjects._FemMeshGroup": import femobjects._FemMeshGroup module._FemMeshGroup = femobjects._FemMeshGroup._FemMeshGroup @@ -282,8 +287,8 @@ class FemMigrateApp(object): import femobjects.material_mechanicalnonlinear module._FemMaterialMechanicalNonlinear = femobjects.material_mechanicalnonlinear.MaterialMechanicalNonlinear if module.__name__ == "_FemMeshGmsh": - import femobjects._FemMeshGmsh - module._FemMeshGmsh = femobjects._FemMeshGmsh._FemMeshGmsh + import femobjects.mesh_gmsh + module._FemMeshGmsh = femobjects.mesh_gmsh.MeshGmsh if module.__name__ == "_FemMeshGroup": import femobjects._FemMeshGroup module._FemMeshGroup = femobjects._FemMeshGroup._FemMeshGroup @@ -360,6 +365,7 @@ module="femobjects._FemElementRotation1D" module="femobjects._FemMaterialMechanicalNonlinear" module="femobjects._FemMaterialReinforced" module="femobjects._FemMeshBoundaryLayer" +module="femobjects._FemMeshGmsh" third big moving from PyObjects to femobjects, following the parent commit diff --git a/src/Mod/Fem/femtools/migrate_gui.py b/src/Mod/Fem/femtools/migrate_gui.py index d1f26258e8..8424414087 100644 --- a/src/Mod/Fem/femtools/migrate_gui.py +++ b/src/Mod/Fem/femtools/migrate_gui.py @@ -63,6 +63,8 @@ class FemMigrateGui(object): return self if fullname == "femguiobjects._ViewProviderFemMeshBoundaryLayer": return self + if fullname == "femguiobjects._ViewProviderFemMeshGmsh": + return self if fullname == "PyGui": return self @@ -189,6 +191,9 @@ class FemMigrateGui(object): if module.__name__ == "femguiobjects._ViewProviderFemMeshBoundaryLayer": import femviewprovider.view_mesh_boundarylayer module._ViewProviderFemMeshBoundaryLayer = femviewprovider.view_mesh_boundarylayer.VPMeshBoundaryLayer + if module.__name__ == "femguiobjects._ViewProviderFemMeshGmsh": + import femviewprovider.view_mesh_gmsh + module._ViewProviderFemMeshGmsh = femviewprovider.view_mesh_gmsh.VPMeshGmsh if module.__name__ == "PyGui": module.__path__ = "PyGui" @@ -229,8 +234,8 @@ class FemMigrateGui(object): import femviewprovider.view_mesh_boundarylayer module._ViewProviderFemMeshBoundaryLayer = femviewprovider.view_mesh_boundarylayer.VPMeshBoundaryLayer if module.__name__ == "PyGui._ViewProviderFemMeshGmsh": - import femguiobjects._ViewProviderFemMeshGmsh - module._ViewProviderFemMeshGmsh = femguiobjects._ViewProviderFemMeshGmsh._ViewProviderFemMeshGmsh + import femviewprovider.view_mesh_gmsh + module._ViewProviderFemMeshGmsh = femviewprovider.view_mesh_gmsh.VPMeshGmsh if module.__name__ == "PyGui._ViewProviderFemMeshGroup": import femguiobjects._ViewProviderFemMeshGroup module._ViewProviderFemMeshGroup = femguiobjects._ViewProviderFemMeshGroup._ViewProviderFemMeshGroup @@ -270,8 +275,8 @@ class FemMigrateGui(object): import femviewprovider.view_material_mechanicalnonlinear module._ViewProviderFemMaterialMechanicalNonlinear = femviewprovider.view_material_mechanicalnonlinear.VPMaterialMechanicalNonlinear if module.__name__ == "_ViewProviderFemMeshGmsh": - import femguiobjects._ViewProviderFemMeshGmsh - module._ViewProviderFemMeshGmsh = femguiobjects._ViewProviderFemMeshGmsh._ViewProviderFemMeshGmsh + import femviewprovider.view_mesh_gmsh + module._ViewProviderFemMeshGmsh = femviewprovider.view_mesh_gmsh.VPMeshGmsh if module.__name__ == "_ViewProviderFemMeshGroup": import femguiobjects._ViewProviderFemMeshGroup module._ViewProviderFemMeshGroup = femguiobjects._ViewProviderFemMeshGroup._ViewProviderFemMeshGroup @@ -324,6 +329,7 @@ module="femguiobjects._ViewProviderFemElementRotation1D" module="femguiobjects._ViewProviderFemMaterialMechanicalNonlinear" module="femguiobjects._ViewProviderFemMaterialReinforced" module="femguiobjects._ViewProviderFemMeshBoundaryLayer" +module="femguiobjects._ViewProviderFemMeshGmsh" third big moving from PyGui to femguiobjects, following the parent commit diff --git a/src/Mod/Fem/femguiobjects/_ViewProviderFemMeshGmsh.py b/src/Mod/Fem/femviewprovider/view_mesh_gmsh.py similarity index 98% rename from src/Mod/Fem/femguiobjects/_ViewProviderFemMeshGmsh.py rename to src/Mod/Fem/femviewprovider/view_mesh_gmsh.py index e2884af539..ac45cf44d2 100644 --- a/src/Mod/Fem/femguiobjects/_ViewProviderFemMeshGmsh.py +++ b/src/Mod/Fem/femviewprovider/view_mesh_gmsh.py @@ -25,9 +25,9 @@ __title__ = "FreeCAD FEM mesh gmsh ViewProvider for the document object" __author__ = "Bernd Hahnebach" __url__ = "http://www.freecadweb.org" -## @package ViewProviderFemMeshGmsh +## @package view_mesh_gmsh # \ingroup FEM -# \brief FreeCAD FEM _ViewProviderFemMeshGmsh +# \brief view provider for mesh gmsh object import sys import time @@ -41,16 +41,16 @@ import FreeCAD import FreeCADGui import FemGui -# from . import ViewProviderBaseObject -from femobjects import _FemMeshGmsh +# from femguiobjects import ViewProviderBaseObject +from femobjects import mesh_gmsh from femtools.femutils import is_of_type # TODO use ViewProviderBaseObject see _ViewProviderFemMeshResult # class _ViewProviderFemMeshGmsh(ViewProviderBaseObject.ViewProxy): -class _ViewProviderFemMeshGmsh: +class VPMeshGmsh: """ - A View Provider for the FemMeshGmsh object + A View Provider for the MeshGmsh object """ def __init__(self, vobj): @@ -272,7 +272,7 @@ class _ViewProviderFemMeshGmsh: class _TaskPanel: """ The TaskPanel for editing References property of - FemMeshGmsh objects and creation of new FEM mesh + MeshGmsh objects and creation of new FEM mesh """ def __init__(self, obj): @@ -308,7 +308,7 @@ class _TaskPanel: ) self.form.cb_dimension.addItems( - _FemMeshGmsh._FemMeshGmsh.known_element_dimensions + mesh_gmsh.MeshGmsh.known_element_dimensions ) self.get_mesh_params()