Obiekt node::dynamic: Różnice pomiędzy wersjami

Z MaSzyna
Skocz do: nawigacja, szukaj
(Składnia)
 
(Nie pokazano 27 wersji utworzonych przez 2 użytkowników)
Linia 1: Linia 1:
Dyrektywa '''node''' typu '''dynamic''' wstawia do scenerii pojazd.
+
Wstawia pojazd do scenerii.
 
== Składnia ==
 
== Składnia ==
Jeśli dyrektywa występuje wewnątrz dyrektywy [[Plik_scenerii#trainset|'''trainset''']]:
+
  {{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>
<span style="color:green;font-weight:bold;">node</span> ''max_distance min_distance name'' <span style="color:tomato;font-weight:bold">dynamic</span> ''directory replacableskin_path physic_path driver_type coupler brakes load_quantity load_type'' <span style="color:orange;font-weight:bold">destination</span> ''destination'' <span style="color:tomato;font-weight:bold">enddynamic</span>
 
Jeśli dyrektywa występuje poza dyrektywą [[Plik_scenerii#trainset|'''trainset''']]:
 
  <span style="color:green;font-weight:bold;">node</span> ''max_distance min_distance name'' <span style="color:tomato;font-weight:bold">dynamic</span> ''directory replacableskin_path physic_path track distance driver_type velocity coupler brakes load_quantity load_type'' <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 parametru
+
! Nazwa
! Znaczenie parametru
+
! Interpretacja
! Typ wartości
 
 
! Uwagi
 
! Uwagi
 
|-
 
|-
| folder
+
| '''datafolder'''
| Ścieżka do katalogu zawierającego model pojazdu do wstawienia (relatywna względem folderu ''dynamic'').
+
| Ścieżka do folderu pojazdu.
| Tekst
+
| Ś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]].
 
|-
 
|-
| tekstura
+
| '''offset'''
| Plik tekstury z katalogu ''folder'' (bez rozszerzenia), którym ma być oteksturowany model.  
+
| Odległość pojazdu od punktu 1 obiektu [[Obiekt_node::track|node::track]] na którym stoi pojazd w momencie startu symulacji.
| Tekst
+
| Jeśli definicja pojazdu jest częścią dyrektywy [[Dyrektywa_trainset|trainset]], parametr jest wymagany, ale ignorowany.
|  
 
 
|-
 
|-
| typ_pojazdu
+
| '''drivertype'''
| [[Plik charakterystyki|plik charakterystyki]] z katalogu ''folder'' (bez rozszerzenia). Określa jaki model pojazdu zostanie użyty (np. 303E).
+
| Rodzaj obsady pojazdu.
| Tekst
 
 
|  
 
|  
 +
* <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
 
|-
 
|-
| tor
+
| '''couplingdata'''
| Nazwa toru, na którym ma stanąć pojazd.
+
| [[Wpisy_hamulca_dla_pojazdow|Definicja sprzęgu]] łączącego z następnym pojazdem.
| Nazwa obiektu [[Obiekt node#track|'''node::track''']]
+
| Tylko jeśli definicja pojazdu '''jest''' częścią dyrektywy [[Dyrektywa_trainset|trainset]].
| Wpisywać tylko jeśli wpis NIE JEST częścią [[Plik scenerii#trainset|'''trainset''']]
+
|
 
|-
 
|-
| odleglosc
+
| '''Lx'''
| Odległość pojazdu od punktu 1 toru, na którym stoi [m].
+
| Modyfikator domyślnej wartości MaxLoad pojazdu, gdzie x to liczba zastępująca wartość MaxLoad.
| Nazwa obiektu [[Obiekt node#track|'''node::track''']]
+
| 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.
| Wpisywać tylko jeśli wpis NIE JEST częścią [[Plik scenerii#trainset|'''trainset''']]. Można wpisać wartośc -1, jeżeli wpis JEST częścią [[Plik scenerii#trainset|'''trainset''']], co spowoduje odwrócenie pojazdu.
+
|
 
|-
 
|-
| obsada
+
| '''loadcount'''
| Stan obsadzenia pojazdu.
+
| Ilość ładunku.
| Słowo kluczowe
+
|  
| Jedno ze słów kluczowych:
 
 
 
<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;">nobody</span> - brak obsady.
 
 
 
<span style="color:orange;font-weight:bold;">passenger</span> - jazda w wagonie jako pasażer. Uwaga! Nie każdy wagon posiada taką możliwość!
 
 
 
<span style="color:orange;font-weight:bold;">connected</span> - reliktowe do ukrotnionych pojazdów; od lat równoważne nobody.
 
 
 
 
|-
 
|-
| predkosc
+
| '''loadtype'''
| Prędkość początkowa pojazdu [km/h]
+
| Typ ładunku.
| Liczba
+
| Podawać tylko gdy ''loadcount'' > 0
| Wpisywać tylko jeśli wpis NIE JEST częścią [[Plik scenerii#trainset|'''trainset''']]
+
|
 
|-
 
|-
| sprzeg
+
| '''destination'''
| Wartość flagi sprzęgu łączącego z następnikiem.
+
| Miejsce docelowe ładunku (?)
| Liczba
+
| Parametr opcjonalny.
|1 - podłączony hak
+
|}
 
 
2 - podłączony przewód hamulcowy
 
 
4 - podłączony przewód ukrotnienia
 
 
 
8 - podłączony przewód wysokiego napięcia
 
  
16 - podłączony mostek przejściowy
+
== Informacje dla programistów ==
 +
Pojazdy reprezentowane są przez klasę '''TDynamicObject''', której definicja znajduje się w pliku ''DynObj.h''
  
32 - podłączony przewód powietrzny 8 atmosfer
+
Wpis jest parsowany przez metodę:
   
+
  ('''simulation.cpp''')
64 - podłączony przewód ogrzewania
+
void state_manager::deserialize_dynamic(cParser &Input, scene::scratch_data &Scratchpad)
  
128 - blokada
+
[[Kategoria:Scenerie]]
 
 
Dla przykładu, aby otrzymać wartość flagi oznaczającą podłączenie haka, przewodu hamulcowego i ogrzewania dodajemy do siebie liczby 1 (podpięty hak), 2 (podpięty przewód hamulcowy) i 64 (podpięty przewód ogrzewania).
 
 
 
Wpisywać tylko jeśli wpis JEST częścią [[Plik scenerii#trainset|'''trainset''']]
 
|-
 
| hamulce
 
| Definicja nastawy hamulca
 
| ?
 
| [[Wpisy hamulca dla pojazdow|dowiedz się więcej.]]
 
|-
 
| ilosc_ladunku
 
| Ilość ładunku w pojeździe.
 
| Liczba
 
| Jednostka ładunku zależna od wpisu w [[Plik charakterystyki|pliku charakterystyki]]
 
|-
 
| ladunek
 
| Typ ładunku
 
| Tekst
 
| Wpisywać tylko jeśli ''ilosc_ladunku'' > 0.
 
|-
 
| miejsce_docelowe
 
| Dla wagonów jest to stacja docelowa. Informacja taka umożliwi wykonywanie automatycznych manewrów przez AI (łączenie i rozłączanie składów, obsługa górki rozrządowej).
 
| Tekst
 
| Jeśli nie zostanie to wyszczególnione we wpisie, miejsce docelowe zostanie określone po przypisaniu rozkładu jazdy.
 
|}
 

Aktualna wersja na dzień 11: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
Opis parametrów
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.
  • headdriver - obsada w kabinie nr 1
  • reardriver - obsada w kabinie nr 2
  • passenger - jazda jako pasażer
  • nobody - brak obsady
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)