72 lines
1.6 KiB
Python
72 lines
1.6 KiB
Python
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
|
|
"""
|
|
...
|