Blender V4.3
transform_gizmo_extrude_3d.cc File Reference
#include "BLI_array_utils.h"
#include "BLI_listbase.h"
#include "BLI_math_matrix.h"
#include "BLI_math_vector.h"
#include "BLI_utildefines.h"
#include "BKE_context.hh"
#include "BKE_global.hh"
#include "BKE_scene.hh"
#include "RNA_access.hh"
#include "RNA_define.hh"
#include "WM_api.hh"
#include "WM_message.hh"
#include "WM_toolsystem.hh"
#include "WM_types.hh"
#include "ED_gizmo_library.hh"
#include "ED_gizmo_utils.hh"
#include "ED_screen.hh"
#include "ED_transform.hh"
#include "UI_resources.hh"
#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 }
 
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 (GizmoExtrudeGroup *ggd, const float mat[3][3])
 
static void gizmo_mesh_extrude_orientation_matrix_set_for_adjust (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 *, wmGizmoGroup *gzgroup, wmGizmo *gz, const wmEvent *)
 
static void gizmo_mesh_extrude_message_subscribe (const bContext *C, wmGizmoGroup *gzgroup, wmMsgBus *mbus)
 
void VIEW3D_GGT_xform_extrude (wmGizmoGroupType *gzgt)
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
EXTRUDE_AXIS_NORMAL 
EXTRUDE_AXIS_XYZ 

Definition at line 40 of file transform_gizmo_extrude_3d.cc.

Function Documentation

◆ gizmo_mesh_extrude_draw_prepare()

◆ gizmo_mesh_extrude_invoke_prepare()

◆ gizmo_mesh_extrude_message_subscribe()

◆ gizmo_mesh_extrude_orientation_matrix_set()

static void gizmo_mesh_extrude_orientation_matrix_set ( 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 ( 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 220 of file transform_gizmo_extrude_3d.cc.

References GizmoExtrudeGroup::adjust, GizmoExtrudeGroup::adjust_axis, TransformBounds::axis, BKE_scene_orientation_get_index(), TransformBounds::center, GizmoExtrudeGroup::constraint_axis, copy_m3_m3(), CTX_data_scene(), CTX_wm_manager(), CTX_wm_region_data(), 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, wmWindowManager::operators, GizmoExtrudeGroup::orient_matrix, GizmoExtrudeGroup::orient_type, GizmoExtrudeGroup::orientation_index, GizmoExtrudeGroup::ot_extrude, params, ptr, wmGizmo::ptr, wmOperator::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, wmGizmoGroup::type, wmOperator::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(), and WM_toolsystem_ref_properties_ensure_from_gizmo_group.

Referenced by VIEW3D_GGT_xform_extrude().

◆ gizmo_mesh_extrude_setup()

◆ VIEW3D_GGT_xform_extrude()

Variable Documentation

◆ extrude_arrow_normal_axis_scale

const float extrude_arrow_normal_axis_scale = 0.6666f
static

Definition at line 50 of file transform_gizmo_extrude_3d.cc.

Referenced by gizmo_mesh_extrude_refresh().

◆ extrude_arrow_scale

const float extrude_arrow_scale = 0.7f
static

Definition at line 48 of file transform_gizmo_extrude_3d.cc.

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 51 of file transform_gizmo_extrude_3d.cc.

Referenced by gizmo_mesh_extrude_setup().

◆ extrude_outer_scale

const float extrude_outer_scale = 1.2f
static

Definition at line 47 of file transform_gizmo_extrude_3d.cc.

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 53 of file transform_gizmo_extrude_3d.cc.

Referenced by gizmo_mesh_extrude_setup().