Blender V4.3
ED_gizmo_library.hh File Reference
#include "DNA_scene_types.h"

Go to the source code of this file.

Generic Gizmos.

This is exposes predefined gizmos for re-use.

enum  {
  ED_GIZMO_ARROW_STYLE_NORMAL = 0 , ED_GIZMO_ARROW_STYLE_CROSS = 1 , ED_GIZMO_ARROW_STYLE_BOX = 2 , ED_GIZMO_ARROW_STYLE_CONE = 3 ,
  ED_GIZMO_ARROW_STYLE_PLANE = 4
}
 
enum  { ED_GIZMO_ARROW_XFORM_FLAG_INVERTED = (1 << 3) , ED_GIZMO_ARROW_XFORM_FLAG_CONSTRAINED = (1 << 4) }
 
enum  { ED_GIZMO_ARROW_DRAW_FLAG_STEM = (1 << 0) , ED_GIZMO_ARROW_DRAW_FLAG_ORIGIN = (1 << 1) }
 
enum  {
  ED_GIZMO_CAGE_XFORM_FLAG_TRANSLATE = (1 << 0) , ED_GIZMO_CAGE_XFORM_FLAG_ROTATE = (1 << 1) , ED_GIZMO_CAGE_XFORM_FLAG_SCALE = (1 << 2) , ED_GIZMO_CAGE_XFORM_FLAG_SCALE_UNIFORM = (1 << 3) ,
  ED_GIZMO_CAGE_XFORM_FLAG_SCALE_SIGNED = (1 << 4)
}
 
enum  { ED_GIZMO_CAGE2D_STYLE_BOX = 0 , ED_GIZMO_CAGE2D_STYLE_BOX_TRANSFORM , ED_GIZMO_CAGE2D_STYLE_CIRCLE }
 
enum  { ED_GIZMO_CAGE3D_STYLE_BOX = 0 , ED_GIZMO_CAGE3D_STYLE_CIRCLE = 1 }
 
enum  { ED_GIZMO_CAGE_DRAW_FLAG_XFORM_CENTER_HANDLE = (1 << 0) }
 
enum  {
  ED_GIZMO_CAGE2D_PART_TRANSLATE = 0 , ED_GIZMO_CAGE2D_PART_SCALE , ED_GIZMO_CAGE2D_PART_SCALE_MIN_X , ED_GIZMO_CAGE2D_PART_SCALE_MAX_X ,
  ED_GIZMO_CAGE2D_PART_SCALE_MIN_Y , ED_GIZMO_CAGE2D_PART_SCALE_MAX_Y , ED_GIZMO_CAGE2D_PART_SCALE_MIN_X_MIN_Y , ED_GIZMO_CAGE2D_PART_SCALE_MIN_X_MAX_Y ,
  ED_GIZMO_CAGE2D_PART_SCALE_MAX_X_MIN_Y , ED_GIZMO_CAGE2D_PART_SCALE_MAX_X_MAX_Y , ED_GIZMO_CAGE2D_PART_ROTATE
}
 
enum  {
  ED_GIZMO_CAGE3D_PART_SCALE_MIN_X_MIN_Y_MIN_Z = 0 , ED_GIZMO_CAGE3D_PART_SCALE_MIN_X_MIN_Y_MID_Z , ED_GIZMO_CAGE3D_PART_SCALE_MIN_X_MIN_Y_MAX_Z , ED_GIZMO_CAGE3D_PART_SCALE_MIN_X_MID_Y_MIN_Z ,
  ED_GIZMO_CAGE3D_PART_SCALE_MIN_X_MID_Y_MID_Z , ED_GIZMO_CAGE3D_PART_SCALE_MIN_X_MID_Y_MAX_Z , ED_GIZMO_CAGE3D_PART_SCALE_MIN_X_MAX_Y_MIN_Z , ED_GIZMO_CAGE3D_PART_SCALE_MIN_X_MAX_Y_MID_Z ,
  ED_GIZMO_CAGE3D_PART_SCALE_MIN_X_MAX_Y_MAX_Z , ED_GIZMO_CAGE3D_PART_SCALE_MID_X_MIN_Y_MIN_Z , ED_GIZMO_CAGE3D_PART_SCALE_MID_X_MIN_Y_MID_Z , ED_GIZMO_CAGE3D_PART_SCALE_MID_X_MIN_Y_MAX_Z ,
  ED_GIZMO_CAGE3D_PART_SCALE_MID_X_MID_Y_MIN_Z , ED_GIZMO_CAGE3D_PART_SCALE_MID_X_MID_Y_MID_Z , ED_GIZMO_CAGE3D_PART_SCALE_MID_X_MID_Y_MAX_Z , ED_GIZMO_CAGE3D_PART_SCALE_MID_X_MAX_Y_MIN_Z ,
  ED_GIZMO_CAGE3D_PART_SCALE_MID_X_MAX_Y_MID_Z , ED_GIZMO_CAGE3D_PART_SCALE_MID_X_MAX_Y_MAX_Z , ED_GIZMO_CAGE3D_PART_SCALE_MAX_X_MIN_Y_MIN_Z , ED_GIZMO_CAGE3D_PART_SCALE_MAX_X_MIN_Y_MID_Z ,
  ED_GIZMO_CAGE3D_PART_SCALE_MAX_X_MIN_Y_MAX_Z , ED_GIZMO_CAGE3D_PART_SCALE_MAX_X_MID_Y_MIN_Z , ED_GIZMO_CAGE3D_PART_SCALE_MAX_X_MID_Y_MID_Z , ED_GIZMO_CAGE3D_PART_SCALE_MAX_X_MID_Y_MAX_Z ,
  ED_GIZMO_CAGE3D_PART_SCALE_MAX_X_MAX_Y_MIN_Z , ED_GIZMO_CAGE3D_PART_SCALE_MAX_X_MAX_Y_MID_Z , ED_GIZMO_CAGE3D_PART_SCALE_MAX_X_MAX_Y_MAX_Z , ED_GIZMO_CAGE3D_PART_TRANSLATE ,
  ED_GIZMO_CAGE3D_PART_ROTATE
}
 
enum  {
  ED_GIZMO_DIAL_DRAW_FLAG_NOP = 0 , ED_GIZMO_DIAL_DRAW_FLAG_CLIP = (1 << 0) , ED_GIZMO_DIAL_DRAW_FLAG_FILL = (1 << 1) , ED_GIZMO_DIAL_DRAW_FLAG_FILL_SELECT = (1 << 2) ,
  ED_GIZMO_DIAL_DRAW_FLAG_ANGLE_MIRROR = (1 << 3) , ED_GIZMO_DIAL_DRAW_FLAG_ANGLE_START_Y = (1 << 4) , ED_GIZMO_DIAL_DRAW_FLAG_ANGLE_VALUE = (1 << 5)
}
 
enum  { ED_GIZMO_MOVE_DRAW_FLAG_NOP = 0 , ED_GIZMO_MOVE_DRAW_FLAG_FILL = (1 << 0) , ED_GIZMO_MOVE_DRAW_FLAG_FILL_SELECT = (1 << 1) , ED_GIZMO_MOVE_DRAW_FLAG_ALIGN_VIEW = (1 << 2) }
 
enum  { ED_GIZMO_MOVE_STYLE_RING_2D = 0 , ED_GIZMO_MOVE_STYLE_CROSS_2D = 1 }
 
enum  { ED_GIZMO_BUTTON_SHOW_OUTLINE = (1 << 0) , ED_GIZMO_BUTTON_SHOW_BACKDROP = (1 << 1) , ED_GIZMO_BUTTON_SHOW_HELPLINE = (1 << 2) }
 
enum  { ED_GIZMO_PRIMITIVE_STYLE_PLANE = 0 , ED_GIZMO_PRIMITIVE_STYLE_CIRCLE , ED_GIZMO_PRIMITIVE_STYLE_ANNULUS }
 
void ED_gizmotypes_arrow_3d ()
 
void ED_gizmotypes_button_2d ()
 
void ED_gizmotypes_cage_2d ()
 
void ED_gizmotypes_cage_3d ()
 
void ED_gizmotypes_dial_3d ()
 
void ED_gizmotypes_move_3d ()
 
void ED_gizmotypes_facemap_3d ()
 
void ED_gizmotypes_preselect_3d ()
 
void ED_gizmotypes_primitive_3d ()
 
void ED_gizmotypes_blank_3d ()
 
void ED_gizmotypes_snap_3d ()
 
void ED_gizmo_draw_preset_box (const wmGizmo *gz, const float mat[4][4], int select_id)
 
void ED_gizmo_draw_preset_arrow (const wmGizmo *gz, const float mat[4][4], int axis, int select_id)
 
void ED_gizmo_draw_preset_circle (const wmGizmo *gz, const float mat[4][4], int axis, int select_id)
 
void ED_gizmo_arrow3d_set_ui_range (wmGizmo *gz, float min, float max)
 
void ED_gizmo_arrow3d_set_range_fac (wmGizmo *gz, float range_fac)
 
SnapObjectContextED_gizmotypes_snap_3d_context_ensure (Scene *scene, wmGizmo *gz)
 
void ED_gizmotypes_snap_3d_flag_set (wmGizmo *gz, int flag)
 
bool ED_gizmotypes_snap_3d_is_enabled (const wmGizmo *gz)
 
void ED_gizmotypes_snap_3d_data_get (const bContext *C, wmGizmo *gz, float r_loc[3], float r_nor[3], int r_elem_index[3], eSnapMode *r_snap_elem)
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
ED_GIZMO_ARROW_STYLE_NORMAL 
ED_GIZMO_ARROW_STYLE_CROSS 
ED_GIZMO_ARROW_STYLE_BOX 
ED_GIZMO_ARROW_STYLE_CONE 
ED_GIZMO_ARROW_STYLE_PLANE 

Definition at line 52 of file ED_gizmo_library.hh.

◆ anonymous enum

anonymous enum
Enumerator
ED_GIZMO_ARROW_XFORM_FLAG_INVERTED 

Inverted offset during interaction - if set it also sets constrained below.

ED_GIZMO_ARROW_XFORM_FLAG_CONSTRAINED 

Clamp arrow interaction to property width.

Definition at line 61 of file ED_gizmo_library.hh.

◆ anonymous enum

anonymous enum
Enumerator
ED_GIZMO_ARROW_DRAW_FLAG_STEM 
ED_GIZMO_ARROW_DRAW_FLAG_ORIGIN 

Definition at line 69 of file ED_gizmo_library.hh.

◆ anonymous enum

anonymous enum
Enumerator
ED_GIZMO_CAGE_XFORM_FLAG_TRANSLATE 
ED_GIZMO_CAGE_XFORM_FLAG_ROTATE 
ED_GIZMO_CAGE_XFORM_FLAG_SCALE 
ED_GIZMO_CAGE_XFORM_FLAG_SCALE_UNIFORM 
ED_GIZMO_CAGE_XFORM_FLAG_SCALE_SIGNED 

Definition at line 91 of file ED_gizmo_library.hh.

◆ anonymous enum

anonymous enum
Enumerator
ED_GIZMO_CAGE2D_STYLE_BOX 

Display the hover region (edge or corner) of the underlying bounding box.

ED_GIZMO_CAGE2D_STYLE_BOX_TRANSFORM 

Display the bounding box plus dots on four corners while hovering, usually used for transforming a 2D shape.

ED_GIZMO_CAGE2D_STYLE_CIRCLE 

Display the bounding circle while hovering.

Definition at line 100 of file ED_gizmo_library.hh.

◆ anonymous enum

anonymous enum
Enumerator
ED_GIZMO_CAGE3D_STYLE_BOX 
ED_GIZMO_CAGE3D_STYLE_CIRCLE 

Definition at line 112 of file ED_gizmo_library.hh.

◆ anonymous enum

anonymous enum
Enumerator
ED_GIZMO_CAGE_DRAW_FLAG_XFORM_CENTER_HANDLE 

Draw a central handle (instead of having the entire area selectable) Needed for large rectangles that we don't want to swallow all events.

Definition at line 119 of file ED_gizmo_library.hh.

◆ anonymous enum

anonymous enum

wmGizmo.highlight_part

Enumerator
ED_GIZMO_CAGE2D_PART_TRANSLATE 
ED_GIZMO_CAGE2D_PART_SCALE 
ED_GIZMO_CAGE2D_PART_SCALE_MIN_X 
ED_GIZMO_CAGE2D_PART_SCALE_MAX_X 
ED_GIZMO_CAGE2D_PART_SCALE_MIN_Y 
ED_GIZMO_CAGE2D_PART_SCALE_MAX_Y 
ED_GIZMO_CAGE2D_PART_SCALE_MIN_X_MIN_Y 
ED_GIZMO_CAGE2D_PART_SCALE_MIN_X_MAX_Y 
ED_GIZMO_CAGE2D_PART_SCALE_MAX_X_MIN_Y 
ED_GIZMO_CAGE2D_PART_SCALE_MAX_X_MAX_Y 
ED_GIZMO_CAGE2D_PART_ROTATE 

Definition at line 126 of file ED_gizmo_library.hh.

◆ anonymous enum

anonymous enum

wmGizmo.highlight_part

Enumerator
ED_GIZMO_CAGE3D_PART_SCALE_MIN_X_MIN_Y_MIN_Z 
ED_GIZMO_CAGE3D_PART_SCALE_MIN_X_MIN_Y_MID_Z 
ED_GIZMO_CAGE3D_PART_SCALE_MIN_X_MIN_Y_MAX_Z 
ED_GIZMO_CAGE3D_PART_SCALE_MIN_X_MID_Y_MIN_Z 
ED_GIZMO_CAGE3D_PART_SCALE_MIN_X_MID_Y_MID_Z 
ED_GIZMO_CAGE3D_PART_SCALE_MIN_X_MID_Y_MAX_Z 
ED_GIZMO_CAGE3D_PART_SCALE_MIN_X_MAX_Y_MIN_Z 
ED_GIZMO_CAGE3D_PART_SCALE_MIN_X_MAX_Y_MID_Z 
ED_GIZMO_CAGE3D_PART_SCALE_MIN_X_MAX_Y_MAX_Z 
ED_GIZMO_CAGE3D_PART_SCALE_MID_X_MIN_Y_MIN_Z 
ED_GIZMO_CAGE3D_PART_SCALE_MID_X_MIN_Y_MID_Z 
ED_GIZMO_CAGE3D_PART_SCALE_MID_X_MIN_Y_MAX_Z 
ED_GIZMO_CAGE3D_PART_SCALE_MID_X_MID_Y_MIN_Z 
ED_GIZMO_CAGE3D_PART_SCALE_MID_X_MID_Y_MID_Z 
ED_GIZMO_CAGE3D_PART_SCALE_MID_X_MID_Y_MAX_Z 
ED_GIZMO_CAGE3D_PART_SCALE_MID_X_MAX_Y_MIN_Z 
ED_GIZMO_CAGE3D_PART_SCALE_MID_X_MAX_Y_MID_Z 
ED_GIZMO_CAGE3D_PART_SCALE_MID_X_MAX_Y_MAX_Z 
ED_GIZMO_CAGE3D_PART_SCALE_MAX_X_MIN_Y_MIN_Z 
ED_GIZMO_CAGE3D_PART_SCALE_MAX_X_MIN_Y_MID_Z 
ED_GIZMO_CAGE3D_PART_SCALE_MAX_X_MIN_Y_MAX_Z 
ED_GIZMO_CAGE3D_PART_SCALE_MAX_X_MID_Y_MIN_Z 
ED_GIZMO_CAGE3D_PART_SCALE_MAX_X_MID_Y_MID_Z 
ED_GIZMO_CAGE3D_PART_SCALE_MAX_X_MID_Y_MAX_Z 
ED_GIZMO_CAGE3D_PART_SCALE_MAX_X_MAX_Y_MIN_Z 
ED_GIZMO_CAGE3D_PART_SCALE_MAX_X_MAX_Y_MID_Z 
ED_GIZMO_CAGE3D_PART_SCALE_MAX_X_MAX_Y_MAX_Z 
ED_GIZMO_CAGE3D_PART_TRANSLATE 
ED_GIZMO_CAGE3D_PART_ROTATE 

