Blender  V3.3
Classes | Macros
transform_gizmo_3d.c File Reference
#include <float.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include "DNA_armature_types.h"
#include "DNA_curve_types.h"
#include "DNA_gpencil_types.h"
#include "DNA_lattice_types.h"
#include "DNA_meta_types.h"
#include "DNA_scene_types.h"
#include "DNA_screen_types.h"
#include "DNA_view3d_types.h"
#include "BLI_array_utils.h"
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "BLI_utildefines.h"
#include "BKE_action.h"
#include "BKE_armature.h"
#include "BKE_context.h"
#include "BKE_curve.h"
#include "BKE_editmesh.h"
#include "BKE_global.h"
#include "BKE_gpencil.h"
#include "BKE_layer.h"
#include "BKE_object.h"
#include "BKE_paint.h"
#include "BKE_pointcache.h"
#include "BKE_scene.h"
#include "DEG_depsgraph.h"
#include "WM_api.h"
#include "WM_message.h"
#include "WM_types.h"
#include "ED_armature.h"
#include "ED_gizmo_library.h"
#include "ED_gizmo_utils.h"
#include "ED_gpencil.h"
#include "ED_object.h"
#include "ED_particle.h"
#include "ED_screen.h"
#include "ED_view3d.h"
#include "UI_interface.h"
#include "UI_resources.h"
#include "RNA_access.h"
#include "RNA_define.h"
#include "transform.h"
#include "transform_convert.h"
#include "transform_snap.h"
#include "MEM_guardedalloc.h"
#include "GPU_state.h"

Go to the source code of this file.

Classes

struct  GizmoGroup
 
struct  XFormCageWidgetGroup
 
struct  XFormShearWidgetGroup
 

Macros

#define MAN_AXIS_RANGE_TRANS_START   MAN_AXIS_TRANS_X
 
#define MAN_AXIS_RANGE_TRANS_END   (MAN_AXIS_TRANS_ZX + 1)
 
#define MAN_AXIS_RANGE_ROT_START   MAN_AXIS_ROT_X
 
#define MAN_AXIS_RANGE_ROT_END   (MAN_AXIS_ROT_T + 1)
 
#define MAN_AXIS_RANGE_SCALE_START   MAN_AXIS_SCALE_X
 
#define MAN_AXIS_RANGE_SCALE_END   (MAN_AXIS_SCALE_ZX + 1)
 
#define FOREACH_EDIT_OBJECT_BEGIN(ob_iter, use_mat_local)
 
#define FOREACH_EDIT_OBJECT_END()
 
#define GIZMO_NEW_ARROW(v, draw_style)
 
#define GIZMO_NEW_DIAL(v, draw_options)
 
#define GIZMO_NEW_PRIM(v, draw_style)
 

Functions

Scale Cage Gizmo
static bool WIDGETGROUP_xform_cage_poll (const bContext *C, wmGizmoGroupType *gzgt)
 
static void WIDGETGROUP_xform_cage_setup (const bContext *UNUSED(C), wmGizmoGroup *gzgroup)
 
static void WIDGETGROUP_xform_cage_refresh (const bContext *C, wmGizmoGroup *gzgroup)
 
static void WIDGETGROUP_xform_cage_message_subscribe (const bContext *C, wmGizmoGroup *gzgroup, struct wmMsgBus *mbus)
 
static void WIDGETGROUP_xform_cage_draw_prepare (const bContext *C, wmGizmoGroup *gzgroup)
 
void VIEW3D_GGT_xform_cage (wmGizmoGroupType *gzgt)
 
Transform Shear Gizmo
static bool WIDGETGROUP_xform_shear_poll (const bContext *C, wmGizmoGroupType *gzgt)
 
static void WIDGETGROUP_xform_shear_setup (const bContext *UNUSED(C), wmGizmoGroup *gzgroup)
 
static void WIDGETGROUP_xform_shear_refresh (const bContext *C, wmGizmoGroup *gzgroup)
 
static void WIDGETGROUP_xform_shear_message_subscribe (const bContext *C, wmGizmoGroup *gzgroup, struct wmMsgBus *mbus)
 
static void WIDGETGROUP_xform_shear_draw_prepare (const bContext *C, wmGizmoGroup *gzgroup)
 
void VIEW3D_GGT_xform_shear (wmGizmoGroupType *gzgt)
 

3D Transform Gizmo

Used for 3D View

#define MAN_TRANS_X   (1 << 0)
 
#define MAN_TRANS_Y   (1 << 1)
 
#define MAN_TRANS_Z   (1 << 2)
 
#define MAN_TRANS_C   (MAN_TRANS_X | MAN_TRANS_Y | MAN_TRANS_Z)
 
#define MAN_ROT_X   (1 << 3)
 
#define MAN_ROT_Y   (1 << 4)
 
#define MAN_ROT_Z   (1 << 5)
 
#define MAN_ROT_C   (MAN_ROT_X | MAN_ROT_Y | MAN_ROT_Z)
 
#define MAN_SCALE_X   (1 << 8)
 
#define MAN_SCALE_Y   (1 << 9)
 
#define MAN_SCALE_Z   (1 << 10)
 
#define MAN_SCALE_C   (MAN_SCALE_X | MAN_SCALE_Y | MAN_SCALE_Z)
 
enum  {
  MAN_AXIS_TRANS_X = 0 , MAN_AXIS_TRANS_Y , MAN_AXIS_TRANS_Z , MAN_AXIS_TRANS_C ,
  MAN_AXIS_TRANS_XY , MAN_AXIS_TRANS_YZ , MAN_AXIS_TRANS_ZX , MAN_AXIS_ROT_X ,
  MAN_AXIS_ROT_Y , MAN_AXIS_ROT_Z , MAN_AXIS_ROT_C , MAN_AXIS_ROT_T ,
  MAN_AXIS_SCALE_X , MAN_AXIS_SCALE_Y , MAN_AXIS_SCALE_Z , MAN_AXIS_SCALE_C ,
  MAN_AXIS_SCALE_XY , MAN_AXIS_SCALE_YZ , MAN_AXIS_SCALE_ZX , MAN_AXIS_LAST = MAN_AXIS_SCALE_ZX + 1
}
 
enum  { MAN_AXES_ALL = 0 , MAN_AXES_TRANSLATE , MAN_AXES_ROTATE , MAN_AXES_SCALE }
 
typedef struct GizmoGroup GizmoGroup
 
struct {
   float   min
 
