Blender  V3.3
Public Attributes | List of all members
wmGizmo Struct Reference

#include <WM_gizmo_types.h>

Public Attributes

struct wmGizmonext
 
struct wmGizmoprev
 
const struct wmGizmoTypetype
 
wmGizmoFnModal custom_modal
 
struct wmGizmoGroupparent_gzgroup
 
struct wmKeyMapkeymap
 
voidpy_instance
 
struct PointerRNAptr
 
eWM_GizmoFlag flag
 
eWM_GizmoFlagState state
 
int highlight_part
 
int drag_part
 
float select_bias
 
float matrix_space [4][4]
 
float matrix_basis [4][4]
 
float matrix_offset [4][4]
 
float scale_final
 
float scale_basis
 
float line_width
 
float color [4]
 
float color_hi [4]
 
voidinteraction_data
 
wmGizmoOpElemop_data
 
int op_data_len
 
struct IDPropertyproperties
 
bool do_draw
 
union {
   float   f
 
temp
 

Detailed Description

Definition at line 206 of file WM_gizmo_types.h.

Member Data Documentation

◆ color

float wmGizmo::color[4]

◆ color_hi

float wmGizmo::color_hi[4]

◆ custom_modal

wmGizmoFnModal wmGizmo::custom_modal

Overrides 'type->modal' when set. Note that this is a workaround, remove if we can.

Definition at line 214 of file WM_gizmo_types.h.

Referenced by gizmo_dial_invoke(), gizmo_tweak_modal(), WM_gizmo_set_fn_custom_modal(), wm_gizmomap_modal_set(), and wm_gizmomaps_handled_modal_update().

◆ do_draw

bool wmGizmo::do_draw

Redraw tag.

Definition at line 282 of file WM_gizmo_types.h.

◆ drag_part

int wmGizmo::drag_part

For gizmos that differentiate between click & drag, use a different part for any drag events, -1 when unused.

Definition at line 240 of file WM_gizmo_types.h.

Referenced by gizmo_tweak_invoke(), ui_tooltip_data_from_gizmo(), WIDGETGROUP_navigate_setup(), and wm_gizmo_create().

◆ f

float wmGizmo::f

Definition at line 286 of file WM_gizmo_types.h.

Referenced by WM_gizmo_cmp_temp_fl(), and WM_gizmo_cmp_temp_fl_reverse().

◆ flag

eWM_GizmoFlag wmGizmo::flag

◆ highlight_part

int wmGizmo::highlight_part

◆ interaction_data

void* wmGizmo::interaction_data

◆ keymap

struct wmKeyMap* wmGizmo::keymap

◆ line_width

float wmGizmo::line_width

◆ matrix_basis

float wmGizmo::matrix_basis[4][4]

◆ matrix_offset

float wmGizmo::matrix_offset[4][4]

◆ matrix_space

float wmGizmo::matrix_space[4][4]

Transformation of the gizmo in 2d or 3d space.

