//-- przejazd niestrzezony: tylko eventy sterujace ruchem aut (bez znakow drogowych - nalezy je dodac oddzielnie)
//-- linia jednotorowa
//-- p1 - nazwa przejazdu, p2,p3,p4-polozenie,p5-rotacja, 
//-- p6 - nazwa odcinka izolowanego toru na przejezdzie
//-- sterowanie: '(p1)_zamykaj' nalezy wywolac przed przejazdem jako event1/2, po przejezdzie pociagu auta dostana zgode na wjazd na przejazd
//-- oX+: syg_info1, oX-: syg_info2 (pivot 3dsMAX)
//-- oX wzdluz drogi, oY wzdluz toru
//-- 05.2025 @MaciejM.

event (p1)_warning putvalues 1.0 none (p2) (p3) (p4) Warning_signal 1 2 endevent

origin (p2) (p3) (p4)
rotate 0 (p5) 0

//--- komorki do wysylania informacji o predkosci dla samochodow
node -1 0 (p1)_syg_mem1 memcell -5 0.0 5 SetVelocity -1 -1 none endmemcell
node -1 0 (p1)_syg_mem2 memcell 5 0.0 -5 SetVelocity -1 -1 none endmemcell

//odczyt dla pojazdow drogowych:
event (p1)_syg_info1 getvalues 1.0 (p1)_syg_mem1 endevent
event (p1)_syg_info2 getvalues 1.0 (p1)_syg_mem2 endevent

//elementarne zdarzenia:
// wpisywanie informacji o tym ze przejazd zostal zamkniety:
//--- zatrzymywanie pojazdow drogowych 
event (p1)_stop1 updatevalues 2.0 (p1)_syg_mem1 SetVelocity 0 0 endevent
event (p1)_stop2 updatevalues 2.0 (p1)_syg_mem2 SetVelocity 0 0 endevent

//wpisywanie informacji o tym ze przejazd zostal otwarty:
event (p1)_go1 updatevalues 10.0 (p1)_syg_mem1 SetVelocity -1 -1 endevent
event (p1)_go2 updatevalues 10.0 (p1)_syg_mem2 SetVelocity -1 -1 endevent

// globalne procedury sterujace:
//--- zamykanie przejazdu - musi byc podpiete jako event1/2 przed przejazdem 
event (p1)_zamykaj multiple 0.0 none (p1)_stop1 (p1)_stop2 endevent

//--- automatyczne otwieranie przejazdu: zwolnienie odcinka izolowanego
event (p6):free multiple 1.0 none (p1)_go1 (p1)_go2 endevent

rotate 0 0 0
endorigin
