Biblioteka eu07-tools (Python): Różnice pomiędzy wersjami
(→T3DElement) |
(→Element) |
||
(Nie pokazano 17 pośrednich wersji utworzonych przez tego samego użytkownika) | |||
Linia 1: | Linia 1: | ||
Biblioteka eu07_tools to zestaw klas i funkcji, które w założeniu mają pomóc w pisaniu programów operujących na plikach symulatora. Jest zaimplementowana w języku Python. | Biblioteka eu07_tools to zestaw klas i funkcji, które w założeniu mają pomóc w pisaniu programów operujących na plikach symulatora. Jest zaimplementowana w języku Python. | ||
− | = t3d = | + | = Opis funckjonalności = |
− | == | + | == t3d == |
+ | Moduł zawierający funkcje zapisu oraz odczytu elementów modelu (submodele, include) z pliku oraz funkcje-fabryki do tworzenia tych struktur. | ||
+ | === load === | ||
+ | t3d.load(file: TextIO) -> Iterator[t3d.Element] | ||
+ | Odczytuje podany plik i zwraca odczytane elementy w postaci iteratora. | ||
+ | Przykład: | ||
+ | import eu07_tools | ||
+ | |||
+ | with open("model.t3d", "r") as in_file: | ||
+ | model_elements = eu07_tools.t3d.load(in_file) | ||
+ | |||
+ | for element in model_elements: | ||
+ | ... # tutaj bawimy się elementami | ||
+ | |||
+ | === dump === | ||
+ | t3d.dump(model_elements: Iterable[t3d.Element], file: TextIO) -> None | ||
+ | Zapisuje elementy z sekwencji do podanego pliku | ||
+ | Przykład: | ||
+ | import eu07_tools | ||
+ | |||
+ | # Zgodnie z wytycznymi, pliki powinny być kodowane w standardzie Windows-1250 | ||
+ | # oraz posiadać końce linii CRLF. | ||
+ | with open("model.t3d", "w", newline="\r\n", encoding="windows-1250") as out_file: | ||
+ | eu07_tools.t3d.load(model_elements, out_file) | ||
+ | |||
=== create_submodel === | === create_submodel === | ||
− | Tworzy instancję | + | t3d.create_submodel(type: str, name: str) -> t3d.Submodel |
− | + | Tworzy nazwaną instancję submodelu. Konkretna klasa zależy od argumentu 'type'. | |
− | + | Przykład: | |
− | + | import eu07_tools | |
− | + | ||
+ | mesh = eu07_tools.t3d.create_submodel("Mesh", "siatka") | ||
+ | freespot = eu07_tools.t3d.create_submodel("FreeSpotLight", "lampka") | ||
+ | stars = eu07_tools.t3d.create_submodel("Stars", "gwiazdki") | ||
=== create_include === | === create_include === | ||
− | Tworzy | + | t3d.create_include(path: str, parameters: Iterable[str] = None) -> t3d.Include |
− | + | Tworzy instancję elementu typu "include". | |
− | + | Przykład: | |
− | + | import eu07_tools | |
+ | |||
+ | include = eu07_tools.t3d.create_include("models/parts/wozek.t3d", []) | ||
+ | include = eu07_tools.t3d.create_include("models/parts/parametryzowany_wozek.t3d", ["0", "4", "example"]) | ||
− | === | + | === Element === |
− | Klasa | + | class Element(abc.ABC) |
+ | Klasa nadrzędna dla elementów modelu (t3d.Submodel, t3d.Include) | ||
Atrybuty: | Atrybuty: | ||
− | + | element_type: str = "" | |
+ | Nazwa typu elementu - służy do klasyfikacji elementów. | ||
+ | Konkretna wartość jest nadawana dopiero w klasach pochodnych. | ||
− | === | + | === Include === |
− | class | + | class Include(t3d.Element) |
− | + | Reprezentacja dyrektywy include. Dziedziczy atrybuty z t3d.Element. | |
− | + | Atrybuty: | |
− | + | element_type: str = "include" # Nazwa typu elementu, atrybut dziedziczony. | |
− | + | path: str # Relatywna ścieżka do dołączanego pliku. Wartość nadawana jest przez konstruktor. | |
− | + | parameters: List[str] # Lista parametrów. Wartość nadawana jest przez konstruktor. | |
− | = | ||
− | |||
− |
Aktualna wersja na dzień 15:55, 6 sie 2019
Biblioteka eu07_tools to zestaw klas i funkcji, które w założeniu mają pomóc w pisaniu programów operujących na plikach symulatora. Jest zaimplementowana w języku Python.
Spis treści
Opis funckjonalności
t3d
Moduł zawierający funkcje zapisu oraz odczytu elementów modelu (submodele, include) z pliku oraz funkcje-fabryki do tworzenia tych struktur.
load
t3d.load(file: TextIO) -> Iterator[t3d.Element]
Odczytuje podany plik i zwraca odczytane elementy w postaci iteratora. Przykład:
import eu07_tools with open("model.t3d", "r") as in_file: model_elements = eu07_tools.t3d.load(in_file) for element in model_elements: ... # tutaj bawimy się elementami
dump
t3d.dump(model_elements: Iterable[t3d.Element], file: TextIO) -> None
Zapisuje elementy z sekwencji do podanego pliku Przykład:
import eu07_tools # Zgodnie z wytycznymi, pliki powinny być kodowane w standardzie Windows-1250 # oraz posiadać końce linii CRLF. with open("model.t3d", "w", newline="\r\n", encoding="windows-1250") as out_file: eu07_tools.t3d.load(model_elements, out_file)
create_submodel
t3d.create_submodel(type: str, name: str) -> t3d.Submodel
Tworzy nazwaną instancję submodelu. Konkretna klasa zależy od argumentu 'type'. Przykład:
import eu07_tools mesh = eu07_tools.t3d.create_submodel("Mesh", "siatka") freespot = eu07_tools.t3d.create_submodel("FreeSpotLight", "lampka") stars = eu07_tools.t3d.create_submodel("Stars", "gwiazdki")
create_include
t3d.create_include(path: str, parameters: Iterable[str] = None) -> t3d.Include
Tworzy instancję elementu typu "include". Przykład:
import eu07_tools include = eu07_tools.t3d.create_include("models/parts/wozek.t3d", []) include = eu07_tools.t3d.create_include("models/parts/parametryzowany_wozek.t3d", ["0", "4", "example"])
Element
class Element(abc.ABC)
Klasa nadrzędna dla elementów modelu (t3d.Submodel, t3d.Include)
Atrybuty:
element_type: str = ""
Nazwa typu elementu - służy do klasyfikacji elementów. Konkretna wartość jest nadawana dopiero w klasach pochodnych.
Include
class Include(t3d.Element)
Reprezentacja dyrektywy include. Dziedziczy atrybuty z t3d.Element.
Atrybuty:
element_type: str = "include" # Nazwa typu elementu, atrybut dziedziczony. path: str # Relatywna ścieżka do dołączanego pliku. Wartość nadawana jest przez konstruktor. parameters: List[str] # Lista parametrów. Wartość nadawana jest przez konstruktor.