File size: 1,435 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
# SPDX-License-Identifier: LGPL-2.1-or-later

from __future__ import annotations

from Base.Metadata import export
from Base.BaseClass import BaseClass
from typing import Final, List, Dict


@export(
    Include="Mod/Material/App/Model.h",
    Namespace="Materials",
    Constructor=True,
    Delete=True,
)
class Model(BaseClass):
    """
    Material model descriptions.

    Author: DavidCarter (dcarter@davidcarter.ca)
    Licence: LGPL
    """

    LibraryName: Final[str] = ""
    """Model library name."""

    LibraryRoot: Final[str] = ""
    """Model library path."""

    LibraryIcon: Final[bytes] = ""
    """Model icon."""

    Name: str = ""
    """Model name."""

    Type: str = ""
    """Model type."""

    Directory: str = ""
    """Model directory."""

    UUID: Final[str] = ""
    """Unique model identifier."""

    Description: str = ""
    """Description of the model."""

    URL: str = ""
    """URL to a detailed description of the model."""

    DOI: str = ""
    """Digital Object Identifier (see https://doi.org/)"""

    Inherited: Final[List[str]] = []
    """List of inherited models identified by UUID."""

    Properties: Final[Dict[str, str]] = {}
    """Dictionary of model properties."""

    def addInheritance(self) -> None:
        """
        Add an inherited model.
        """
        ...

    def addProperty(self) -> None:
        """
        Add a model property.
        """
        ...