Definition at line 145 of file ED_gizmo_library.hh.

◆ anonymous enum

anonymous enum
Enumerator
ED_GIZMO_DIAL_DRAW_FLAG_NOP 
ED_GIZMO_DIAL_DRAW_FLAG_CLIP 
ED_GIZMO_DIAL_DRAW_FLAG_FILL 
ED_GIZMO_DIAL_DRAW_FLAG_FILL_SELECT 
ED_GIZMO_DIAL_DRAW_FLAG_ANGLE_MIRROR 
ED_GIZMO_DIAL_DRAW_FLAG_ANGLE_START_Y 
ED_GIZMO_DIAL_DRAW_FLAG_ANGLE_VALUE 

Definition at line 184 of file ED_gizmo_library.hh.

◆ anonymous enum

anonymous enum
Enumerator
ED_GIZMO_MOVE_DRAW_FLAG_NOP 
ED_GIZMO_MOVE_DRAW_FLAG_FILL 
ED_GIZMO_MOVE_DRAW_FLAG_FILL_SELECT 
ED_GIZMO_MOVE_DRAW_FLAG_ALIGN_VIEW 

Definition at line 199 of file ED_gizmo_library.hh.

◆ anonymous enum

anonymous enum
Enumerator
ED_GIZMO_MOVE_STYLE_RING_2D 
ED_GIZMO_MOVE_STYLE_CROSS_2D 

Definition at line 207 of file ED_gizmo_library.hh.

◆ anonymous enum

anonymous enum
Enumerator
ED_GIZMO_BUTTON_SHOW_OUTLINE 
ED_GIZMO_BUTTON_SHOW_BACKDROP 
ED_GIZMO_BUTTON_SHOW_HELPLINE 

Draw a line from the origin to the offset (similar to an arrow) sometimes needed to show what the button edits.

Definition at line 215 of file ED_gizmo_library.hh.

◆ anonymous enum

anonymous enum
Enumerator
ED_GIZMO_PRIMITIVE_STYLE_PLANE 
ED_GIZMO_PRIMITIVE_STYLE_CIRCLE 
ED_GIZMO_PRIMITIVE_STYLE_ANNULUS 

Definition at line 228 of file ED_gizmo_library.hh.

Function Documentation

◆ ED_gizmo_arrow3d_set_range_fac()

void ED_gizmo_arrow3d_set_range_fac ( wmGizmo * gz,
float range_fac )

◆ ED_gizmo_arrow3d_set_ui_range()

void ED_gizmo_arrow3d_set_ui_range ( wmGizmo * gz,
float min,
float max )

◆ ED_gizmo_draw_preset_arrow()

void ED_gizmo_draw_preset_arrow ( const wmGizmo * gz,
const float mat[4][4],
int axis,
int select_id )

◆ ED_gizmo_draw_preset_box()