  • Matrix axis are expected to be unit length (scale is applied after).
  • Behavior when axis aren't orthogonal depends on each gizmo.
  • Typically the +Z is the primary axis for gizmos to use.
  • 'matrix[3]' must be used for location, besides this it's up to the gizmos internal code how the rotation components are used for drawing and interaction. The space this gizmo is being modified in.

Definition at line 257 of file WM_gizmo_types.h.

Referenced by gizmo2d_xform_draw_prepare(), gizmo_cage2d_modal(), gizmo_move_modal(), move3d_get_translate(), WIDGETGROUP_armature_spline_refresh(), WIDGETGROUP_camera_view_draw_prepare(), blender::ed::space_node::WIDGETGROUP_node_corner_pin_draw_prepare(), blender::ed::space_node::WIDGETGROUP_node_crop_draw_prepare(), blender::ed::space_node::WIDGETGROUP_node_sbeam_draw_prepare(), WIDGETGROUP_xform_cage_refresh(), WM_gizmo_calc_matrix_final_params(), wm_gizmo_calculate_scale(), and wm_gizmo_create().

◆ next

struct wmGizmo* wmGizmo::next

Definition at line 207 of file WM_gizmo_types.h.

Referenced by gizmos_draw_list(), and view3d_ruler_to_gpencil().

◆ op_data

wmGizmoOpElem* wmGizmo::op_data

Operator to spawn when activating the gizmo (overrides property editing), an array of items (aligned with wmGizmo.highlight_part).

Definition at line 276 of file WM_gizmo_types.h.

Referenced by WM_gizmo_free(), WM_gizmo_operator_get(), WM_gizmo_operator_set(), WM_gizmo_target_property_clear_rna_ptr(), WM_gizmo_target_property_def_func_ptr(), and WM_gizmo_target_property_def_rna_ptr().

◆ op_data_len

int wmGizmo::op_data_len

Definition at line 277 of file WM_gizmo_types.h.

Referenced by gizmo_modal(), WM_gizmo_free(), and WM_gizmo_operator_set().

◆ parent_gzgroup

struct wmGizmoGroup* wmGizmo::parent_gzgroup

◆ prev

struct wmGizmo * wmGizmo::prev

Definition at line 207 of file WM_gizmo_types.h.

◆ properties

struct IDProperty* wmGizmo::properties

Definition at line 279 of file WM_gizmo_types.h.

Referenced by wm_gizmo_create().

◆ ptr

struct PointerRNA* wmGizmo::ptr

Rna pointer to access properties.

Definition at line 225 of file WM_gizmo_types.h.

Referenced by arrow_draw_geom(), arrow_draw_intern(), button2d_draw_intern(), dial_draw_intern(), dial_ghostarc_get_angles(), ED_view3d_gizmo_mesh_preselect_clear(), ED_view3d_gizmo_mesh_preselect_get_active(), gizmo2d_resize_setup(), gizmo2d_rotate_setup(), gizmo2d_xform_setup(), gizmo_arrow_exit(), gizmo_arrow_invoke(), gizmo_arrow_modal(), gizmo_arrow_property_update(), gizmo_arrow_test_select(), gizmo_button2d_cursor_get(), gizmo_cage2d_draw_intern(), gizmo_cage2d_modal(), gizmo_cage2d_test_select(), gizmo_cage3d_draw_intern(), gizmo_cage3d_modal(), gizmo_dial_draw(), gizmo_dial_draw_select(), gizmo_dial_exit(), gizmo_dial_modal(), gizmo_empty_image_prop_matrix_get(), gizmo_empty_image_prop_matrix_set(), gizmo_mesh_bisect_setup(), gizmo_mesh_bisect_update_from_op(), gizmo_mesh_extrude_refresh(), gizmo_mesh_extrude_setup(), gizmo_mesh_placement_setup(), gizmo_mesh_spin_init_draw_prepare(), gizmo_mesh_spin_init_setup(), gizmo_mesh_spin_redo_setup(), gizmo_modal(), gizmo_move_invoke(), gizmo_preselect_edgering_test_select(), gizmo_preselect_elem_test_select(), gizmo_primitive_draw_intern(), gizmo_ruler_exit(), gizmo_ruler_invoke(), gizmo_spin_exec(), gizmogroup2d_init(), gizmogroup_init(), move3d_draw_intern(), move_geom_draw(), py_rna_gizmo_parse(), ringcut_invoke(), tool_generic_create_gizmo(), view3d_ruler_add_invoke(), view3d_ruler_item_mousemove(), WIDGETGROUP_armature_spline_setup(), WIDGETGROUP_camera_refresh(), WIDGETGROUP_camera_setup(), WIDGETGROUP_camera_view_refresh(), WIDGETGROUP_camera_view_setup(), WIDGETGROUP_empty_image_refresh(), WIDGETGROUP_empty_image_setup(), WIDGETGROUP_forcefield_setup(), WIDGETGROUP_gizmo_invoke_prepare(), WIDGETGROUP_light_area_refresh(), WIDGETGROUP_light_area_setup(), WIDGETGROUP_light_spot_setup(), WIDGETGROUP_light_target_setup(), WIDGETGROUP_navigate_setup(), blender::ed::space_node::WIDGETGROUP_node_corner_pin_setup(), blender::ed::space_node::WIDGETGROUP_node_crop_setup(), blender::ed::space_node::WIDGETGROUP_node_sbeam_setup(), blender::ed::space_node::WIDGETGROUP_node_transform_refresh(), blender::ed::space_node::WIDGETGROUP_node_transform_setup(), WIDGETGROUP_ruler_setup(), WIDGETGROUP_xform_cage_refresh(), WIDGETGROUP_xform_cage_setup(), WIDGETGROUP_xform_shear_setup(), wm_gizmo_create(), WM_gizmo_free(), and WM_gizmo_properties_reset().

◆ py_instance

void* wmGizmo::py_instance

Definition at line 222 of file WM_gizmo_types.h.

Referenced by WM_gizmo_free().

◆ scale_basis

float wmGizmo::scale_basis

◆ scale_final

float wmGizmo::scale_final

◆ select_bias

float wmGizmo::select_bias

Distance to bias this gizmo above others when picking (in world-space, scaled by the gizmo scale - when used).

Definition at line 244 of file WM_gizmo_types.h.

Referenced by gizmo_draw_select_3d_loop(), gizmo_find_intersected_3d_intern(), gizmo_mesh_extrude_setup(), gizmo_refresh_from_matrix(), and gizmogroup_init().

◆ state

eWM_GizmoFlagState wmGizmo::state

◆ 

union { ... } wmGizmo::temp

Temporary data (assume dirty).

Referenced by WM_gizmo_cmp_temp_fl(), and WM_gizmo_cmp_temp_fl_reverse().

◆ type

const struct wmGizmoType* wmGizmo::type

The documentation for this struct was generated from the following file: