FEM: mesh gmsh, rename class and module

This commit is contained in:
Bernd Hahnebach
2020-05-22 01:07:56 +02:00
parent a33045ce13
commit 32c9abdde9
6 changed files with 42 additions and 30 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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"):

View File

@@ -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

View File

@@ -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

View File

@@ -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()