void ED_gizmo_draw_preset_box ( const wmGizmo * gz,
const float mat[4][4],
int select_id )

◆ ED_gizmo_draw_preset_circle()

void ED_gizmo_draw_preset_circle ( const wmGizmo * gz,
const float mat[4][4],
int axis,
int select_id )

◆ ED_gizmotypes_arrow_3d()

void ED_gizmotypes_arrow_3d ( )

Definition at line 579 of file arrow3d_gizmo.cc.

References GIZMO_GT_arrow_3d(), and WM_gizmotype_append().

Referenced by ED_spacetypes_init().

◆ ED_gizmotypes_blank_3d()

void ED_gizmotypes_blank_3d ( )

Definition at line 52 of file blank3d_gizmo.cc.

References GIZMO_GT_blank_3d(), and WM_gizmotype_append().

Referenced by ED_spacetypes_init().

◆ ED_gizmotypes_button_2d()

void ED_gizmotypes_button_2d ( )

Definition at line 431 of file button2d_gizmo.cc.

References GIZMO_GT_button_2d(), and WM_gizmotype_append().

Referenced by ED_spacetypes_init().

◆ ED_gizmotypes_cage_2d()

void ED_gizmotypes_cage_2d ( )

Definition at line 1371 of file cage2d_gizmo.cc.

References GIZMO_GT_cage_2d(), and WM_gizmotype_append().

Referenced by ED_spacetypes_init().

◆ ED_gizmotypes_cage_3d()

void ED_gizmotypes_cage_3d ( )

Definition at line 682 of file cage3d_gizmo.cc.

References GIZMO_GT_cage_3d(), and WM_gizmotype_append().

Referenced by ED_spacetypes_init().

◆ ED_gizmotypes_dial_3d()

void ED_gizmotypes_dial_3d ( )

Definition at line 729 of file dial3d_gizmo.cc.

References GIZMO_GT_dial_3d(), and WM_gizmotype_append().

Referenced by ED_spacetypes_init().

◆ ED_gizmotypes_facemap_3d()

void ED_gizmotypes_facemap_3d ( )

◆ ED_gizmotypes_move_3d()

void ED_gizmotypes_move_3d ( )

Definition at line 472 of file move3d_gizmo.cc.

References GIZMO_GT_move_3d(), and WM_gizmotype_append().

Referenced by ED_spacetypes_init().

◆ ED_gizmotypes_preselect_3d()

void ED_gizmotypes_preselect_3d ( )

◆ ED_gizmotypes_primitive_3d()

void ED_gizmotypes_primitive_3d ( )

Definition at line 290 of file primitive3d_gizmo.cc.

References GIZMO_GT_primitive_3d(), and WM_gizmotype_append().

Referenced by ED_spacetypes_init().

◆ ED_gizmotypes_snap_3d()

void ED_gizmotypes_snap_3d ( )

Definition at line 391 of file snap3d_gizmo.cc.

References GIZMO_GT_snap_3d(), and WM_gizmotype_append().

Referenced by ED_spacetypes_init().

◆ ED_gizmotypes_snap_3d_context_ensure()

SnapObjectContext * ED_gizmotypes_snap_3d_context_ensure ( Scene * scene,
wmGizmo * gz )

Definition at line 45 of file snap3d_gizmo.cc.

References ED_view3d_cursor_snap_context_ensure().

Referenced by view3d_ruler_item_mousemove().

◆ ED_gizmotypes_snap_3d_data_get()

◆ ED_gizmotypes_snap_3d_flag_set()

void ED_gizmotypes_snap_3d_flag_set ( wmGizmo * gz,
int flag )

Definition at line 50 of file snap3d_gizmo.cc.

References flag, and V3DSnapCursorState::flag.

Referenced by WIDGETGROUP_ruler_setup().

◆ ED_gizmotypes_snap_3d_is_enabled()

bool ED_gizmotypes_snap_3d_is_enabled ( const wmGizmo * gz)