   float   max
 
g_tw_axis_range [2]
 
static void gizmo_refresh_from_matrix (wmGizmoGroup *gzgroup, const float twmat[4][4], const float scale[3])
 

Utilities

#define MAN_ITER_AXES_BEGIN(axis, axis_idx)
 
#define MAN_ITER_AXES_END
 
static wmGizmogizmo_get_axis_from_index (const GizmoGroup *ggd, const short axis_idx)
 
static short gizmo_get_axis_type (const int axis_idx)
 
static uint gizmo_orientation_axis (const int axis_idx, bool *r_is_plane)
 
static bool gizmo_is_axis_visible (const RegionView3D *rv3d, const int twtype, const float idot[3], const int axis_type, const int axis_idx)
 
static void gizmo_get_axis_color (const int axis_idx, const float idot[3], float r_col[4], float r_col_hi[4])
 
static void gizmo_get_axis_constraint (const int axis_idx, bool r_axis[3])
 
static void reset_tw_center (struct TransformBounds *tbounds)
 
static void calc_tw_center (struct TransformBounds *tbounds, const float co[3])
 
static void calc_tw_center_with_matrix (struct TransformBounds *tbounds, const float co[3], const bool use_matrix, const float matrix[4][4])
 
static void protectflag_to_drawflags (short protectflag, short *drawflags)
 
static void protectflag_to_drawflags_pchan (RegionView3D *rv3d, const bPoseChannel *pchan, short orientation_index)
 
static void protectflag_to_drawflags_ebone (RegionView3D *rv3d, const EditBone *ebo)
 
static void axis_angle_to_gimbal_axis (float gmat[3][3], const float axis[3], const float angle)
 
static bool test_rotmode_euler (short rotmode)
 
bool gimbal_axis_pose (Object *ob, const bPoseChannel *pchan, float gmat[3][3])
 
bool gimbal_axis_object (Object *ob, float gmat[3][3])
 
int ED_transform_calc_gizmo_stats (const bContext *C, const struct TransformCalcParams *params, struct TransformBounds *tbounds)
 
static void gizmo_get_idot (RegionView3D *rv3d, float r_idot[3])
 
static void gizmo_prepare_mat (const bContext *C, RegionView3D *rv3d, const struct TransformBounds *tbounds)
 
static void gizmo_line_range (const int twtype, const short axis_type, float *r_start, float *r_len)
 
static void gizmo_xform_message_subscribe (wmGizmoGroup *gzgroup, struct wmMsgBus *mbus, Scene *scene, bScreen *screen, ScrArea *area, ARegion *region, const void *type_fn)
 
static void gizmo_3d_dial_matrixbasis_calc (const ARegion *region, float axis[3], float center_global[3], float mval_init[2], float r_mat_basis[4][4])
 

Transform Gizmo

#define MAN_AXIS_SCALE_PLANE_SCALE   0.07f
 
#define MAN_AXIS_SCALE_PLANE_OFFSET   7.0f
 
static void rotation_get_fn (const wmGizmo *UNUSED(gz), wmGizmoProperty *gz_prop, void *value)
 
static void rotation_set_fn (const wmGizmo *UNUSED(gz), wmGizmoProperty *gz_prop, const void *value)
 
static GizmoGroupgizmogroup_init (wmGizmoGroup *gzgroup)
 
static int gizmo_modal (bContext *C, wmGizmo *widget, const wmEvent *event, eWM_GizmoFlagTweak UNUSED(tweak_flag))
 
static void gizmogroup_init_properties_from_twtype (wmGizmoGroup *gzgroup)
 
static void WIDGETGROUP_gizmo_setup (const bContext *C, wmGizmoGroup *gzgroup)
 
static void WIDGETGROUP_gizmo_refresh (const bContext *C, wmGizmoGroup *gzgroup)
 
static void WIDGETGROUP_gizmo_message_subscribe (const bContext *C, wmGizmoGroup *gzgroup, struct wmMsgBus *mbus)
 
static void WIDGETGROUP_gizmo_draw_prepare (const bContext *C, wmGizmoGroup *gzgroup)
 
static void WIDGETGROUP_gizmo_invoke_prepare (const bContext *C, wmGizmoGroup *gzgroup, wmGizmo *gz, const wmEvent *event)
 
static bool WIDGETGROUP_gizmo_poll_generic (View3D *v3d)
 
static bool WIDGETGROUP_gizmo_poll_context (const struct bContext *C, struct wmGizmoGroupType *UNUSED(gzgt))
 
static bool WIDGETGROUP_gizmo_poll_tool (const struct bContext *C, struct wmGizmoGroupType *gzgt)
 
void VIEW3D_GGT_xform_gizmo (wmGizmoGroupType *gzgt)
 
void VIEW3D_GGT_xform_gizmo_context (wmGizmoGroupType *gzgt)
 

Macro Definition Documentation

◆ FOREACH_EDIT_OBJECT_BEGIN

#define FOREACH_EDIT_OBJECT_BEGIN (   ob_iter,
  use_mat_local 
)
Value:
{ \
invert_m4_m4(obedit->imat, obedit->obmat); \
uint objects_len = 0; \
view_layer, CTX_wm_view3d(C), &objects_len); \
for (uint ob_index = 0; ob_index < objects_len; ob_index++) { \
Object *ob_iter = objects[ob_index]; \
const bool use_mat_local = (ob_iter != obedit);
struct View3D * CTX_wm_view3d(const bContext *C)
Definition: context.c:784
#define BKE_view_layer_array_from_objects_in_edit_mode(view_layer, v3d, r_len)
Definition: BKE_layer.h:536
unsigned int uint
Definition: BLI_sys_types.h:67
#define C
Definition: RandGen.cpp:25

◆ FOREACH_EDIT_OBJECT_END

#define FOREACH_EDIT_OBJECT_END ( )
Value:
} \
MEM_freeN(objects); \
} \
((void)0)
SyclQueue void void size_t num_bytes void

◆ GIZMO_NEW_ARROW

#define GIZMO_NEW_ARROW (   v,
  draw_style 
)
Value:
{ \
ggd->gizmos[v] = WM_gizmo_new_ptr(gzt_arrow, gzgroup, NULL); \
RNA_enum_set(ggd->gizmos[v]->ptr, "draw_style", draw_style); \
} \
((void)0)
ATTR_WARN_UNUSED_RESULT const BMVert * v
wmGizmo * WM_gizmo_new_ptr(const wmGizmoType *gzt, wmGizmoGroup *gzgroup, PointerRNA *properties)
Definition: wm_gizmo.c:81

◆ GIZMO_NEW_DIAL

#define GIZMO_NEW_DIAL (   v,
  draw_options 
)
Value:
{ \
ggd->gizmos[v] = WM_gizmo_new_ptr(gzt_dial, gzgroup, NULL); \
RNA_enum_set(ggd->gizmos[v]->ptr, "draw_options", draw_options); \
WM_gizmo_target_property_def_func(ggd->gizmos[v], "offset", &params); \
} \
((void)0)
uiWidgetBaseParameters params[MAX_WIDGET_BASE_BATCH]

◆ GIZMO_NEW_PRIM

