def __calculateAimOffset(self, aimWorldPos):
     replayCtrl = BattleReplay.g_replayCtrl
     if replayCtrl.isPlaying and replayCtrl.isControllingCamera:
         aimOffset = replayCtrl.getAimClipPosition()
     else:
         proj = BigWorld.projection()
         aimLocalPos = Matrix(self.__cam.matrix).applyPoint(aimWorldPos)
         if aimLocalPos.z < 0:
             aimLocalPos.z = max(0.0,
                                 proj.nearPlane - _OFFSET_FROM_NEAR_PLANE)
             aimWorldPos = Matrix(
                 self.__cam.invViewMatrix).applyPoint(aimLocalPos)
         aimOffset = cameras.projectPoint(aimWorldPos)
         aimOffset = Vector2(math_utils.clamp(-0.95, 0.95, aimOffset.x),
                             math_utils.clamp(-0.95, 0.95, aimOffset.y))
         if replayCtrl.isRecording:
             replayCtrl.setAimClipPosition(aimOffset)
     return aimOffset