File size: 1,688 Bytes
985c397 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | # SPDX-License-Identifier: LGPL-2.1-or-later
from __future__ import annotations
from Base.Metadata import export, constmethod
from Base.BaseClass import BaseClass
from typing import Any, Final, List
@export(
Twin="Array3D",
TwinPointer="Array3D",
Namespace="Materials",
Include="Mod/Material/App/MaterialValue.h",
Delete=True,
Constructor=True,
)
class Array3D(BaseClass):
"""
3D Array of material properties.
Author: DavidCarter (dcarter@davidcarter.ca)
Licence: LGPL
"""
Array: Final[List] = ...
"""The 3 dimensional array."""
Dimensions: Final[int] = ...
"""The number of dimensions in the array, in this case 3."""
Columns: int = ...
"""The number of columns in the array."""
Depth: int = ...
"""The depth of the array (3rd dimension)."""
@constmethod
def getRows(self) -> int:
"""
Get the number of rows in the array at the specified depth.
"""
...
@constmethod
def getValue(self) -> Any:
"""
Get the value at the given row and column
"""
...
@constmethod
def getDepthValue(self) -> Any:
"""
Get the column value at the given depth
"""
...
def setDepthValue(self, value: Any, /):
"""
Set the column value at the given depth
"""
...
def setValue(self, depth: int, row: int, column: int, value: Any, /):
"""
Set the value at the given depth, row, and column
"""
...
def setRows(self, depth: int, value: int, /):
"""
Set the number of rows at the given depth
"""
...
|