Obiekt node::dynamic: Różnice pomiędzy wersjami
Z MaSzyna
(Utworzono nową stronę "Dyrektywa '''node''' typu '''dynamic''' wstawia do scenerii pojazd. == Składnia == Jeśli dyrektywa występuje wewnątrz dyrektywy Plik_scenerii#trainset|'''trainset'...") |
|||
(Nie pokazano 28 wersji utworzonych przez 2 użytkowników) | |||
Linia 1: | Linia 1: | ||
− | + | Wstawia pojazd do scenerii. | |
== Składnia == | == Składnia == | ||
− | + | {{Szablon:Kod_preambuly_node}} <span style="color:tomato;font-weight:bold">dynamic</span> ''datafolder skinfile mmdfile pathname offset drivertype couplingdata Lx velocity loadcount loadtype'' <span style="color:orange;font-weight:bold">destination</span> ''destination'' <span style="color:tomato;font-weight:bold">enddynamic</span> | |
− | |||
− | |||
− | |||
{| class="wikitable" | {| class="wikitable" | ||
|+ Opis parametrów | |+ Opis parametrów | ||
− | ! Nazwa | + | ! Nazwa |
− | ! | + | ! Interpretacja |
− | |||
! Uwagi | ! Uwagi | ||
|- | |- | ||
− | | | + | | '''datafolder''' |
− | | Ścieżka do | + | | Ścieżka do folderu pojazdu. |
− | | | + | | Ścieżka relatywna względem folderu ''dynamic'' |
− | | | + | |- |
+ | | '''skinfile''' | ||
+ | | Ścieżka do tekstury wymiennej. | ||
+ | | Ścieżka relatywna względem folderu podanego w parametrze ''datafolder''. | ||
+ | Można podać kilka tekstur wymiennych (jeśli zdefiniowano je w modelu) oddzielając ich nazwy znakiem "|" (''pipe''). | ||
+ | |- | ||
+ | | '''mmdfile''' | ||
+ | | Ścieżka do pliku [[Plik_multimediów_(mmd)|MMD]]. | ||
+ | | Ścieżka relatywna względem folderu podanego w parametrze ''datafolder''. | ||
+ | |- | ||
+ | | '''pathname''' | ||
+ | | Nazwa obiektu [[Obiekt_node::track|node::track]] na którym stoi pojazd w momencie startu symulacji. | ||
+ | | Tylko jeśli definicja pojazdu '''nie jest''' częścią dyrektywy [[Dyrektywa_trainset|trainset]]. | ||
|- | |- | ||
− | | | + | | '''offset''' |
− | + | | Odległość pojazdu od punktu 1 obiektu [[Obiekt_node::track|node::track]] na którym stoi pojazd w momencie startu symulacji. | |
− | | | + | | Jeśli definicja pojazdu jest częścią dyrektywy [[Dyrektywa_trainset|trainset]], parametr jest wymagany, ale ignorowany. |
− | | | ||
|- | |- | ||
− | | | + | | '''drivertype''' |
− | + | | Rodzaj obsady pojazdu. | |
− | |||
| | | | ||
+ | * <span style="color:orange;font-weight:bold">headdriver</span> - obsada w kabinie nr 1 | ||
+ | * <span style="color:orange;font-weight:bold">reardriver</span> - obsada w kabinie nr 2 | ||
+ | * <span style="color:orange;font-weight:bold">passenger</span> - jazda jako pasażer | ||
+ | * <span style="color:orange;font-weight:bold">nobody</span> - brak obsady | ||
|- | |- | ||
− | + | | '''couplingdata''' | |
− | + | | [[Wpisy_hamulca_dla_pojazdow|Definicja sprzęgu]] łączącego z następnym pojazdem. | |
− | + | | Tylko jeśli definicja pojazdu '''jest''' częścią dyrektywy [[Dyrektywa_trainset|trainset]]. | |
− | | | + | | |
|- | |- | ||
− | + | | '''Lx''' | |
− | + | | Modyfikator domyślnej wartości MaxLoad pojazdu, gdzie x to liczba zastępująca wartość MaxLoad. | |
− | + | | Pozwala to np. na użycie wpisu L0 by na scenerii pojawił wagon, do którego nie będzie dozwolone wejście pasażerów. | |
− | | | + | | |
|- | |- | ||
− | | | + | | '''loadcount''' |
− | | | + | | Ilość ładunku. |
− | | | + | | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
− | | | + | | '''loadtype''' |
− | | | + | | Typ ładunku. |
− | | | + | | Podawać tylko gdy ''loadcount'' > 0 |
− | + | | | |
|- | |- | ||
− | | | + | | '''destination''' |
− | | | + | | Miejsce docelowe ładunku (?) |
− | | | + | | Parametr opcjonalny. |
− | | | + | |} |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | == Informacje dla programistów == | |
+ | Pojazdy reprezentowane są przez klasę '''TDynamicObject''', której definicja znajduje się w pliku ''DynObj.h'' | ||
− | + | Wpis jest parsowany przez metodę: | |
− | + | ('''simulation.cpp''') | |
− | + | void state_manager::deserialize_dynamic(cParser &Input, scene::scratch_data &Scratchpad) | |
− | + | [[Kategoria:Scenerie]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Aktualna wersja na dzień 10:15, 4 kwi 2022
Wstawia pojazd do scenerii.
Składnia
node range_max range_min name dynamic datafolder skinfile mmdfile pathname offset drivertype couplingdata Lx velocity loadcount loadtype destination destination enddynamic
Nazwa | Interpretacja | Uwagi | |
---|---|---|---|
datafolder | Ścieżka do folderu pojazdu. | Ścieżka relatywna względem folderu dynamic | |
skinfile | Ścieżka do tekstury wymiennej. | Ścieżka relatywna względem folderu podanego w parametrze datafolder.
Można podać kilka tekstur wymiennych (jeśli zdefiniowano je w modelu) oddzielając ich nazwy znakiem "|" (pipe). | |
mmdfile | Ścieżka do pliku MMD. | Ścieżka relatywna względem folderu podanego w parametrze datafolder. | |
pathname | Nazwa obiektu node::track na którym stoi pojazd w momencie startu symulacji. | Tylko jeśli definicja pojazdu nie jest częścią dyrektywy trainset. | |
offset | Odległość pojazdu od punktu 1 obiektu node::track na którym stoi pojazd w momencie startu symulacji. | Jeśli definicja pojazdu jest częścią dyrektywy trainset, parametr jest wymagany, ale ignorowany. | |
drivertype | Rodzaj obsady pojazdu. |
| |
couplingdata | Definicja sprzęgu łączącego z następnym pojazdem. | Tylko jeśli definicja pojazdu jest częścią dyrektywy trainset. | |
Lx | Modyfikator domyślnej wartości MaxLoad pojazdu, gdzie x to liczba zastępująca wartość MaxLoad. | Pozwala to np. na użycie wpisu L0 by na scenerii pojawił wagon, do którego nie będzie dozwolone wejście pasażerów. | |
loadcount | Ilość ładunku. | ||
loadtype | Typ ładunku. | Podawać tylko gdy loadcount > 0 | |
destination | Miejsce docelowe ładunku (?) | Parametr opcjonalny. |
Informacje dla programistów
Pojazdy reprezentowane są przez klasę TDynamicObject, której definicja znajduje się w pliku DynObj.h
Wpis jest parsowany przez metodę:
(simulation.cpp) void state_manager::deserialize_dynamic(cParser &Input, scene::scratch_data &Scratchpad)