Skip to content

Commit 78245a7

Browse files
committed
Fem: Create own base class for Python Material objects
1 parent cb9e68f commit 78245a7

5 files changed

+48
-10
lines changed

src/Mod/Fem/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -609,6 +609,7 @@ SET(FemGuiViewProvider_SRCS
609609
femviewprovider/__init__.py
610610
femviewprovider/view_base_femconstraint.py
611611
femviewprovider/view_base_femelement.py
612+
femviewprovider/view_base_femmaterial.py
612613
femviewprovider/view_base_femmeshelement.py
613614
femviewprovider/view_base_femobject.py
614615
femviewprovider/view_constant_vacuumpermittivity.py
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# SPDX-License-Identifier: LGPL-2.1-or-later
2+
3+
#/***************************************************************************
4+
# * Copyright (c) 2024 Mario Passaglia <mpassaglia[at]cbc.uba.ar> *
5+
# * *
6+
# * This file is part of FreeCAD. *
7+
# * *
8+
# * FreeCAD is free software: you can redistribute it and/or modify it *
9+
# * under the terms of the GNU Lesser General Public License as *
10+
# * published by the Free Software Foundation, either version 2.1 of the *
11+
# * License, or (at your option) any later version. *
12+
# * *
13+
# * FreeCAD is distributed in the hope that it will be useful, but *
14+
# * WITHOUT ANY WARRANTY; without even the implied warranty of *
15+
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
16+
# * Lesser General Public License for more details. *
17+
# * *
18+
# * You should have received a copy of the GNU Lesser General Public *
19+
# * License along with FreeCAD. If not, see *
20+
# * <https://www.gnu.org/licenses/>. *
21+
# * *
22+
# **************************************************************************
23+
24+
__title__ = "FreeCAD FEM base materlia ViewProvider"
25+
__author__ = "Mario Passaglia"
26+
__url__ = "https://www.freecad.org"
27+
28+
## @package view_base_femmeshelement
29+
# \ingroup FEM
30+
# \brief view provider for Python base material object
31+
32+
from femviewprovider import view_base_femobject
33+
34+
35+
class VPBaseFemMaterial(view_base_femobject.VPBaseFemObject):
36+
"""Proxy View Provider for Python base material."""
37+
38+
def isShow(self):
39+
return self.ViewObject.Visibility

src/Mod/Fem/femviewprovider/view_material_common.py

+3-4
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,10 @@
3434
import FreeCAD
3535

3636
from femtaskpanels import task_material_common
37-
from . import view_base_femconstraint
37+
from . import view_base_femmaterial
3838

3939

40-
class VPMaterialCommon(view_base_femconstraint.VPBaseFemConstraint):
40+
class VPMaterialCommon(view_base_femmaterial.VPBaseFemMaterial):
4141
"""
4242
A View Provider for the MaterialCommon object
4343
"""
@@ -55,8 +55,7 @@ def getIcon(self):
5555
return ""
5656

5757
def setEdit(self, vobj, mode=0):
58-
view_base_femconstraint.VPBaseFemConstraint.setEdit(
59-
self,
58+
super().setEdit(
6059
vobj,
6160
mode,
6261
task_material_common._TaskPanel

src/Mod/Fem/femviewprovider/view_material_mechanicalnonlinear.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@
2929
# \ingroup FEM
3030
# \brief view provider for material mechanical nonlinear object
3131

32-
from . import view_base_femconstraint
32+
from . import view_base_femmaterial
3333

3434

35-
class VPMaterialMechanicalNonlinear(view_base_femconstraint.VPBaseFemConstraint):
35+
class VPMaterialMechanicalNonlinear(view_base_femmaterial.VPBaseFemMaterial):
3636
"""
3737
A View Provider for the MaterialMechanicalNonlinear object
3838
"""

src/Mod/Fem/femviewprovider/view_material_reinforced.py

+3-4
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,16 @@
3030
# \brief view provider for reinforced material object
3131

3232
from femtaskpanels import task_material_reinforced
33-
from . import view_base_femconstraint
33+
from . import view_base_femmaterial
3434

3535

36-
class VPMaterialReinforced(view_base_femconstraint.VPBaseFemConstraint):
36+
class VPMaterialReinforced(view_base_femmaterial.VPBaseFemMaterial):
3737
"""
3838
A View Provider for the MaterialReinforced object
3939
"""
4040

4141
def setEdit(self, vobj, mode=0):
42-
view_base_femconstraint.VPBaseFemConstraint.setEdit(
43-
self,
42+
super().setEdit(
4443
vobj,
4544
mode,
4645
task_material_reinforced._TaskPanel

0 commit comments

Comments
 (0)