\gYddlddlZddlZddlZejj ejj dddlddlm Z m Z m Z m Z m Z mZdZdZdZdZd ZGd d eZy) )*Nz../script_generator)infsqrtpilogtanradians c|jS)N)link) station_events 4/home/thomas/Documents/TrainMap/animator/animator.py get_coordr s   cNt|d|dz dz|d|dz dzzS)Nr)r)pqs rdistrs2 1adQ!QqT A~- ./rc|j}|d}|dk(s |dk(s|dk(rdj|ddSdj|S)Nrhaltestation stopplaats r)splitjoin)namesplittedfs rshortifyr!sMzz|H A'zQ \Q _xx %& 88H rc t|d}t|d}dtdzz dtzz|tzz}dtdzz dtzzttt tdz |dz zz z}||dfS)Nrrg9@rg9)r rzoomrr)coordlatlongxys r coord_to_posr*s} %( C %( D BqDk!T'47#A RTl1d7Bs3r!tCEz?334A a7Orc$eZdZdZdZdZdZy)Animatorci|_|jjjdtj d}|j }d}|D]}tj|}t|j}|j|jt|j|t|t rb|j#|jjj$j't)|j*|j-|t|t.r|j1||j3| y)N(z../script_generator/Events.xmlr)drawn_stationscameraframe set_widthETparsegetrootEventfromXMLTextdate fix_in_frameto_edgeUPadd isinstance StationEventplayanimatemove_tor* coordinates draw_stationLineSegmentEvent draw_segmentremove)self script_treeevents_elementi event_elementevent surface_texts r constructzAnimator.construct)s  ##B'hh?@ $,,. +MMM-0E +L  % % '   $ HH\ "% - $++++33;;LIZIZ<[\]!!%(% 01!!%( KK %,rc|jdk(rt|jdyt|j}t t ddj |}t|j}t|djtj |ddz|ddzdf}|jd k(rK|||jf|j|j<|jt|t|y|jd k(rp|jj!|j\}}}|j#||j#||jt%|t%|yy) Nz has no coordinatesrg?)color fill_opacityradiusr.) font_sizerg?openingclosure)rCprintrr*CircleBLACKrBr!r8 set_colorBLUEopening_or_closurevertex_indicesr/r@ ShowCreationpoprGUncreate)rHr posr short_nametext_s rrDzAnimator.draw_station;sO  $ $d * ]''((;< = =445 AS 9 A A# Fm001 J,66t<DDc!fSjQTUVQWX[Q[\]E^_  + +Y 656t!0052D   2 2 3 IIl1ol4&8 9  - -y 8,,001C1CDJQtA KKN KK  IIhqk(4. 1 9rc|||}tt}|jtt t ||dk(r|j t|n[|j t||jjjjt |j|dk7r|j|yy)N) stroke_color)VMobjectREDset_points_as_cornerslistmapr*r@r^r0r1rArBrCrD)rHcoords start_index end_indexr cornersvmobs r draw_pathzAnimator.draw_pathMsY/S) ""4L(A#BC D IIl4( ) IIl4():):)B)B)J)J+>*?@A&&( !!n $Q%--cr23 +M MM5!5!5e!<=eMDXDXY^D_>`a b, $++##++33LARAR4STU "    #4#6#6#;#;#==&*&9&9%:J:J&K#1]*;7 vk%2F2Fq2I2X2XYd2efkfzfz{|f}~!!%"6"6q"9:&*&9&9%:J:J&K#1]$($7$7$G!1[*;7 &{3 vk)DA$(" "11M .}/A/A.BC D, #O NN6,"="=k"J=KgKghsKtvC D$00J qDA2"enn8K8K8P8P8R&R$($7$7$G!1[' 4 ve&:&:2&>&M&Mk&Z[deij 'S!rN)__name__ __module__ __qualname__rOrDrqrFrrr,r,(s&$2$ -,krr,)manimlibinspectsysospathrxabspathr6mathrrrrrr r$rrr!r*Scener,rrrrsa  567,, 0\ku\kr