#define GIZMO_NEW_PRIM (   v,
  draw_style 
)
Value:
{ \
ggd->gizmos[v] = WM_gizmo_new_ptr(gzt_prim, gzgroup, NULL); \
RNA_enum_set(ggd->gizmos[v]->ptr, "draw_style", draw_style); \
} \
((void)0)

◆ MAN_AXIS_RANGE_ROT_END

#define MAN_AXIS_RANGE_ROT_END   (MAN_AXIS_ROT_T + 1)

Definition at line 124 of file transform_gizmo_3d.c.

◆ MAN_AXIS_RANGE_ROT_START

#define MAN_AXIS_RANGE_ROT_START   MAN_AXIS_ROT_X

Definition at line 123 of file transform_gizmo_3d.c.

◆ MAN_AXIS_RANGE_SCALE_END

#define MAN_AXIS_RANGE_SCALE_END   (MAN_AXIS_SCALE_ZX + 1)

Definition at line 134 of file transform_gizmo_3d.c.

◆ MAN_AXIS_RANGE_SCALE_START

#define MAN_AXIS_RANGE_SCALE_START   MAN_AXIS_SCALE_X

Definition at line 133 of file transform_gizmo_3d.c.

◆ MAN_AXIS_RANGE_TRANS_END

#define MAN_AXIS_RANGE_TRANS_END   (MAN_AXIS_TRANS_ZX + 1)

Definition at line 116 of file transform_gizmo_3d.c.

◆ MAN_AXIS_RANGE_TRANS_START

#define MAN_AXIS_RANGE_TRANS_START   MAN_AXIS_TRANS_X

Definition at line 115 of file transform_gizmo_3d.c.

◆ MAN_AXIS_SCALE_PLANE_OFFSET

#define MAN_AXIS_SCALE_PLANE_OFFSET   7.0f

Offset of the two-axis planes, depends on the gizmos scale. Define to avoid repeating.

Definition at line 1314 of file transform_gizmo_3d.c.

◆ MAN_AXIS_SCALE_PLANE_SCALE

#define MAN_AXIS_SCALE_PLANE_SCALE   0.07f

Scale of the two-axis planes.

Definition at line 1312 of file transform_gizmo_3d.c.

◆ MAN_ITER_AXES_BEGIN

#define MAN_ITER_AXES_BEGIN (   axis,
  axis_idx 
)
Value:
{ \
wmGizmo *axis; \
int axis_idx; \
for (axis_idx = 0; axis_idx < MAN_AXIS_LAST; axis_idx++) { \
axis = gizmo_get_axis_from_index(ggd, axis_idx);
@ MAN_AXIS_LAST
static wmGizmo * gizmo_get_axis_from_index(const GizmoGroup *ggd, const short axis_idx)

Definition at line 172 of file transform_gizmo_3d.c.

◆ MAN_ITER_AXES_END

#define MAN_ITER_AXES_END
Value:
} \
} \
((void)0)

Definition at line 179 of file transform_gizmo_3d.c.

◆ MAN_ROT_C

#define MAN_ROT_C   (MAN_ROT_X | MAN_ROT_Y | MAN_ROT_Z)

Definition at line 87 of file transform_gizmo_3d.c.

◆ MAN_ROT_X

#define MAN_ROT_X   (1 << 3)

Definition at line 84 of file transform_gizmo_3d.c.

◆ MAN_ROT_Y

#define MAN_ROT_Y   (1 << 4)

Definition at line 85 of file transform_gizmo_3d.c.

◆ MAN_ROT_Z

#define MAN_ROT_Z   (1 << 5)

Definition at line 86 of file transform_gizmo_3d.c.

◆ MAN_SCALE_C

#define MAN_SCALE_C   (MAN_SCALE_X | MAN_SCALE_Y | MAN_SCALE_Z)

Definition at line 92 of file transform_gizmo_3d.c.

◆ MAN_SCALE_X

#define MAN_SCALE_X   (1 << 8)

Definition at line 89 of file transform_gizmo_3d.c.

◆ MAN_SCALE_Y

#define MAN_SCALE_Y   (1 << 9)

Definition at line 90 of file transform_gizmo_3d.c.

◆ MAN_SCALE_Z

#define MAN_SCALE_Z   (1 << 10)

Definition at line 91 of file transform_gizmo_3d.c.

◆ MAN_TRANS_C

#define MAN_TRANS_C   (MAN_TRANS_X | MAN_TRANS_Y | MAN_TRANS_Z)

Definition at line 82 of file transform_gizmo_3d.c.

◆ MAN_TRANS_X

#define MAN_TRANS_X   (1 << 0)

Definition at line 79 of file transform_gizmo_3d.c.

◆ MAN_TRANS_Y

#define MAN_TRANS_Y   (1 << 1)

Definition at line 80 of file transform_gizmo_3d.c.

◆ MAN_TRANS_Z

#define MAN_TRANS_Z   (1 << 2)

Definition at line 81 of file transform_gizmo_3d.c.

Typedef Documentation

◆ GizmoGroup

typedef struct GizmoGroup GizmoGroup

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
MAN_AXIS_TRANS_X 
MAN_AXIS_TRANS_Y 
MAN_AXIS_TRANS_Z 
MAN_AXIS_TRANS_C 
MAN_AXIS_TRANS_XY 
MAN_AXIS_TRANS_YZ 
MAN_AXIS_TRANS_ZX 
MAN_AXIS_ROT_X 
MAN_AXIS_ROT_Y 
MAN_AXIS_ROT_Z 
MAN_AXIS_ROT_C 
MAN_AXIS_ROT_T 
MAN_AXIS_SCALE_X 
MAN_AXIS_SCALE_Y 
MAN_AXIS_SCALE_Z 
MAN_AXIS_SCALE_C 
MAN_AXIS_SCALE_XY 
MAN_AXIS_SCALE_YZ 
MAN_AXIS_SCALE_ZX 
MAN_AXIS_LAST 

Definition at line 106 of file transform_gizmo_3d.c.

◆ anonymous enum

anonymous enum
Enumerator
MAN_AXES_ALL 
MAN_AXES_TRANSLATE 
MAN_AXES_ROTATE 
MAN_AXES_SCALE 

Definition at line 140 of file transform_gizmo_3d.c.

Function Documentation

◆ axis_angle_to_gimbal_axis()

static void axis_angle_to_gimbal_axis ( float  gmat[3][3],
const float  axis[3],
const float  angle 
)
static

◆ calc_tw_center()

static void calc_tw_center ( struct TransformBounds tbounds,
const float  co[3] 
)
static

◆ calc_tw_center_with_matrix()

static void calc_tw_center_with_matrix ( struct TransformBounds tbounds,
const float  co[3],
const bool  use_matrix,
const float  matrix[4][4] 
)
static

Definition at line 457 of file transform_gizmo_3d.c.

References calc_tw_center(), and mul_v3_m4v3().

Referenced by ED_transform_calc_gizmo_stats().

◆ ED_transform_calc_gizmo_stats()

