| |
|
|
| from __future__ import annotations |
|
|
| from Base.Metadata import export, no_args, sequence_protocol |
| from Base.BaseClass import BaseClass |
| from typing import Final |
|
|
|
|
| @export( |
| Include="Mod/Material/App/Materials.h", |
| Namespace="Materials", |
| Constructor=True, |
| Delete=True, |
| ) |
| @sequence_protocol(sq_length=True, sq_item=True, sq_contains=True, mp_subscript=True) |
| class Material(BaseClass): |
| """ |
| Material descriptions. |
| |
| Author: David Carter (dcarter@davidcarter.ca) |
| Licence: LGPL |
| """ |
|
|
| LibraryName: Final[str] = ... |
| """Material library name.""" |
|
|
| LibraryRoot: Final[str] = ... |
| """Material library path.""" |
|
|
| LibraryIcon: Final[bytes] = ... |
| """Material icon.""" |
|
|
| Name: str = ... |
| """Material name.""" |
|
|
| Directory: str = ... |
| """Material directory relative to the library root.""" |
|
|
| UUID: Final[str] = ... |
| """Unique material identifier. This is only valid after the material is saved.""" |
|
|
| Description: str = ... |
| """Description of the material.""" |
|
|
| URL: str = ... |
| """URL to a material reference.""" |
|
|
| Reference: str = ... |
| """Reference for material data.""" |
|
|
| Parent: str = ... |
| """Parent material UUID.""" |
|
|
| AuthorAndLicense: Final[str] = ... |
| """deprecated -- Author and license information.""" |
|
|
| Author: str = ... |
| """Author information.""" |
|
|
| License: str = ... |
| """License information.""" |
|
|
| PhysicalModels: Final[list] = ... |
| """List of implemented models.""" |
|
|
| AppearanceModels: Final[list] = ... |
| """List of implemented models.""" |
|
|
| Tags: Final[list] = ... |
| """List of searchable tags.""" |
|
|
| Properties: Final[dict] = ... |
| """deprecated -- Dictionary of all material properties.""" |
|
|
| PhysicalProperties: Final[dict] = ... |
| """deprecated -- Dictionary of material physical properties.""" |
|
|
| AppearanceProperties: Final[dict] = ... |
| """deprecated -- Dictionary of material appearance properties.""" |
|
|
| LegacyProperties: Final[dict] = ... |
| """deprecated -- Dictionary of material legacy properties.""" |
|
|
| PropertyObjects: Final[dict] = ... |
| """Dictionary of MaterialProperty objects.""" |
|
|
| def addPhysicalModel(self) -> None: |
| """Add the physical model with the given UUID""" |
| ... |
|
|
| def removePhysicalModel(self) -> None: |
| """Remove the physical model with the given UUID""" |
| ... |
|
|
| def hasPhysicalModel(self) -> bool: |
| """Check if the material implements the physical model with the given UUID""" |
| ... |
|
|
| def addAppearanceModel(self) -> None: |
| """Add the appearance model with the given UUID""" |
| ... |
|
|
| def removeAppearanceModel(self) -> None: |
| """Remove the appearance model with the given UUID""" |
| ... |
|
|
| def hasAppearanceModel(self) -> bool: |
| """Check if the material implements the appearance model with the given UUID""" |
| ... |
|
|
| def isPhysicalModelComplete(self) -> bool: |
| """Check if the material implements the physical model with the given UUID, and has values defined for each property""" |
| ... |
|
|
| def isAppearanceModelComplete(self) -> bool: |
| """Check if the material implements the appearance model with the given UUID, and has values defined for each property""" |
| ... |
|
|
| def hasPhysicalProperty(self) -> bool: |
| """Check if the material implements the physical property with the given name""" |
| ... |
|
|
| def hasAppearanceProperty(self) -> bool: |
| """Check if the material implements the appearance property with the given name""" |
| ... |
|
|
| def hasLegacyProperties(self) -> bool: |
| """Returns true of there are legacy properties""" |
| ... |
|
|
| def getPhysicalValue(self) -> str: |
| """Get the value associated with the property""" |
| ... |
|
|
| def setPhysicalValue(self) -> None: |
| """Set the value associated with the property""" |
| ... |
|
|
| def getAppearanceValue(self) -> str: |
| """Get the value associated with the property""" |
| ... |
|
|
| def setAppearanceValue(self) -> None: |
| """Set the value associated with the property""" |
| ... |
|
|
| def setValue(self) -> None: |
| """Set the value associated with the property""" |
| ... |
|
|
| @no_args |
| def keys(self) -> list: |
| """Property keys""" |
| ... |
|
|
| @no_args |
| def values(self) -> list: |
| """Property values""" |
| ... |
|
|