def __updateValue(self, params):
     if params.period <= 0:
         return params.startValue
     return params.startValue + math_utils.easeOutQuad(
         self.__currentIdleTime,
         self.__sinValue(params) - params.startValue, self.__easingInTime
     ) if self.__currentIdleTime < self.__easingInTime else self.__sinValue(
         params)
 def __interpolateAngle(self, startValue, easedInValue, currentPosition,
                        goalPosition, time, angleCalculation):
     return math_utils.easeOutQuad(
         time, easedInValue - startValue, self.__easeInDuration
     ) + startValue if time < self.__easeInDuration else angleCalculation(
         currentPosition, goalPosition)