Blender  V3.3
Classes
transform_gizmo_extrude_3d.c File Reference
#include "BLI_array_utils.h"
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "BLI_utildefines.h"
#include "BKE_context.h"
#include "BKE_global.h"
#include "BKE_scene.h"
#include "RNA_access.h"
#include "RNA_define.h"
#include "WM_api.h"
#include "WM_message.h"
#include "WM_toolsystem.h"
#include "WM_types.h"
#include "ED_gizmo_library.h"
#include "ED_gizmo_utils.h"
#include "ED_screen.h"
#include "ED_transform.h"
#include "UI_resources.h"
#include "MEM_guardedalloc.h"

Go to the source code of this file.

Classes

struct  GizmoExtrudeGroup
 

Extrude Gizmo

enum  { EXTRUDE_AXIS_NORMAL = 0 , EXTRUDE_AXIS_XYZ = 1 }
 
typedef struct GizmoExtrudeGroup GizmoExtrudeGroup
 
static const float extrude_button_scale = 0.15f
 
static const float extrude_button_offset_scale = 1.5f
 
static const float extrude_outer_scale = 1.2f
 
static const float extrude_arrow_scale = 0.7f
 
static const float extrude_arrow_xyz_axis_scale = 0.6666f
 
static const float extrude_arrow_normal_axis_scale = 0.6666f
 
static const float extrude_dial_scale = 0.2
 
static const uchar shape_plus []
 
static void gizmo_mesh_extrude_orientation_matrix_set (struct GizmoExtrudeGroup *ggd, const float mat[3][3])
 
static void gizmo_mesh_extrude_orientation_matrix_set_for_adjust (struct GizmoExtrudeGroup *ggd, const float mat[3][3])
 
static void gizmo_mesh_extrude_setup (const bContext *C, wmGizmoGroup *gzgroup)
 
static void gizmo_mesh_extrude_refresh (const bContext *C, wmGizmoGroup *gzgroup)
 
static void gizmo_mesh_extrude_draw_prepare (const bContext *C, wmGizmoGroup *gzgroup)
 
static void gizmo_mesh_extrude_invoke_prepare (const bContext *UNUSED(C), wmGizmoGroup *gzgroup, wmGizmo *gz, const wmEvent *UNUSED(event))
 
static void gizmo_mesh_extrude_message_subscribe (const bContext *C, wmGizmoGroup *gzgroup, struct wmMsgBus *mbus)
 
void VIEW3D_GGT_xform_extrude (struct wmGizmoGroupType *gzgt)
 

Typedef Documentation

◆ GizmoExtrudeGroup

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
EXTRUDE_AXIS_NORMAL 
EXTRUDE_AXIS_XYZ 

Definition at line 37 of file transform_gizmo_extrude_3d.c.

Function Documentation

◆ gizmo_mesh_extrude_draw_prepare()

static void gizmo_mesh_extrude_draw_prepare ( const bContext C,
wmGizmoGroup gzgroup 
)
static

◆ gizmo_mesh_extrude_invoke_prepare()

static void gizmo_mesh_extrude_invoke_prepare ( const bContext UNUSEDC,
wmGizmoGroup gzgroup,
wmGizmo gz,
const wmEvent UNUSEDevent 
)
static

◆ gizmo_mesh_extrude_message_subscribe()

static void gizmo_mesh_extrude_message_subscribe ( const bContext C,
wmGizmoGroup gzgroup,
struct wmMsgBus mbus 
)
static

◆ gizmo_mesh_extrude_orientation_matrix_set()

static void gizmo_mesh_extrude_orientation_matrix_set ( struct GizmoExtrudeGroup ggd,
const float  mat[3][3] 
)
static

◆ gizmo_mesh_extrude_orientation_matrix_set_for_adjust()

static void gizmo_mesh_extrude_orientation_matrix_set_for_adjust ( struct GizmoExtrudeGroup ggd,
const float  mat[3][3] 
)
static

◆ gizmo_mesh_extrude_refresh()

static void gizmo_mesh_extrude_refresh ( const bContext C,
wmGizmoGroup gzgroup 
)
static

Definition at line 219 of file transform_gizmo_extrude_3d.c.

