parameters: (self, ctx, event)
return_statement: return coords.z
docstring: Projecting mouse coords to local axis Z
docstring_summary: Projecting mouse coords to local axis Z
docstring_tokens: Projecting mouse coords to local axis Z
function: def project_mouse(self, ctx, event):
          """Projecting mouse coords to local axis Z"""
          # logic from source/blender/editors/gizmo_library/gizmo_types/arrow3d_gizmo.c:gizmo_arrow_modal
  
          mouse = Vector((event.mouse_region_x, event.mouse_region_y))
          region = ctx.region
          region3d = ctx.region_data
          ray_orig = view3d_utils.region_2d_to_origin_3d(region, region3d, mouse)
          ray_norm = view3d_utils.region_2d_to_vector_3d(region, region3d, mouse)
  
          # 'arrow' origin and direction
          base = Vector((0, 0, 0))
          axis = Vector((0, 0, 1))
  
          # projecttion of the arrow to a plane, perpendicular to view ray
          axis_proj = axis - ray_norm * axis.dot(ray_norm)
  
          # intersection of the axis with the plane through view origin perpendicular to the arrow projection
          coords = geometry.intersect_line_plane(base, axis, ray_orig, axis_proj)
  
          return coords.z
function_tokens: def project_mouse ( self , ctx , event ) : # logic from source/blender/editors/gizmo_library/gizmo_types/arrow3d_gizmo.c:gizmo_arrow_modal mouse = Vector ( ( event . mouse_region_x , event . mouse_region_y ) ) region = ctx . region region3d = ctx . region_data ray_orig = view3d_utils . region_2d_to_origin_3d ( region , region3d , mouse ) ray_norm = view3d_utils . region_2d_to_vector_3d ( region , region3d , mouse ) # 'arrow' origin and direction base = Vector ( ( 0 , 0 , 0 ) ) axis = Vector ( ( 0 , 0 , 1 ) ) # projecttion of the arrow to a plane, perpendicular to view ray axis_proj = axis - ray_norm * axis . dot ( ray_norm ) # intersection of the axis with the plane through view origin perpendicular to the arrow projection coords = geometry . intersect_line_plane ( base , axis , ray_orig , axis_proj ) return coords . z