package Ġf rc . robot . utils Ċ Ċ class ĠTranslation 3 d Ġ: ĠInterpol able < Translation 3 d > Ġ{ ĊĠ Ġprivate Ġval Ġv : ĠVector 3 ĊĊĠ Ġvar Ġx : ĠDouble ĊĠĠĠ Ġget () Ġ= Ġv . x ĊĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠ Ġv . x Ġ= Ġvalue ĊĠĠĠ Ġ} ĊĠ Ġvar Ġy : ĠDouble ĊĠĠĠ Ġget () Ġ= Ġv . y ĊĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠ Ġv . y Ġ= Ġvalue ĊĠĠĠ Ġ} ĊĠ Ġvar Ġz : ĠDouble ĊĠĠĠ Ġget () Ġ= Ġv . z ĊĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠ Ġv . z Ġ= Ġvalue ĊĠĠĠ Ġ} ĊĠ Ġval Ġnorm : ĠDouble ĊĠĠĠ Ġget () Ġ= Ġv . magnitude ĊĊĠ Ġconstructor ( v : ĠVector 3 ) Ġ{ ĊĠĠĠ Ġthis . v Ġ= Ġv ĊĠ Ġ} ĊĊĠ Ġoperator Ġfun Ġplus ( other : ĠTranslation 3 d ): ĠTranslation 3 d Ġ{ ĊĠĠĠ Ġreturn ĠTranslation 3 d ( v Ġ+ Ġother . v ) ĊĠ Ġ} ĊĊĠ Ġoperator Ġfun Ġminus ( other : ĠTranslation 3 d ): ĠTranslation 3 d Ġ{ ĊĠĠĠ Ġreturn ĠTranslation 3 d ( v Ġ- Ġother . v ) ĊĠ Ġ} ĊĊĠ Ġoperator Ġfun Ġunary Minus (): ĠTranslation 3 d Ġ{ ĊĠĠĠ Ġreturn ĠTranslation 3 d (- v ) ĊĠ Ġ} ĊĊĠ Ġoperator Ġfun Ġtimes ( scalar : ĠDouble ): ĠTranslation 3 d Ġ{ ĊĠĠĠ Ġreturn ĠTranslation 3 d ( v Ġ* Ġscalar ) ĊĠ Ġ} ĊĊĠ Ġoperator Ġfun Ġdiv ( scalar : ĠDouble ): ĠTranslation 3 d Ġ{ ĊĠĠĠ Ġreturn ĠTranslation 3 d ( v Ġ/ Ġscalar ) ĊĠ Ġ} ĊĊĠ Ġfun Ġget Distance ( other : ĠTranslation 3 d ): ĠDouble Ġ{ ĊĠĠĠ Ġreturn Ġ( other . v Ġ- Ġv ). magnitude ĊĠ Ġ} ĊĊĠ Ġfun Ġrotate By ( other : ĠRotation 3 d ): ĠTranslation 3 d Ġ{ ĊĠĠĠ Ġreturn ĠTranslation 3 d ( v . rotate ( other . qu aternion )) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġinterpolate ( upper : ĠTranslation 3 d , Ġt : ĠDouble ): ĠTranslation 3 d Ġ{ ĊĠĠĠ Ġreturn ĠTranslation 3 d ( v . interpolate ( upper . v , Ġt )) ĊĠ Ġ} Ċ }