References GizmoExtrudeGroup::adjust, GizmoExtrudeGroup::adjust_axis, TransformBounds::axis, BKE_scene_orientation_get_index(), C, TransformBounds::center, GizmoExtrudeGroup::constraint_axis, copy_m3_m3(), CTX_data_scene(), CTX_wm_manager(), wmGizmoGroup::customdata, GizmoExtrudeGroup::data, dot_v3v3(), ED_GIZMO_BUTTON_SHOW_BACKDROP, ED_GIZMO_BUTTON_SHOW_HELPLINE, ED_transform_calc_gizmo_stats(), extrude_arrow_normal_axis_scale, EXTRUDE_AXIS_NORMAL, EXTRUDE_AXIS_XYZ, extrude_button_offset_scale, extrude_button_scale, G, gizmo_mesh_extrude_orientation_matrix_set(), gizmo_mesh_extrude_orientation_matrix_set_for_adjust(), GizmoExtrudeGroup::gzgt_axis_type_prop, GizmoExtrudeGroup::invoke_view, GizmoExtrudeGroup::invoke_xyz_no, ListBase::last, wmOperator::macro, wmGizmo::matrix_basis, wmGizmo::matrix_offset, mul_v3_v3fl(), negate_v3(), GizmoExtrudeGroup::normal_axis, GizmoExtrudeGroup::normal_mat3, NULL, wmWindowManager::operators, GizmoExtrudeGroup::orient_matrix, GizmoExtrudeGroup::orient_type, GizmoExtrudeGroup::orientation_index, GizmoExtrudeGroup::ot_extrude, wmOperator::ptr, wmGizmo::ptr, ptr, GizmoExtrudeGroup::redo_xform, RNA_boolean_get_array(), RNA_enum_get(), RNA_enum_set(), RNA_float_get_array(), RNA_property_enum_get(), SCE_ORIENT_DEFAULT, SCE_WORKSPACE_TOOL_FALLBACK, scene, Scene::toolsettings, wmOperator::type, wmGizmoGroup::type, unit_m3(), V3D_ORIENT_NORMAL, GizmoExtrudeGroup::value, WM_GIZMO_HIDDEN, WM_gizmo_set_flag(), WM_gizmo_set_matrix_location(), WM_toolsystem_ref_from_context(), WM_toolsystem_ref_properties_ensure_from_gizmo_group, and ToolSettings::workspace_tool_type.

Referenced by VIEW3D_GGT_xform_extrude().

◆ gizmo_mesh_extrude_setup()

static void gizmo_mesh_extrude_setup ( const bContext C,
wmGizmoGroup gzgroup 
)
static

◆ VIEW3D_GGT_xform_extrude()

void VIEW3D_GGT_xform_extrude ( struct wmGizmoGroupType gzgt)

Variable Documentation

◆ extrude_arrow_normal_axis_scale

const float extrude_arrow_normal_axis_scale = 0.6666f
static

Definition at line 47 of file transform_gizmo_extrude_3d.c.

Referenced by gizmo_mesh_extrude_refresh().

◆ extrude_arrow_scale

const float extrude_arrow_scale = 0.7f
static

Definition at line 45 of file transform_gizmo_extrude_3d.c.

Referenced by gizmo_mesh_extrude_setup().

◆ extrude_arrow_xyz_axis_scale

const float extrude_arrow_xyz_axis_scale = 0.6666f
static

◆ extrude_button_offset_scale

const float extrude_button_offset_scale = 1.5f
static

◆ extrude_button_scale

const float extrude_button_scale = 0.15f
static

◆ extrude_dial_scale

const float extrude_dial_scale = 0.2
static

Definition at line 48 of file transform_gizmo_extrude_3d.c.

Referenced by gizmo_mesh_extrude_setup().

◆ extrude_outer_scale

const float extrude_outer_scale = 1.2f
static

Definition at line 44 of file transform_gizmo_extrude_3d.c.

Referenced by gizmo_mesh_extrude_setup().

◆ shape_plus

const uchar shape_plus[]
static
Initial value:
= {
0x73, 0x73, 0x73, 0x36, 0x8c, 0x36, 0x8c, 0x73, 0xc9, 0x73, 0xc9, 0x8c, 0x8c,
0x8c, 0x8c, 0xc9, 0x73, 0xc9, 0x73, 0x8c, 0x36, 0x8c, 0x36, 0x73, 0x36, 0x73,
}

Definition at line 50 of file transform_gizmo_extrude_3d.c.

Referenced by gizmo_mesh_extrude_setup().