package Ġdev . d res . api . rest . types . comp etition . tasks Ċ Ċ import Ġdev . d res . data . model . basics . time .* Ċ Ċ // TODO Ġthis Ġcould Ġbe Ġmade Ġa Ġbit Ġn icer Ġbut Ġthat Ġwill Ġrequire Ġapi Ġchanges Ċ Ċ data Ġclass ĠRest Temporal Range ( val Ġstart : ĠRest Temporal Point , Ġval Ġend : ĠRest Temporal Point ) Ġ{ ĊĠĠĠ Ġconstructor ( range : ĠTemp oral Range ) Ġ: Ġthis ( Rest Temporal Point . from Temporal Point ( range . start ), ĠRest Temporal Point . from Temporal Point ( range . end )) ĊĠĠĠ Ġfun Ġto Temporal Range ( fps : ĠFloat ): ĠTemp oral Range Ġ= ĠTemp oral Range ( start . to Temporal Point ( fps ), Ġend . to Temporal Point ( fps )) Ċ } Ċ Ċ data Ġclass ĠRest Temporal Point ( val Ġvalue : ĠDouble , Ġval Ġunit : ĠRest Temporal Unit ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject { ĊĠĠĠĠĠĠĠ Ġfun Ġfrom Temporal Point ( temporal Point : ĠTemp oral Point ): ĠRest Temporal Point Ġ= Ġwhen ( temporal Point ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠTemp oral Point . Frame Ġ-> ĠRest Temporal Point ( temporal Point . frame . toDouble (), ĠRest Temporal Unit . FRAME _ NUMBER ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠTemp oral Point . Millisecond Ġ-> ĠRest Temporal Point ( temporal Point . milli second . toDouble (), ĠRest Temporal Unit . MILLISECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠTemp oral Point . Time code Ġ-> ĠRest Temporal Point ( temporal Point . to Milliseconds (). toDouble (), ĠRest Temporal Unit . MILLISECONDS ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġto Temporal Point ( fps : ĠFloat ): ĠTemp oral Point Ġ= Ġwhen ( this . unit ){ ĊĠĠĠĠĠĠĠ ĠRest Temporal Unit . FRAME _ NUMBER Ġ-> ĠTemp oral Point . Frame ( value . toInt (), Ġfps ) ĊĠĠĠĠĠĠĠ ĠRest Temporal Unit . SECONDS Ġ-> ĠTemp oral Point . Millisecond (( value Ġ* Ġ 1 0 0 0 ). to Long ()) ĊĠĠĠĠĠĠĠ ĠRest Temporal Unit . MILLISECONDS Ġ-> ĠTemp oral Point . Millisecond ( value Ġ. to Long ()) ĊĠĠĠ Ġ} Ċ } Ċ Ċ enum Ġclass ĠRest Temporal Unit Ġ{ ĊĠĠĠ ĠFRAME _ NUMBER , ĊĠĠĠ ĠSE CON DS , ĊĠĠĠ ĠMIL LI SECONDS Ċ }