65 0x73, 0x73, 0x73, 0x36, 0x8c, 0x36, 0x8c, 0x73, 0xc9, 0x73, 0xc9, 0x8c, 0x8c,
66 0x8c, 0x8c, 0xc9, 0x73, 0xc9, 0x73, 0x8c, 0x36, 0x8c, 0x36, 0x73, 0x36, 0x73,
100 const float mat[3][3])
102 for (
int i = 0; i < 3; i++) {
111 const float mat[3][3])
114 for (
int j = 0; j < 3; j++) {
134 for (
int i = 0; i < 4; i++) {
147 for (
int i = 0; i < 4; i++) {
154 const char *op_idname =
NULL;
159 op_idname =
"GPENCIL_OT_extrude_move";
162 op_idname =
"MESH_OT_extrude_context_move";
166 op_idname =
"ARMATURE_OT_extrude_move";
170 op_idname =
"CURVE_OT_extrude_move";
180 for (
int i = 0; i < 3; i++) {
186 for (
int i = 0; i < 2; i++) {
190 for (
int i = 0; i < 4; i++) {
201 for (
int i = 0; i < 4; i++) {
204 bool constraint[3] = {0, 0, 0};
217 const bool constraint[3] = {0, 0, 0};
222 for (
int i = 0; i < 2; i++) {
236 for (
int i = 0; i < 4; i++) {
240 for (
int i = 0; i < 2; i++) {
261 const int axis_len_used = use_normal ? 4 : 3;
303 bool adjust_is_flip =
false;
307 gz_adjust = ggd->
adjust[1];
315 for (
int i = 0; i < 3; i++) {
319 gz_adjust = ggd->
adjust[0];
329 for (
int i = 0; i < axis_len_used; i++) {
334 for (
int i = 0; i < axis_len_used; i++) {
339 if (gz_adjust == ggd->
adjust[0]) {
341 if (adjust_is_flip) {
351 for (
int i = 0; i < 4; i++) {
355 (((gz_adjust == ggd->
adjust[0]) &&
363 for (
int i = 0; i < 4; i++) {
373 for (
int i = 0; i < 3; i++) {
437 if (gz == ggd->
adjust[0]) {
451 bool use_normal_matrix =
false;
453 use_normal_matrix =
true;
456 use_normal_matrix =
true;
458 if (use_normal_matrix) {
494 &msg_sub_value_gz_tag_refresh,
501 extern PropertyRNA rna_ToolSettings_workspace_tool_type;
503 &rna_ToolSettings_workspace_tool_type,
507 mbus, &toolsettings_ptr, props[i], &msg_sub_value_gz_tag_refresh, __func__);
514 gzgt->
name =
"3D View Extrude";
515 gzgt->
idname =
"VIEW3D_GGT_xform_extrude";
struct Scene * CTX_data_scene(const bContext *C)
struct wmWindowManager * CTX_wm_manager(const bContext *C)
struct Object * CTX_data_active_object(const bContext *C)
struct ARegion * CTX_wm_region(const bContext *C)
struct RegionView3D * CTX_wm_region_view3d(const bContext *C)
int BKE_scene_orientation_get_index(struct Scene *scene, int slot_index)
Generic array manipulation API.
#define BLI_array_findindex(arr, arr_len, p)
#define LISTBASE_FOREACH(type, var, list)
void void BLI_listbase_sort(struct ListBase *listbase, int(*cmp)(const void *, const void *)) ATTR_NONNULL(1
void copy_m3_m3(float m1[3][3], const float m2[3][3])
void unit_m3(float m[3][3])
void copy_m3_m4(float m1[3][3], const float m2[4][4])
void normalize_m3(float R[3][3]) ATTR_NONNULL()
MINLINE void copy_v3_v3(float r[3], const float a[3])
MINLINE float dot_v3v3(const float a[3], const float b[3]) ATTR_WARN_UNUSED_RESULT
MINLINE void negate_v3(float r[3])
MINLINE void swap_v3_v3(float a[3], float b[3])
MINLINE void mul_v3_v3fl(float r[3], const float a[3], float f)
@ SCE_WORKSPACE_TOOL_FALLBACK
@ ED_GIZMO_DIAL_DRAW_FLAG_FILL_SELECT
@ ED_GIZMO_BUTTON_SHOW_BACKDROP
@ ED_GIZMO_BUTTON_SHOW_HELPLINE
bool ED_gizmo_poll_or_unlink_delayed_from_tool(const struct bContext *C, struct wmGizmoGroupType *gzgt)
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
Read Guarded memory(de)allocation.
StructRNA RNA_ToolSettings
struct PointerRNA PointerRNA
void UI_GetThemeColor3fv(int colorid, float col[3])
@ WM_GIZMO_DRAW_OFFSET_SCALE
@ WM_GIZMOGROUPTYPE_TOOL_FALLBACK_KEYMAP
@ WM_GIZMOGROUPTYPE_DELAY_REFRESH_FOR_TWEAK
void *(* MEM_callocN)(size_t len, const char *str)
void RNA_boolean_set_array(PointerRNA *ptr, const char *name, const bool *values)
void RNA_pointer_create(ID *id, StructRNA *type, void *data, PointerRNA *r_ptr)
PointerRNA RNA_pointer_get(PointerRNA *ptr, const char *name)
void RNA_boolean_get_array(PointerRNA *ptr, const char *name, bool *values)
void RNA_boolean_set(PointerRNA *ptr, const char *name, bool value)
PropertyRNA * RNA_struct_find_property(PointerRNA *ptr, const char *identifier)
void RNA_float_get_array(PointerRNA *ptr, const char *name, float *values)
PropertyRNA * RNA_struct_type_find_property(StructRNA *srna, const char *identifier)
void RNA_property_string_set_bytes(PointerRNA *ptr, PropertyRNA *prop, const char *value, int len)
int RNA_property_enum_get(PointerRNA *ptr, PropertyRNA *prop)
void RNA_enum_set(PointerRNA *ptr, const char *name, int value)
void RNA_float_set_array(PointerRNA *ptr, const char *name, const float *values)
PropertyRNA * RNA_def_enum(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, int default_value, const char *ui_name, const char *ui_description)
struct GizmoExtrudeGroup::@586 redo_xform
float orient_matrix[3][3]
struct GizmoExtrudeGroup::@587 data
PropertyRNA * gzgt_axis_type_prop
wmGizmo * invoke_xyz_no[4]
wmOperatorType * ot_extrude
struct ToolSettings * toolsettings
wmGizmoGroupFnSetupKeymap setup_keymap
wmGizmoGroupFnMsgBusSubscribe message_subscribe
wmGizmoGroupFnRefresh refresh
wmGizmoGroupFnInvokePrepare invoke_prepare
eWM_GizmoFlagGroupTypeFlag flag
struct wmGizmoMapType_Params gzmap_params
wmGizmoGroupFnDrawPrepare draw_prepare
struct wmGizmoGroupType * type
struct wmGizmoMap * parent_gzmap
float matrix_offset[4][4]
struct wmOperatorType * type
PointerRNA * WM_gizmo_operator_set(wmGizmo *gz, int part_index, wmOperatorType *ot, IDProperty *properties)
wmGizmo * WM_gizmo_new_ptr(const wmGizmoType *gzt, wmGizmoGroup *gzgroup, PointerRNA *properties)
void WM_gizmo_set_scale(wmGizmo *gz, const float scale)
void WM_gizmo_set_matrix_location(wmGizmo *gz, const float origin[3])
void WM_gizmo_set_flag(wmGizmo *gz, const int flag, const bool enable)
struct wmGizmoOpElem * WM_gizmo_operator_get(wmGizmo *gz, int part_index)
int WM_gizmo_cmp_temp_fl_reverse(const void *gz_a_ptr, const void *gz_b_ptr)
wmKeyMap * WM_gizmogroup_setup_keymap_generic_maybe_drag(const wmGizmoGroupType *UNUSED(gzgt), wmKeyConfig *kc)
void WM_gizmo_do_msg_notify_tag_refresh(bContext *UNUSED(C), wmMsgSubscribeKey *UNUSED(msg_key), wmMsgSubscribeValue *msg_val)
const wmGizmoType * WM_gizmotype_find(const char *idname, bool quiet)
#define WM_msg_subscribe_rna_anon_prop(mbus, type_, prop_, value)
void WM_msg_subscribe_rna_params(struct wmMsgBus *mbus, const wmMsgParams_RNA *msg_key_params, const wmMsgSubscribeValue *msg_val_params, const char *id_repr)
void WM_msg_subscribe_rna(struct wmMsgBus *mbus, PointerRNA *ptr, const PropertyRNA *prop, const wmMsgSubscribeValue *msg_val_params, const char *id_repr)
wmOperatorType * WM_operatortype_find(const char *idname, bool quiet)