Fem: Create own base class for Python Material objects

This commit is contained in:
marioalexis
2024-06-18 14:13:41 -03:00
committed by Chris Hennes
parent 449f9b9be8
commit 3a08324f92
5 changed files with 48 additions and 10 deletions

View File

@@ -609,6 +609,7 @@ SET(FemGuiViewProvider_SRCS
femviewprovider/__init__.py
femviewprovider/view_base_femconstraint.py
femviewprovider/view_base_femelement.py
femviewprovider/view_base_femmaterial.py
femviewprovider/view_base_femmeshelement.py
femviewprovider/view_base_femobject.py
femviewprovider/view_constant_vacuumpermittivity.py

View File

@@ -0,0 +1,39 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
#/***************************************************************************
# * Copyright (c) 2024 Mario Passaglia <mpassaglia[at]cbc.uba.ar> *
# * *
# * This file is part of FreeCAD. *
# * *
# * FreeCAD is free software: you can redistribute it and/or modify it *
# * under the terms of the GNU Lesser General Public License as *
# * published by the Free Software Foundation, either version 2.1 of the *
# * License, or (at your option) any later version. *
# * *
# * FreeCAD is distributed in the hope that it will be useful, but *
# * WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
# * Lesser General Public License for more details. *
# * *
# * You should have received a copy of the GNU Lesser General Public *
# * License along with FreeCAD. If not, see *
# * <https://www.gnu.org/licenses/>. *
# * *
# **************************************************************************
__title__ = "FreeCAD FEM base materlia ViewProvider"
__author__ = "Mario Passaglia"
__url__ = "https://www.freecad.org"
## @package view_base_femmeshelement
# \ingroup FEM
# \brief view provider for Python base material object
from femviewprovider import view_base_femobject
class VPBaseFemMaterial(view_base_femobject.VPBaseFemObject):
"""Proxy View Provider for Python base material."""
def isShow(self):
return self.ViewObject.Visibility

View File

@@ -34,10 +34,10 @@ __url__ = "https://www.freecad.org"
import FreeCAD
from femtaskpanels import task_material_common
from . import view_base_femconstraint
from . import view_base_femmaterial
class VPMaterialCommon(view_base_femconstraint.VPBaseFemConstraint):
class VPMaterialCommon(view_base_femmaterial.VPBaseFemMaterial):
"""
A View Provider for the MaterialCommon object
"""
@@ -55,8 +55,7 @@ class VPMaterialCommon(view_base_femconstraint.VPBaseFemConstraint):
return ""
def setEdit(self, vobj, mode=0):
view_base_femconstraint.VPBaseFemConstraint.setEdit(
self,
super().setEdit(
vobj,
mode,
task_material_common._TaskPanel

View File

@@ -29,10 +29,10 @@ __url__ = "https://www.freecad.org"
# \ingroup FEM
# \brief view provider for material mechanical nonlinear object
from . import view_base_femconstraint
from . import view_base_femmaterial
class VPMaterialMechanicalNonlinear(view_base_femconstraint.VPBaseFemConstraint):
class VPMaterialMechanicalNonlinear(view_base_femmaterial.VPBaseFemMaterial):
"""
A View Provider for the MaterialMechanicalNonlinear object
"""

View File

@@ -30,17 +30,16 @@ __url__ = "https://www.freecad.org"
# \brief view provider for reinforced material object
from femtaskpanels import task_material_reinforced
from . import view_base_femconstraint
from . import view_base_femmaterial
class VPMaterialReinforced(view_base_femconstraint.VPBaseFemConstraint):
class VPMaterialReinforced(view_base_femmaterial.VPBaseFemMaterial):
"""
A View Provider for the MaterialReinforced object
"""
def setEdit(self, vobj, mode=0):
view_base_femconstraint.VPBaseFemConstraint.setEdit(
self,
super().setEdit(
vobj,
mode,
task_material_reinforced._TaskPanel