Source code for ogstools.materiallib.core.property

# Copyright (c) 2012-2025, OpenGeoSys Community (http://www.opengeosys.org)
#            Distributed under a Modified BSD License.
#            See accompanying file LICENSE.txt or
#            http://www.opengeosys.org/project/license
#

from typing import Any


[docs] class MaterialProperty:
[docs] def __init__(self, name: str, type_: str, value: Any = None, **extra: Any): # def __init__(self, name: str, type_: str, value: float | None = None, **extra): self.name = name self.type = type_ self.value = value self.extra = extra # e.g. unit, slope, source, ...
[docs] def to_dict(self) -> dict: d = {"name": self.name, "type": self.type} if self.value is not None: d["value"] = self.value d.update(self.extra) return d
# ----------------------- # Representation # ----------------------- def __repr__(self) -> str: return f"• {self.name} ({self.type})"