package Ġcom . the apache 6 4 . k lo kk . movement . ripple Ċ Ċ import Ġcom . the apache 6 4 . k lo kk . model . Clock Data Ċ Ċ class ĠR ipple Data ( ĊĠĠĠ Ġprivate Ġval Ġstart One : ĠFloat , ĊĠĠĠ Ġprivate Ġval Ġstart Two : ĠFloat , ĊĠĠĠ Ġprivate Ġval Ġend One : ĠFloat , ĊĠĠĠ Ġprivate Ġval Ġend Two : ĠFloat , Ċ ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġget Base Rows ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart One : ĠFloat , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Two : ĠFloat , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġend One : ĠFloat , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġend Two : ĠFloat , ĊĠĠĠĠĠĠĠ Ġ): ĠMutable List < List < Clock Data >> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġmutable ListOf < List < Clock Data >> (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepeat ( R ipple Matrix Generator . ROW _ CLOCK _ COUNT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrow Ġ= Ġmutable ListOf < Clock Data >(). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgenerate Row ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Need le One Degree Ġ= Ġstart One , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Need le Two Degree Ġ= Ġstart Two , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend Need le One Degree Ġ= Ġend One , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend Need le Two Degree Ġ= Ġend Two , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( row ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun ĠMutable List < Clock Data >. generate Row ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Need le One Degree : ĠFloat , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Need le Two Degree : ĠFloat , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġend Need le One Degree : ĠFloat , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġend Need le Two Degree : ĠFloat , ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinterval One Ġ= Ġ( end Need le One Degree Ġ- Ġstart Need le One Degree ) Ġ/ ĠR ipple Matrix Generator . COLUMN _ CLOCK _ COUNT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinterval Two Ġ= Ġ( end Need le Two Degree Ġ- Ġstart Need le Two Degree ) Ġ/ ĠR ipple Matrix Generator . COLUMN _ CLOCK _ COUNT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġneedle One Ġ= Ġstart Need le One Degree ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġneedle Two Ġ= Ġstart Need le Two Degree ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepeat ( R ipple Matrix Generator . COLUMN _ CLOCK _ COUNT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClock Data ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdegree One Ġ= Ġneedle One , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdegree Two Ġ= Ġneedle Two , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠIncrement Ġx Ġand Ġy ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġneedle One Ġ+= Ġinterval One ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġneedle Two Ġ+= Ġinterval Two ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠThanks Ġto ĠZ hu inden Ġ;) ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġget Mir rored Angle For ( current : ĠFloat ): ĠFloat Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( current Ġ> Ġ 0 Ġ&& Ġcurrent Ġ< Ġ 1 8 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 8 0 Ġ- Ġcurrent ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( 3 6 0 Ġ- Ġ( current Ġ% Ġ 1 8 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun ĠList < Clock Data >. mirror Vert ically (): ĠList < Clock Data > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClock Data ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdegree One Ġ= Ġget Mir rored Angle For ( it . degree One ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdegree Two Ġ= Ġget Mir rored Angle For ( it . degree Two ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun ĠList < Clock Data >. reverse And Mirror H orizontally (): ĠList < Clock Data > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġreversed (). map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdegree One Ġ= Ġ 3 6 0 Ġ- Ġit . degree One ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdegree Two Ġ= Ġ 3 6 0 Ġ- Ġit . degree Two ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClock Data ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdegree One Ġ= Ġdegree One , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdegree Two Ġ= Ġdegree Two ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġbase Rows Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġget Base Rows ( start One , Ġstart Two , Ġend One , Ġend Two ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġgrid 0 0 Ġby Ġlazy Ġ{ Ġbase Rows Ġ} ĊĠĠĠ Ġval Ġgrid 0 1 Ġby Ġlazy Ġ{ Ġbase Rows . map Ġ{ Ġit . reverse And Mirror H orizontally () Ġ}. to Mutable List () Ġ} ĊĠĠĠ Ġval Ġgrid 1 0 Ġby Ġlazy Ġ{ Ġbase Rows . reversed (). map Ġ{ Ġit . mirror Vert ically () Ġ}. to Mutable List () Ġ} ĊĠĠĠ Ġval Ġgrid 1 1 Ġby Ġlazy Ġ{ Ġgrid 1 0 . map Ġ{ Ġit . reverse And Mirror H orizontally () Ġ}. to Mutable List () Ġ} Ċ } Ċ