83 for (
int x = 0; x < 3; x++) {
84 for (
int y = 0; y < 3; y++) {
85 for (
int z = 0;
z < 3;
z++) {
86 const bool constraint[3] = {x != 1, y != 1,
z != 1};
88 if (prop_release_confirm ==
nullptr) {
116 calc_params.orientation_index = orient_index + 1;
144 float matrix_offset_global[4][4];
149 float center_global[3];
151 for (
int x = 0; x < 3; x++) {
152 center[0] =
float(1 - x) * dims[0];
153 for (
int y = 0; y < 3; y++) {
154 center[1] =
float(1 - y) * dims[1];
155 for (
int z = 0;
z < 3;
z++) {
156 center[2] =
float(1 -
z) * dims[2];
158 if (prop_center_override ==
nullptr) {
161 mul_v3_m4v3(center_global, matrix_offset_global, center);
193 switch (orient_slot->
type) {
195 float viewinv_m3[3][3];
210 gzgt->
name =
"Transform Cage";
211 gzgt->
idname =
"VIEW3D_GGT_xform_cage";
bScreen * CTX_wm_screen(const bContext *C)
ScrArea * CTX_wm_area(const bContext *C)
Scene * CTX_data_scene(const bContext *C)
RegionView3D * CTX_wm_region_view3d(const bContext *C)
ARegion * CTX_wm_region(const bContext *C)
View3D * CTX_wm_view3d(const bContext *C)
TransformOrientationSlot * BKE_scene_orientation_slot_get(Scene *scene, int slot_index)
int BKE_scene_orientation_get_index_from_flag(Scene *scene, int flag)
void mul_m3_v3(const float M[3][3], float r[3])
void mul_m4_m4m4(float R[4][4], const float A[4][4], const float B[4][4])
void copy_m3_m4(float m1[3][3], const float m2[4][4])
void unit_m4(float m[4][4])
void copy_m4_m3(float m1[4][4], const float m2[3][3])
bool equals_m3m3(const float mat1[3][3], const float mat2[3][3])
void copy_m4_m4(float m1[4][4], const float m2[4][4])
void mul_v3_m4v3(float r[3], const float mat[4][4], const float vec[3])
MINLINE bool equals_v3v3(const float v1[3], const float v2[3]) ATTR_WARN_UNUSED_RESULT
MINLINE void sub_v3_v3v3(float r[3], const float a[3], const float b[3])
MINLINE void mul_v3_fl(float r[3], float f)
void mid_v3_v3v3(float r[3], const float a[3], const float b[3])
@ ED_GIZMO_CAGE3D_PART_SCALE_MIN_X_MIN_Y_MIN_Z
@ ED_GIZMO_CAGE_XFORM_FLAG_SCALE
@ ED_GIZMO_CAGE_XFORM_FLAG_TRANSLATE
bool ED_gizmo_poll_or_unlink_delayed_from_tool(const bContext *C, wmGizmoGroupType *gzgt)
@ WM_GIZMOGROUPTYPE_DRAW_MODAL_EXCLUDE
@ WM_GIZMOGROUPTYPE_TOOL_FALLBACK_KEYMAP
@ WM_GIZMOGROUPTYPE_DELAY_REFRESH_FOR_TWEAK
SIMD_FORCE_INLINE const btScalar & z() const
Return the z value.
draw_view in_light_buf[] float
void *(* MEM_mallocN)(size_t len, const char *str)
PropertyRNA * RNA_struct_find_property(PointerRNA *ptr, const char *identifier)
void RNA_property_boolean_set(PointerRNA *ptr, PropertyRNA *prop, bool value)
void RNA_property_float_set_array(PointerRNA *ptr, PropertyRNA *prop, const float *values)
void RNA_enum_set(PointerRNA *ptr, const char *name, int value)
void RNA_float_set_array(PointerRNA *ptr, const char *name, const float *values)
void RNA_property_boolean_set_array(PointerRNA *ptr, PropertyRNA *prop, const bool *values)
float tw_axis_matrix[3][3]
wmGizmoGroupFnSetupKeymap setup_keymap
wmGizmoGroupFnMsgBusSubscribe message_subscribe
wmGizmoGroupFnRefresh refresh
wmGizmoMapType_Params gzmap_params
eWM_GizmoFlagGroupTypeFlag flag
wmGizmoGroupFnDrawPrepare draw_prepare
float matrix_offset[4][4]
wmGizmoOpElem * WM_gizmo_operator_get(wmGizmo *gz, int part_index)
wmGizmo * WM_gizmo_new_ptr(const wmGizmoType *gzt, wmGizmoGroup *gzgroup, PointerRNA *properties)
void WM_gizmo_set_flag(wmGizmo *gz, const int flag, const bool enable)
PointerRNA * WM_gizmo_operator_set(wmGizmo *gz, int part_index, wmOperatorType *ot, IDProperty *properties)
wmKeyMap * WM_gizmogroup_setup_keymap_generic_maybe_drag(const wmGizmoGroupType *, wmKeyConfig *kc)
const wmGizmoType * WM_gizmotype_find(const char *idname, bool quiet)
wmOperatorType * WM_operatortype_find(const char *idname, bool quiet)