int ED_transform_calc_gizmo_stats ( const bContext C,
const struct TransformCalcParams params,
struct TransformBounds tbounds 
)

Definition at line 618 of file transform_gizmo_3d.c.

References Freestyle::a, blender::compositor::area(), TransformBounds::axis, TransformBounds::axis_max, TransformBounds::axis_min, BASACT, BASE_SELECTED, BASE_SELECTED_EDITABLE, Nurb::bezt, bGPDcurve_point::bezt, BEZT_ISSEL_IDX, BKE_curve_editNurbs_get(), BKE_editmesh_from_object(), BKE_gpencil_layer_is_editable(), BKE_gpencil_layer_transform_matrix_get(), BKE_object_boundbox_get(), BKE_object_pose_armature_get(), BKE_object_pose_array_get(), BKE_scene_orientation_get_index(), BMEditMesh::bm, bm, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, BM_ITER_MESH, BM_VERTS_OF_MESH, BONE_CONNECTED, BONE_ROOTSEL, BONE_SELECTED, BONE_TIPSEL, BONE_TRANSFORM, Nurb::bp, C, calc_tw_center(), calc_tw_center_with_matrix(), TransformBounds::center, bPose::chanbase, PTCacheEditKey::co, BMVert::co, copy_m3_m3(), copy_m3_m4(), copy_m4_m3(), copy_m4_m4(), copy_v3_v3(), CTX_data_expect_evaluated_depsgraph(), CTX_data_gpencil_data(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_area(), CTX_wm_region(), CU_BEZIER, CURVE_HANDLE_NONE, bGPDcurve::curve_points, Lattice::def, depsgraph, EBONE_VISIBLE, ED_gpencil_stroke_can_use(), ED_transform_calc_orientation_from_type_ex(), bArmature::edbo, MetaBall::editelems, Lattice::editlatt, ELEM, BezTriple::f1, BPoint::f1, BezTriple::f2, BezTriple::f3, ListBase::first, PTCacheEditKey::flag, bGPDspoint::flag, bGPDcurve_point::flag, bGPDcurve::flag, Base::flag, FOREACH_EDIT_OBJECT_BEGIN, FOREACH_EDIT_OBJECT_END, GP_CURVE_POINT_SELECT, GP_CURVE_SELECT, GP_SPOINT_SELECT, GP_STROKE_SELECT, GPENCIL_ANY_MODE, GPENCIL_CURVE_EDIT_SESSIONS_ON, View3DOverlay::handle_display, if(), Object::imat, invert_m3(), invert_m4_m4(), EditLatt::latt, bGPdata::layers, LISTBASE_FOREACH, TransformBounds::matrix_space, TransformBounds::max, MEM_freeN, TransformBounds::min, Object::mode, mul_m3_m3_pre(), mul_m4_m4m4(), mul_m4_v3(), mul_v3_fl(), mul_v3_m4v3(), Nurb::next, Base::next, normalize_m3(), NULL, OB_ARMATURE, OB_CURVES_LEGACY, OB_LATTICE, OB_LOCK_LOC, OB_MBALL, OB_MESH, OB_MODE_ALL_PAINT, OB_MODE_EDIT, OB_MODE_PARTICLE_EDIT, OB_MODE_POSE, OB_MODE_SCULPT, OB_MODE_WEIGHT_PAINT, OB_SURF, OBACT, OBEDIT_FROM_OBACT, Base::object, ViewLayer::object_bases, Object::obmat, View3D::overlay, params, PE_get_current(), PEK_SELECT, PEK_USE_WCO, PEP_HIDE, SculptSession::pivot_pos, Nurb::pntsu, Lattice::pntsu, Nurb::pntsv, Lattice::pntsv, Lattice::pntsw, point, PTCacheEdit::points, Object::pose, Object::protectflag, protectflag_to_drawflags(), protectflag_to_drawflags_ebone(), protectflag_to_drawflags_pchan(), ARegion::regiondata, reset_tw_center(), SCE_ORIENT_DEFAULT, scene, Object::sculpt, SELECT, TFM_ROTATION, Scene::toolsettings, bGPDcurve::tot_curve_points, PTCacheEdit::totpoint, BMesh::totvertsel, transform_convert_pose_transflags_update(), ToolSettings::transform_pivot_point, RegionView3D::tw_axis_matrix, RegionView3D::tw_axis_max, RegionView3D::tw_axis_min, RegionView3D::twdrawflag, RegionView3D::twmat, Nurb::type, Object::type, unit_m3(), unit_m4(), TransformBounds::use_matrix_space, V3D_AROUND_CENTER_BOUNDS, V3D_AROUND_LOCAL_ORIGINS, V3D_ORIENT_GIMBAL, V3D_ORIENT_GLOBAL, V3D_ORIENT_LOCAL, BezTriple::vec, BPoint::vec, BoundBox::vec, PTCacheEditKey::world_co, bGPDspoint::x, and zero_v3().

Referenced by gizmo_modal(), WIDGETGROUP_gizmo_refresh(), WIDGETGROUP_xform_cage_refresh(), and WIDGETGROUP_xform_shear_refresh().

◆ gimbal_axis_object()

bool gimbal_axis_object ( Object ob,
float  gmat[3][3] 
)

◆ gimbal_axis_pose()

bool gimbal_axis_pose ( Object ob,
const bPoseChannel pchan,
float  gmat[3][3] 
)

◆ gizmo_3d_dial_matrixbasis_calc()

static void gizmo_3d_dial_matrixbasis_calc ( const ARegion region,
float  axis[3],
float  center_global[3],
float  mval_init[2],
float  r_mat_basis[4][4] 
)
static

◆ gizmo_get_axis_color()

static void gizmo_get_axis_color ( const int  axis_idx,
const float  idot[3],
float  r_col[4],
float  r_col_hi[4] 
)
static

◆ gizmo_get_axis_constraint()

static void gizmo_get_axis_constraint ( const int  axis_idx,
bool  r_axis[3] 
)
static

◆ gizmo_get_axis_from_index()

static wmGizmo* gizmo_get_axis_from_index ( const GizmoGroup ggd,
const short  axis_idx 
)
static

◆ gizmo_get_axis_type()

static short gizmo_get_axis_type ( const int  axis_idx)
static

◆ gizmo_get_idot()

static void gizmo_get_idot ( RegionView3D rv3d,
float  r_idot[3] 
)
static

◆ gizmo_is_axis_visible()

static bool gizmo_is_axis_visible ( const RegionView3D rv3d,
const int  twtype,
const float  idot[3],
const int  axis_type,
const int  axis_idx 
)
static

◆ gizmo_line_range()

static void gizmo_line_range ( const int  twtype,
const short  axis_type,
float r_start,
float r_len 
)
static

Sets up r_start and r_len to define arrow line range. Needed to adjust line drawing for combined gizmo axis types.

Definition at line 1134 of file transform_gizmo_3d.c.

References MAN_AXES_SCALE, MAN_AXES_TRANSLATE, V3D_GIZMO_SHOW_OBJECT_ROTATE, V3D_GIZMO_SHOW_OBJECT_SCALE, and V3D_GIZMO_SHOW_OBJECT_TRANSLATE.

Referenced by gizmo_refresh_from_matrix().

◆ gizmo_modal()

static int gizmo_modal ( bContext C,
wmGizmo widget,
const wmEvent event,
eWM_GizmoFlagTweak   UNUSEDtweak_flag 
)
static

◆ gizmo_orientation_axis()

static uint gizmo_orientation_axis ( const int  axis_idx,
bool r_is_plane 
)
static

◆ gizmo_prepare_mat()

static void gizmo_prepare_mat ( const bContext C,
RegionView3D rv3d,
const struct TransformBounds tbounds 
)
static

◆ gizmo_refresh_from_matrix()

static void gizmo_refresh_from_matrix ( wmGizmoGroup gzgroup,
const float  twmat[4][4],
const float  scale[3] 
)
static

◆ gizmo_xform_message_subscribe()

static void gizmo_xform_message_subscribe ( wmGizmoGroup gzgroup,
struct wmMsgBus mbus,
Scene scene,
bScreen screen,
ScrArea area,
ARegion region,
const void type_fn 
)
static

◆ gizmogroup_init()

static GizmoGroup* gizmogroup_init ( wmGizmoGroup gzgroup)
static

◆ gizmogroup_init_properties_from_twtype()

static void gizmogroup_init_properties_from_twtype ( wmGizmoGroup gzgroup)
static

◆ protectflag_to_drawflags()

static void protectflag_to_drawflags ( short  protectflag,
short *  drawflags 
)
static

◆ protectflag_to_drawflags_ebone()

static void protectflag_to_drawflags_ebone ( RegionView3D rv3d,
const EditBone ebo 
)
static

◆ protectflag_to_drawflags_pchan()

static void protectflag_to_drawflags_pchan ( RegionView3D rv3d,
const bPoseChannel pchan,
short  orientation_index 
)
static

◆ reset_tw_center()

static void reset_tw_center ( struct TransformBounds tbounds)
static

◆ rotation_get_fn()

static void rotation_get_fn ( const wmGizmo UNUSEDgz,
wmGizmoProperty gz_prop,
void value 
)
static

◆ rotation_set_fn()

static void rotation_set_fn ( const wmGizmo UNUSEDgz,
wmGizmoProperty gz_prop,
const void value 
)
static

◆ test_rotmode_euler()

static bool test_rotmode_euler ( short  rotmode)
static

Definition at line 554 of file transform_gizmo_3d.c.

References ELEM, ROT_MODE_AXISANGLE, and ROT_MODE_QUAT.

Referenced by gimbal_axis_object(), and gimbal_axis_pose().

◆ VIEW3D_GGT_xform_cage()

void VIEW3D_GGT_xform_cage ( wmGizmoGroupType gzgt)

◆ VIEW3D_GGT_xform_gizmo()

void VIEW3D_GGT_xform_gizmo ( wmGizmoGroupType gzgt)

◆ VIEW3D_GGT_xform_gizmo_context()

void VIEW3D_GGT_xform_gizmo_context ( struct wmGizmoGroupType gzgt)

◆ VIEW3D_GGT_xform_shear()

void VIEW3D_GGT_xform_shear ( wmGizmoGroupType gzgt)

◆ WIDGETGROUP_gizmo_draw_prepare()

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

◆ WIDGETGROUP_gizmo_invoke_prepare()

static void WIDGETGROUP_gizmo_invoke_prepare ( const bContext C,
wmGizmoGroup gzgroup,
wmGizmo gz,
const wmEvent event 
)
static

◆ WIDGETGROUP_gizmo_message_subscribe()

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

◆ WIDGETGROUP_gizmo_poll_context()

static bool WIDGETGROUP_gizmo_poll_context ( const struct bContext C,
struct wmGizmoGroupType UNUSEDgzgt 
)
static

◆ WIDGETGROUP_gizmo_poll_generic()

static bool WIDGETGROUP_gizmo_poll_generic ( View3D v3d)
static

◆ WIDGETGROUP_gizmo_poll_tool()

static bool WIDGETGROUP_gizmo_poll_tool ( const struct bContext C,
struct wmGizmoGroupType gzgt 
)
static

◆ WIDGETGROUP_gizmo_refresh()

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

◆ WIDGETGROUP_gizmo_setup()

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

◆ WIDGETGROUP_xform_cage_draw_prepare()

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

◆ WIDGETGROUP_xform_cage_message_subscribe()

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

◆ WIDGETGROUP_xform_cage_poll()

static bool WIDGETGROUP_xform_cage_poll ( const bContext C,
wmGizmoGroupType gzgt 
)
static

◆ WIDGETGROUP_xform_cage_refresh()

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

◆ WIDGETGROUP_xform_cage_setup()

static void WIDGETGROUP_xform_cage_setup ( const bContext UNUSEDC,
wmGizmoGroup gzgroup 
)
static

◆ WIDGETGROUP_xform_shear_draw_prepare()

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

◆ WIDGETGROUP_xform_shear_message_subscribe()

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

◆ WIDGETGROUP_xform_shear_poll()

static bool WIDGETGROUP_xform_shear_poll ( const bContext C,
wmGizmoGroupType gzgt 
)
static

◆ WIDGETGROUP_xform_shear_refresh()

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

◆ WIDGETGROUP_xform_shear_setup()

static void WIDGETGROUP_xform_shear_setup ( const bContext UNUSEDC,
wmGizmoGroup gzgroup 
)
static

Variable Documentation

◆ 

struct { ... } g_tw_axis_range[2]
Initial value:
= {
{0.02f, 0.1f},
{0.175f, 0.25f},
}

Referenced by gizmo_get_axis_color(), and gizmo_is_axis_visible().

◆ max

Definition at line 96 of file transform_gizmo_3d.c.

Referenced by blender::nodes::node_geo_duplicate_elements_cc::accumulate_counts_to_offsets(), actkeys_previewrange_exec(), actkeys_viewall(), btAxisSweep3Internal< BP_FP_INT_TYPE >::addHandle(), Freestyle::AppView::AddModel(), GHOST_WindowWin32::adjustWindowRectForClosestMonitor(), AdaptiveSampling::align_samples(), PathTraceWorkGPU::alloc_integrator_soa(), PathTraceWorkGPU::alloc_integrator_sorting(), FallbackTransform::applyRGB(), Freestyle::AppView::AppView(), arg_handle_python_exit_code_set(), arg_handle_threads_set(), arrayModifier_doArray(), Freestyle::OccluderSource::averageOccluderArea(), bake_clamp_mirror_repeat(), bake_offset_towards_center(), bevelinside(), BKE_boundbox_init_from_minmax(), BKE_curve_boundbox_get(), BKE_curve_center_bounds(), BKE_curve_minmax(), BKE_curve_texspace_calc(), BKE_curves_boundbox_get(), BKE_displist_minmax(), BKE_editmesh_cache_calc_minmax(), BKE_editmesh_cage_boundbox_get(), BKE_fcurve_calc_range(), BKE_gpencil_centroid_3d(), BKE_lattice_center_bounds(), BKE_lattice_minmax(), BKE_lattice_minmax_dl(), BKE_mask_spline_feather_collapse_inner_loops(), BKE_mball_center_bounds(), BKE_mball_minmax(), BKE_mball_minmax_ex(), BKE_mball_texspace_calc(), BKE_mesh_boundbox_get(), BKE_mesh_center_bounds(), BKE_mesh_minmax(), BKE_mesh_texspace_calc(), BKE_mesh_wrapper_minmax(), BKE_nlastrip_within_bounds(), BKE_nurb_minmax(), BKE_object_boundbox_calc_from_evaluated_geometry(), BKE_object_boundbox_calc_from_mesh(), BKE_object_minmax_empty_drawtype(), BKE_pbvh_bounding_box(), BKE_pchan_minmax(), BKE_pointcloud_boundbox_get(), BKE_tracking_marker_pattern_minmax(), BKE_volume_boundbox_get(), blender_camera_from_object(), Freestyle::BlenderStrokeRenderer::BlenderStrokeRenderer(), blf_charcode_to_unicode_block(), BLI_convexhull_aabb_fit_hull_2d(), BLI_uuid_generate_random(), bm_corners_to_loops_ex(), BM_face_calc_bounds_expand(), BM_face_calc_center_bounds(), BM_face_calc_center_bounds_vcos(), BM_face_uv_minmax(), bm_vert_pair_best_face_get(), bm_vert_pair_share_best_splittable_face_cb(), bmo_average_vert_facedata_exec(), bmo_collapsecon_do_layer(), boundbox_armature(), boundbox_gpencil(), boundbox_lattice(), Hair::Curve::bounds_grow(), Spline::bounds_min_max(), CurveEval::bounds_min_max(), blender::bke::CurvesGeometry::bounds_min_max(), box_minmax_bounds_m4(), BPy_BMElem_PySeq_As_Array(), BPy_BMElem_PySeq_As_Array_FAST(), BPy_FloatProperty(), BPy_FloatVectorProperty(), BPy_IntProperty(), BPy_IntVectorProperty(), brush_edit_init(), bsdf_microfacet_multi_ggx_glass_fresnel_setup(), bsdf_microfacet_multi_ggx_glass_sample(), bsdf_microfacet_multi_ggx_glass_setup(), bsdf_oren_nayar_get_intensity(), bsdf_principled_hair_sample(), blender::ui::GridViewLayoutBuilder::build_from_view(), blender::deg::DepsgraphNodeBuilder::build_object(), blender::compositor::KeyingScreenOperation::build_voronoi_triangulation(), bundle_midpoint(), BVH(), bvh_aligned_node_intersect(), bvh_unaligned_node_intersect_child(), calc_action_range(), Subpatch::calc_num_inner_verts(), Subpatch::calc_num_triangles(), calc_ortho_extent(), calculate_basis_for_point(), blender::bke::curves::nurbs::calculate_basis_for_point(), calculate_collision_balls(), blender::bke::curves::catmull_rom::calculate_evaluated_num(), calculate_mappings_linear_resolution(), RenderScheduler::calculate_num_samples_per_update(), calculate_resolution_divider_for_resolution(), blender::nodes::node_geo_curve_to_points_cc::calculate_spline_point_offsets(), calculateCenterBound(), Freestyle::GridDensityProvider::calculateQuickProscenium(), blender::nodes::node_shader_tex_gradient_cc::GradientFunction::call(), blender::nodes::node_shader_tex_voronoi_cc::VoronoiMinowskiFunction::call(), blender::nodes::node_shader_tex_voronoi_cc::VoronoiMetricFunction::call(), blender::nodes::node_shader_tex_voronoi_cc::VoronoiEdgeFunction::call(), Hair::Curve::cardinal_keys_for_step(), Clamp(), clamp_axis_max_v3(), clamp_f(), clamp_float_to_int(), clamp_i(), blender::nodes::node_shader_map_range_cc::clamp_range(), clamp_v2(), clamp_v2_v2v2(), clamp_v3(), clamp_v3_v3v3(), clamp_v4(), clamp_v4_v4v4(), clamp_z(), clampis_uint(), clip_uv_transform_resize(), clip_uv_transform_translation(), clip_view_calculate_view_selection(), SVMCompiler::CompilerState::CompilerState(), btConvexHullInternal::compute(), GeometrySet::compute_boundbox_without_instances(), blender::fn::compute_grain_size(), BVHUnaligned::compute_node_transform(), blender::LoadFactor::compute_total_and_usable_slots(), BlackbodyNode::constant_fold(), ClampNode::constant_fold(), constants_calc_size(), BVHBuild::create_leaf_node(), BVHBuild::create_object_leaf_nodes(), blender::nodes::node_geo_curve_primitive_spiral_cc::create_spiral_curve(), create_subd_mesh(), GeometryManager::create_volume_mesh(), Freestyle::crossesProscenium(), CubeTriangleIsect::CubeTriangleIsect(), cuboid_do(), curvebounds(), curvemap_minmax_curve(), curvemapping_float_to_array(), CustomData_data_dominmax(), CustomData_data_initminmax(), D_ggx(), D_ggx_aniso(), Freestyle::AppView::DetachModel(), blender::compositor::PlaneDistortWarpImageOperation::determine_depending_area_of_interest(), device_only_memory< T >::device_only_memory(), LightManager::device_update_background(), LightManager::device_update_points(), diagonalize(), QuadDice::dice(), direction_to_mirrorball(), dirty_mask_apply_task_cb(), dist_to_rect(), distribute_grid(), do_2d_mapping(), blender::io::usd::USDVolumeWriter::do_write(), draw_distortion(), draw_spline_points(), DRW_culling_min_max_test(), DRW_debug_m4_as_bbox(), drw_sculpt_generate_calls(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_curves(), blender::nodes::node_geo_duplicate_elements_cc::duplicate_faces(), dynamic_paint_create_uv_surface_direct_cb(), dynamicPaint_createUVSurface(), ED_armature_origin_set(), ED_gizmo_arrow3d_set_ui_range(), ED_gpencil_layer_frames_select_box(), ED_markers_get_minmax(), ED_mask_selected_minmax(), ED_masklayer_frames_select_box(), ED_uvedit_center_multi(), ED_view3d_clipping_clamp_minmax(), edbm_point_normals_modal(), edge_pan_speed(), eevee_lightprobes_culling_test(), EEVEE_shadows_caster_register(), MEM_CacheLimiter< T >::enforce_limits(), PathTraceWorkGPU::enqueue_work_tiles(), libmv::euclidean_resection::EuclideanResectionEPnP(), libmv::euclidean_resection::EuclideanResectionPPnP(), BezierSpline::evaluated_positions(), blender::ed::sculpt_paint::AddOperationExecutor::execute(), blender::io::alembic::export_startjob(), blender::io::usd::export_startjob(), fcm_envelope_evaluate(), blender::geometry::find_curve_neighbors(), float4_to_half4_display(), blender::bke::float_to_int8(), float_uint(), libmv::FloatArrayToScaledByteArray(), blender::nodes::node_fn_value_to_string_cc::fn_node_value_to_string_build_multi_function(), foreach_sliced_buffer_params(), blender::ed::space_node::frame_node_prepare_for_draw(), fresnel_dielectric(), libmv::FundamentalToEssential(), generate_bounding_box_mesh(), VolumeMeshBuilder::generate_vertices_and_quads(), Integrator::get_adaptive_sampling(), blender::compositor::PlaneDistortWarpImageOperation::get_area_of_interest(), BlenderSync::get_buffer_params(), blender::geometry::get_count_input_from_length(), blender::geometry::get_count_input_max_one(), Session::get_estimated_remaining_time(), blender::string_search::get_fuzzy_match_errors(), get_index_column_width(), get_keyframe_extents(), Scene::get_max_closure_count(), blender::io::alembic::get_min_max_time(), blender::io::alembic::get_min_max_time_ex(), Device::get_multi_device(), get_nlastrip_extents(), RenderScheduler::get_num_samples_to_path_trace(), blender::nodes::node_geo_string_to_curves_cc::get_pivot_point(), RenderScheduler::get_render_work(), BlenderSync::get_session_params(), blender::nodes::node_geo_string_to_curves_cc::get_text_layout(), TileManager::get_tile_for_index(), blender::nodes::node_geo_input_mesh_face_is_planar_cc::PlanarFieldInput::get_varray_for_context(), Subpatch::get_vert_along_grid_edge(), blender::io::alembic::get_weight_and_index(), GHOST_SystemWayland::getAllDisplayDimensions(), Freestyle::Geometry::Polygon< Point >::getBBox(), Freestyle::AppView::GetFocalLength(), BVHNode::getSubtreeSize(), CBlendThumb::GetThumbnail(), gizmo2d_xform_invoke_prepare(), gizmo_value_from_offset(), gpencil_find_end_of_stroke_idx(), GPENCIL_OT_vertex_color_brightness_contrast(), gpencil_snap_cursor_to_sel(), blender::nodes::node_shader_math_cc::gpu_shader_math(), blender::nodes::node_shader_mix_rgb_cc::gpu_shader_mix_rgb(), graphkeys_previewrange_exec(), grid_axis_start_and_count(), BoundBox::grow(), BoundBox::grow_safe(), RenderScheduler::guess_display_update_interval_in_seconds_for_num_samples(), idprop_ui_data_update_float(), idprop_ui_data_update_int(), image_view_selected_exec(), IMB_colormanagement_blackbody_temperature_to_rgb_table(), IMB_exr_add_channel(), IMB_exr_channel_rect(), import_startjob(), Freestyle::GeomUtils::include2dSeg2dArea(), iTaSC::WSDLSSolver::init(), iTaSC::WDLSSolver::init(), initTimeSlide(), InnerNode::InnerNode(), Freestyle::Grid::insertOccluder(), blender::bke::int_to_int8(), integrate_shadow_max_transparent_hits(), intersect(), BoundBox::intersect(), Freestyle::GeomUtils::intersect2dSeg2dArea(), invert_m4_m4_fallback(), libmv::InvertNukeDistortionModel(), isect_aabb_v3(), isect_tri_tri_v3_ex(), kdtree2d_isect_tri(), kdtree2d_isect_tri_recursive(), kernel_embree_filter_occluded_func(), kernel_ies_interp(), Hair::Curve::keys_for_step(), layerDoMinMax_mloop_origspace(), layerDoMinMax_mloopcol(), layerDoMinMax_mloopuv(), layerDoMinMax_propcol(), layerInitMinMax_mloop_origspace(), layerInitMinMax_mloopcol(), layerInitMinMax_mloopuv(), layerInitMinMax_propcol(), light_spread_attenuation(), light_spread_clamp_area_light(), linear_solver_ensure_matrix_construct(), OIIOImageLoader::load_metadata(), markers_selectkeys_between(), mask_filter_task_cb(), match_texture_space_exec(), math_trimatrix_cholesky(), math_vector_max(), mathutils_rna_vector_set(), mv::Tracks::MaxClip(), mv::Tracks::MaxFrame(), libmv::Tracks::MaxImage(), mv::Tracks::MaxTrack(), libmv::Tracks::MaxTrack(), merge(), mesh_init_origspace(), mf_eval_phase_glass(), mf_eval_phase_glossy(), mf_ggx_aniso_pdf(), mf_ggx_pdf(), mf_glass_pdf(), mf_lambda(), mf_sampleP22_11(), libmv::Dogleg< Function, Jacobian, Solver >::minimize(), libmv::LevenbergMarquardt< Function, Jacobian, Solver >::minimize(), minmax_v2v2_v2(), minmax_v3_v3v3(), minmax_v3v3_v3(), minmax_v4v4_v4(), blender::gpu::MTLTexture::mip_range_set(), blender::gpu::GLTexture::mip_range_set(), mirrorball_to_direction(), blender::color::mix_colorburn(), blender::color::mix_linearburn(), blender::color::mix_linearlight(), blender::color::mix_pinlight(), blender::color::mix_screen(), blender::color::mix_vividlight(), modifyMesh(), mouse_on_rect(), nlaedit_previewrange_exec(), NODE_DEFINE(), blender::nodes::node_geo_attribute_statistic_cc::node_geo_exec(), blender::nodes::node_geo_bounding_box_cc::node_geo_exec(), blender::nodes::node_geo_curve_primitive_arc_cc::node_geo_exec(), blender::nodes::node_geo_curve_primitive_bezier_segment_cc::node_geo_exec(), blender::nodes::node_geo_curve_primitive_circle_cc::node_geo_exec(), blender::nodes::node_geo_curve_primitive_quadratic_bezier_cc::node_geo_exec(), blender::nodes::node_geo_curve_primitive_quadrilateral_cc::node_geo_exec(), blender::nodes::node_geo_curve_primitive_spiral_cc::node_geo_exec(), blender::nodes::node_geo_curve_primitive_star_cc::node_geo_exec(), blender::nodes::node_geo_mesh_primitive_line_cc::node_geo_exec(), blender::nodes::node_geo_mesh_to_points_cc::node_geo_exec(), blender::nodes::node_geo_triangulate_cc::node_geo_exec(), blender::ed::space_node::node_get_selected_minmax(), blender::ed::space_node::node_group_make_from_selected(), blender::ed::space_node::node_group_make_insert_selected(), blender::ed::space_node::node_link_dim_factor(), node_shader_gpu_tex_mapping(), blender::dot::NodeWithSocketsRef::NodeWithSocketsRef(), object_motion_steps(), object_origin_set_exec(), object_warp_transverts(), object_warp_transverts_minmax_x(), object_warp_verts_exec(), Freestyle::BoxGrid::OccluderData::OccluderData(), blender::draw::overhang_remap(), Freestyle::GeomUtils::overlapTriangleBox(), OVERLAY_bounds(), PAINT_OT_vertex_color_brightness_contrast(), paint_stroke_integrate_overlap(), parse_int_clamp(), parse_int_range_relative_clamp(), parse_int_range_relative_clamp_n(), parse_int_relative_clamp(), parse_int_strict_range(), particle_intersect_mesh(), particle_system_minmax(), particles_fluid_step(), pchan_culling_calc_bsphere(), PE_minmax(), point_density_texture_space(), pose_brush_grow_factor_task_cb_ex(), DiagSplit::post_split(), mv::PredictMarkerPosition(), project_paint_bucket_bounds(), project_paint_delayed_face_init(), prop_subscript_ass_array_slice__float_recursive(), prop_subscript_ass_array_slice__int_recursive(), radial_control_invoke(), BVHBuild::range_within_max_leaf_size(), ratiod(), ratiof(), ray_triangle_intersect(), ray_triangle_intersect_self(), RB_shape_trimesh_update(), RE_point_density_sample(), rect_clip(), rect_light_sample(), btAxisSweep3Internal< BP_FP_INT_TYPE >::removeHandle(), RenderScheduler::render_work_reschedule_on_idle(), blender::bke::calc_edges::reserve_hash_maps(), DualConInputReader::reset(), rgb_to_hsl(), rgb_to_hsv(), RNA_def_property_range(), RNA_def_property_ui_range(), RNA_property_float_clamp(), RNA_property_int_clamp(), Session::run_update_for_next_iteration(), blender::geometry::ReverseUVSampler::sample(), sample_cos_hemisphere(), blender::nodes::node_geo_distribute_points_on_faces_cc::sample_mesh_surface(), sample_uniform_hemisphere(), scale_buffer_params(), QuadDice::scale_factor(), scopes_update_cb(), scopes_update_reduce(), screen_geom_area_map_find_active_scredge(), screen_geom_vertices_scale_pass(), select_cache_populate(), selected_boundbox(), blender::io::gpencil::GpencilIO::selected_objects_boundbox_calc(), selected_tracking_boundbox(), libmv::SelectKeyframesBasedOnGRICAndVariance(), SEQ_time_update_meta_strip_range(), seq_view_collection_rect_preview(), session_print(), blender::bke::set_spline_resolution(), HdCyclesDelegate::SetRenderSetting(), blender::nodes::node_shader_clamp_cc::sh_node_clamp_build_multi_function(), shader_bsdf_alpha(), shader_prepare_surface_closures(), shader_setup_from_curve(), shadow_ray_smooth_surface_offset(), shift_cos_in(), blender::nodes::node_geo_input_shortest_edge_paths_cc::shortest_paths(), smoothmin(), snap_bound_box_check_dist(), snap_curs_to_sel_ex(), soft_range_round_down(), soft_range_round_up(), spline_under_mouse_get(), SVMCompiler::stack_find_offset(), blender::draw::statvis_calc_distort(), blender::draw::statvis_calc_overhang(), blender::draw::statvis_calc_sharp(), blender::draw::statvis_calc_thickness(), EdgeDice::stitch_triangles(), subsurface_random_walk(), svm_brightness_contrast(), svm_mix_light(), svm_node_blackbody(), svm_node_clamp(), svm_node_curve(), svm_node_hsv(), svm_node_min_max(), svm_node_normal_map(), svm_node_principled_volume(), svm_node_set_bump(), svm_node_wavelength(), svm_vector_math(), Mesh::tessellate(), TEST(), blender::bke::tests::TEST(), blender::tests::TEST(), blender::io::serialize::json::testing::TEST(), text_cursor_set_to_pos_wrapped(), text_get_cursor_rel(), blender::draw::thickness_remap(), tile_calculate_best_size(), transform_decompose(), triangle_light_pdf(), triangle_light_sample(), blender::nodes::try_dispatch_float_math_fl3_fl3_to_fl3(), blender::nodes::try_dispatch_float_math_fl_fl_to_fl(), txt_wrap_move_bol(), txt_wrap_move_eol(), ui_def_but(), ui_def_but_rna(), ui_def_but_rna_propname(), ui_draw_but_HSV_v(), ui_handle_list_event(), ui_numedit_but_HSVCUBE(), ui_selectcontext_apply(), uiDefBut(), uiDefButBit(), uiDefButBitC(), uiDefButBitI(), uiDefButBitS(), uiDefButC(), uiDefButF(), uiDefButI(), uiDefButR(), uiDefButR_prop(), uiDefButS(), uiDefIconBut(), uiDefIconButBit(), uiDefIconButBitC(), uiDefIconButBitI(), uiDefIconButBitS(), uiDefIconButI(), uiDefIconButR(), uiDefIconButR_prop(), uiDefIconButS(), uiDefIconTextBut(), uiDefIconTextButF(), uiDefIconTextButI(), uiDefIconTextButR(), uiDefIconTextButR_prop(), blender::nodes::node_geo_distribute_points_on_faces_cc::update_elimination_mask_based_on_density_factors(), RenderScheduler::update_start_resolution_divider(), BVHNode::update_time(), btAxisSweep3Internal< BP_FP_INT_TYPE >::updateHandle(), iTaSC::Armature::updateJoint(), util_hash_to_float(), util_image_resize_pixels(), uv_map_clip_correct_multi(), uv_weld_align(), version_idproperty_move_data_float(), version_idproperty_move_data_int(), view3d_all_exec(), view3d_boundbox_clip_m4(), view3d_from_minmax(), view3d_from_minmax_multi(), view3d_localview_init(), view3d_object_calc_minmax(), viewselected_exec(), blender::noise::voronoi_distance(), voronoi_distance_2d(), voronoi_distance_3d(), voronoi_distance_4d(), WIDGETGROUP_camera_refresh(), wm_software_cursor_draw(), RenderScheduler::work_adaptive_threshold(), Camera::world_to_raster_size(), wrap(), wrapf(), xml_read_mesh(), xyz_to_rgb_clamped(), Freestyle::AppView::zfar(), and Freestyle::AppView::znear().

◆ min

Definition at line 96 of file transform_gizmo_3d.c.

Referenced by gizmo_is_axis_visible().