Biblioteka eu07-tools (Python): Różnice pomiędzy wersjami

Z MaSzyna
Skocz do: nawigacja, szukaj
(dump)
(t3d)
Linia 26: Linia 26:
 
  with open("model.t3d", "w", newline="\r\n", encoding="windows-1250") as out_file:
 
  with open("model.t3d", "w", newline="\r\n", encoding="windows-1250") as out_file:
 
     eu07_tools.t3d.load(model_elements, 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 parametru 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")

Wersja z 15:24, 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.

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 parametru 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")