// semafor 2-komorowy prosty: p1=nazwa p2,p3,p4=lokacja, p5=rotacja,p6-symbol
//semafor ten stosuje sie jako wyjazdowy na posterunkach odstepowych

origin (p2) (p3) (p4)
rotate 0 (p5) 0
node -1 0 (p1) model 0 0 0 0 sem/glowice/S2YLcz_dd.t3d tabl/(p6) Lights 1 0 endmodel            //glowica 
node -1 0 none model 0 0 0 0 sem/slupy/S2YLmg.t3d sem/slupy.bmp endmodel       //slup
node -1 0 none model 0 0 0 0 sem/drabinki/D2YL.t3d sem/slupy.bmp endmodel
node 800 80 none lines 100 50 20 100.0                                                //linia zeby byl maszt widoczny z daleka
0.0 0.0 0.0	0.0 4.5 0.0 
endline
rotate 0 0 0
endorigin

// PODSTAWOWE ZDARZENIA:

//odczyt z pamieci (zdarzenie przypisane do toru przy ktorym stoi semafor):
event (p1)_sem_info getvalues 0 (p1)_sem_mem endevent

//stany semafora:

event (p1)_s1 multiple 0 none (p1)_sem_ligh1 (p1)_sem_info_stop endevent                  

//event (p1)_s2 multiple 0 none (p1)_sem_ligh2 (p1)_sem_info_vmax (p1)_s1  endevent  
event (p1)_s2 multiple 0 none (p1)_sem_ligh2 (p1)_sem_info_vmax  endevent  

//powyzsze zdarzenia skladaja sie z:

//memcell do pamietania predkosci:
node -1 0 (p1)_sem_mem memcell (p2) (p3) (p4) SetVelocity 0.0 0.0 none endmemcell

//zdarzenia wpisujace w memcell predkosci przy semaforze:
event (p1)_sem_info_stop updatevalues 0.0 (p1)_sem_mem SetVelocity 0.0 0.0 endevent
event (p1)_sem_info_vmax updatevalues 0.0 (p1)_sem_mem SetVelocity -1 -1 endevent

//zdarzenia sterujace swiatlami:
event (p1)_sem_ligh1 lights 0.0 (p1) 1 0  endevent
event (p1)_sem_ligh2 lights 0.0 (p1) 0 1 endevent
