|
Blender V4.3
|
#include <cstdlib>#include "BLI_math_matrix.h"#include "BLI_math_rotation.h"#include "BLI_math_vector.h"#include "BLI_task.h"#include "BKE_report.hh"#include "BKE_unit.hh"#include "ED_screen.hh"#include "UI_interface.hh"#include "transform.hh"#include "transform_convert.hh"#include "transform_snap.hh"#include "transform_mode.hh"Go to the source code of this file.
Classes | |
| struct | RotateMatrixCache |
| struct | TransDataArgs_Rotate |
| struct | TransDataArgs_RotateTLS |
Functions | |
Transform (Rotation) Matrix Cache | |
| static void | rmat_cache_init (RotateMatrixCache *rmc, const float angle, const float axis[3]) |
| static void | rmat_cache_reset (RotateMatrixCache *rmc) |
| static void | rmat_cache_update (RotateMatrixCache *rmc, const float axis[3], const float angle) |
Transform (Rotation) Element | |
| static void | transdata_elem_rotate (const TransInfo *t, const TransDataContainer *tc, TransData *td, const float axis[3], const float angle, const float angle_step, const bool is_large_rotation, RotateMatrixCache *rmc) |
| static void | transdata_elem_rotate_fn (void *__restrict iter_data_v, const int iter, const TaskParallelTLS *__restrict tls) |
Transform (Rotation) | |
| static float | RotationBetween (TransInfo *t, const float p1[3], const float p2[3]) |
| static void | ApplySnapRotation (TransInfo *t, float *value) |
| static float | large_rotation_limit (float angle) |
| static void | applyRotationValue (TransInfo *t, float angle, const float axis[3], const bool is_large_rotation) |
| static bool | uv_rotation_in_clip_bounds_test (const TransInfo *t, const float angle) |
| static bool | clip_uv_transform_rotate (const TransInfo *t, float *vec, float *vec_inside_bounds) |
| static void | applyRotation (TransInfo *t) |
| static void | applyRotationMatrix (TransInfo *t, float mat_xform[4][4]) |
| static void | initRotation (TransInfo *t, wmOperator *) |
Variables | |
| TransModeInfo | TransMode_rotate |
|
static |
Definition at line 336 of file transform_mode_rotate.cc.
References applyNumInput(), TransCon::applyRot, applyRotationValue(), TransInfo::area, clip_uv_transform_rotate(), clipUVData(), TransInfo::con, CON_APPLY, ED_area_status_text(), TransInfo::flag, hasNumInput(), headerRotation(), large_rotation_limit(), TransCon::mode, negate_v3_v3(), TransInfo::num, TransInfo::orient_axis, recalc_data(), TransInfo::spacemtx, str, T_CLIP_UV, T_PROP_EDIT, transform_snap_increment(), transform_snap_is_active(), transform_snap_mixed_apply(), UI_MAX_DRAW_STR, validSnap(), TransInfo::values, TransInfo::values_final, TransInfo::values_inside_constraints, and TransInfo::values_modal_offset.
Definition at line 383 of file transform_mode_rotate.cc.
References TransCon::applyRot, axis_angle_normalized_to_mat3(), TransInfo::center_global, TransInfo::con, CON_APPLY, copy_m4_m3(), mat4, TransCon::mode, mul_m4_m4m4(), negate_v3_v3(), TransInfo::orient_axis, TransInfo::spacemtx, transform_pivot_set_m4(), and TransInfo::values_final.
|
static |
Definition at line 223 of file transform_mode_rotate.cc.
References angle(), BLI_parallel_range_settings_defaults(), BLI_task_parallel_range(), copy_v3_v3(), float, FOREACH_TRANS_DATA_CONTAINER, large_rotation_limit(), M_PI, rmat_cache_init(), TransDataArgs_RotateTLS::rmc, TransDataArgs_Rotate::t, TD_SKIP, transdata_elem_rotate(), transdata_elem_rotate_fn(), and TRANSDATA_THREAD_LIMIT.
Referenced by applyRotation().
Definition at line 202 of file transform_mode_rotate.cc.
References getSnapPoint(), RotationBetween(), TransSnap::snap_source, and TransInfo::tsnap.
|
static |
Definition at line 305 of file transform_mode_rotate.cc.
References angle(), ELEM, max_i(), and uv_rotation_in_clip_bounds_test().
Referenced by applyRotation().
|
static |
Definition at line 402 of file transform_mode_rotate.cc.
References B_UNIT_ROTATION, BKE_report(), copy_v3_fl(), TransInfo::flag, NumInput::idx_max, TransInfo::idx_max, initMouseInputMode(), initSnapAngleIncrements(), INPUT_ANGLE, TransInfo::mode, TransInfo::mouse, TransInfo::num, TransInfo::reports, RPT_ERROR, TransInfo::scene, TransInfo::snap, SPACE_ACTION, TransInfo::spacetype, TransInfo::state, UnitSettings::system, UnitSettings::system_rotation, T_2D_EDIT, T_NO_CONSTRAINT, TFM_ROTATION, TRANS_CANCEL, transform_mode_default_modal_orientation_set(), Scene::unit, NumInput::unit_sys, NumInput::unit_type, NumInput::unit_use_radians, USER_UNIT_ROT_RADIANS, V3D_ORIENT_VIEW, and NumInput::val_inc.
Definition at line 211 of file transform_mode_rotate.cc.
References angle(), fabsf, float, fmodf, and M_PI.
Referenced by applyRotation(), and applyRotationValue().
|
static |
Definition at line 43 of file transform_mode_rotate.cc.
References axis_angle_normalized_to_mat3(), RotateMatrixCache::do_update_matrix, and RotateMatrixCache::mat.
Referenced by applyRotationValue().
|
static |
Definition at line 49 of file transform_mode_rotate.cc.
References RotateMatrixCache::do_update_matrix.
Referenced by transdata_elem_rotate().
|
static |
Definition at line 54 of file transform_mode_rotate.cc.
References axis_angle_normalized_to_mat3(), RotateMatrixCache::do_update_matrix, and RotateMatrixCache::mat.
Referenced by transdata_elem_rotate().
Definition at line 166 of file transform_mode_rotate.cc.
References angle(), angle_signed_on_axis_v3v3_v3(), TransCon::applyRot, atan2f, TransInfo::center_global, TransInfo::con, CON_APPLY, copy_m3_m4(), float, M_PI, TransCon::mode, mul_m3_v3(), sub_v3_v3v3(), and TransInfo::viewmat.
Referenced by ApplySnapRotation().
|
static |
Definition at line 84 of file transform_mode_rotate.cc.
References angle(), TransCon::applyRot, TransInfo::around, axis_angle_normalized_to_mat3(), TransInfo::con, copy_v3_v3(), ElementRotation(), TransData::ext, fabsf, TransData::factor, TransInfo::flag, TransDataExtension::irot, RotateMatrixCache::mat, rmat_cache_reset(), rmat_cache_update(), TransDataExtension::rot, ROT_MODE_EUL, TransDataExtension::rotOrder, and T_PROP_EDIT.
Referenced by applyRotationValue(), and transdata_elem_rotate_fn().
|
static |
Definition at line 139 of file transform_mode_rotate.cc.
References TransDataArgs_RotateTLS::rmc, TD_SKIP, and transdata_elem_rotate().
Referenced by applyRotationValue().
Definition at line 272 of file transform_mode_rotate.cc.
References add_v2_v2(), TransInfo::center_global, cosf, TransData::factor, FOREACH_TRANS_DATA_CONTAINER, sinf, sub_v2_v2v2(), and TD_SKIP.
Referenced by clip_uv_transform_rotate().
| TransModeInfo TransMode_rotate |
Definition at line 431 of file transform_mode_rotate.cc.
Referenced by mode_info_get().