|
Blender
V2.93
|
#include "ED_numinput.h"#include "ED_transform.h"#include "ED_view3d.h"#include "RE_engine.h"#include "DNA_listBase.h"#include "DNA_object_enums.h"#include "DEG_depsgraph.h"#include "transform_data.h"Go to the source code of this file.
Classes | |
| struct | TransSnapPoint |
| struct | TransSnap |
| struct | TransCon |
| struct | MouseInput |
| struct | TransCustomData |
| struct | TransCenterData |
| struct | TransCustomDataContainer |
| struct | TransDataContainer |
| struct | TransInfo |
Macros | |
| #define | TRANS_CUSTOM_DATA_ELEM_MAX (sizeof(TransCustomDataContainer) / sizeof(TransCustomData)) |
Typedefs | |
| typedef struct TransSnapPoint | TransSnapPoint |
| typedef struct TransSnap | TransSnap |
| typedef struct TransCon | TransCon |
| typedef struct MouseInput | MouseInput |
| typedef struct TransCustomData | TransCustomData |
| typedef struct TransCenterData | TransCenterData |
| typedef struct TransCustomDataContainer | TransCustomDataContainer |
| typedef struct TransDataContainer | TransDataContainer |
| typedef struct TransInfo | TransInfo |
Gizmo | |
| #define | GIZMO_AXIS_LINE_WIDTH 2.0f |
| bool | gimbal_axis (struct Object *ob, float gmat[3][3]) |
| void | drawDial3d (const TransInfo *t) |
Mouse Input | |
| enum | MouseInputMode { INPUT_NONE , INPUT_VECTOR , INPUT_SPRING , INPUT_SPRING_FLIP , INPUT_SPRING_DELTA , INPUT_ANGLE , INPUT_ANGLE_SPRING , INPUT_TRACKBALL , INPUT_HORIZONTAL_RATIO , INPUT_HORIZONTAL_ABSOLUTE , INPUT_VERTICAL_RATIO , INPUT_VERTICAL_ABSOLUTE , INPUT_CUSTOM_RATIO , INPUT_CUSTOM_RATIO_FLIP } |
| void | initMouseInput (TransInfo *t, MouseInput *mi, const float center[2], const int mval[2], const bool precision) |
| void | initMouseInputMode (TransInfo *t, MouseInput *mi, MouseInputMode mode) |
| void | applyMouseInput (struct TransInfo *t, struct MouseInput *mi, const int mval[2], float output[3]) |
| void | setCustomPoints (TransInfo *t, MouseInput *mi, const int start[2], const int end[2]) |
| void | setCustomPointsFromDirection (TransInfo *t, MouseInput *mi, const float dir[2]) |
| void | setInputPostFct (MouseInput *mi, void(*post)(struct TransInfo *t, float values[3])) |
| #define DRAWLIGHT 1 |
Definition at line 773 of file transform.h.
| #define FOREACH_TRANS_DATA_CONTAINER | ( | t, | |
| th | |||
| ) |
Definition at line 813 of file transform.h.
| #define FOREACH_TRANS_DATA_CONTAINER_INDEX | ( | t, | |
| th, | |||
| i | |||
| ) |
Definition at line 819 of file transform.h.
| #define GIZMO_AXIS_LINE_WIDTH 2.0f |
Definition at line 707 of file transform.h.
| #define TRANS_CUSTOM_DATA_ELEM_MAX (sizeof(TransCustomDataContainer) / sizeof(TransCustomData)) |
Definition at line 430 of file transform.h.
Definition at line 808 of file transform.h.
| #define TRANS_DATA_CONTAINER_FIRST_SINGLE | ( | t | ) | (BLI_assert((t)->data_container_len == 1), (&(t)->data_container[0])) |
Definition at line 810 of file transform.h.
| #define TRANSFORM_DIST_INVALID -FLT_MAX |
Definition at line 804 of file transform.h.
| #define TRANSFORM_SNAP_MAX_PX 100.0f |
Definition at line 803 of file transform.h.
| typedef struct MouseInput MouseInput |
| typedef struct TransCenterData TransCenterData |
| typedef struct TransCustomData TransCustomData |
| typedef struct TransCustomDataContainer TransCustomDataContainer |
Rule of thumb for choosing between mode/type:
mode (typically in transform.c).type (typically in transform_conversion.c). | typedef struct TransDataContainer TransDataContainer |
Container for Transform Data
Used to implement multi-object modes, so each object can have it's own data array as well as object matrix, local center etc.
Anything that can't be shared between all objects and doesn't make sense to store for every vertex (in the TransDataContainer.data).
| typedef struct TransSnapPoint TransSnapPoint |
| anonymous enum |
| Enumerator | |
|---|---|
| TFM_MODAL_CANCEL | |
| TFM_MODAL_CONFIRM | |
| TFM_MODAL_TRANSLATE | |
| TFM_MODAL_ROTATE | |
| TFM_MODAL_RESIZE | |
| TFM_MODAL_SNAP_INV_ON | |
| TFM_MODAL_SNAP_INV_OFF | |
| TFM_MODAL_SNAP_TOGGLE | |
| TFM_MODAL_AXIS_X | |
| TFM_MODAL_AXIS_Y | |
| TFM_MODAL_AXIS_Z | |
| TFM_MODAL_PLANE_X | |
| TFM_MODAL_PLANE_Y | |
| TFM_MODAL_PLANE_Z | |
| TFM_MODAL_CONS_OFF | |
| TFM_MODAL_ADD_SNAP | |
| TFM_MODAL_REMOVE_SNAP | |
| TFM_MODAL_PROPSIZE_UP | |
| TFM_MODAL_PROPSIZE_DOWN | |
| TFM_MODAL_AUTOIK_LEN_INC | |
| TFM_MODAL_AUTOIK_LEN_DEC | |
| TFM_MODAL_EDGESLIDE_UP | |
| TFM_MODAL_EDGESLIDE_DOWN | |
| TFM_MODAL_PROPSIZE | For analog input, like track-pad. |
| TFM_MODAL_INSERTOFS_TOGGLE_DIR | Node editor insert offset (also called auto-offset) direction toggle. |
| TFM_MODAL_AUTOCONSTRAINT | |
| TFM_MODAL_AUTOCONSTRAINTPLANE | |
| TFM_MODAL_PRECISION | |
Definition at line 250 of file transform.h.
| enum eRedrawFlag |
| Enumerator | |
|---|---|
| TREDRAW_NOTHING | |
| TREDRAW_HARD | |
| TREDRAW_SOFT | |
Definition at line 197 of file transform.h.
| enum eTConstraint |
TransCon.mode, #TransInfo.con.mode
Definition at line 175 of file transform.h.
| enum eTContext |
| Enumerator | |
|---|---|
| CTX_NONE | |
| CTX_CAMERA | |
| CTX_CURSOR | |
| CTX_EDGE_DATA | |
| CTX_GPENCIL_STROKES | |
| CTX_MASK | |
| CTX_MOVIECLIP | |
| CTX_OBJECT | |
| CTX_PAINT_CURVE | |
| CTX_POSE_BONE | |
| CTX_TEXTURE_SPACE | |
| CTX_NO_PET | |
| CTX_NO_MIRROR | |
| CTX_AUTOCONFIRM | |
| CTX_OBMODE_XFORM_OBDATA | When transforming object's, adjust the object data so it stays in the same place. |
| CTX_OBMODE_XFORM_SKIP_CHILDREN | Transform object parents without moving their children. |
Definition at line 75 of file transform.h.
| enum eTConvertType |
Definition at line 214 of file transform.h.
| enum eTFlag |
| Enumerator | |
|---|---|
| T_EDIT |
|
| T_POINTS | Transform points, having no rotation/scale. |
| T_NO_CONSTRAINT | restrictions flags |
| T_NULL_ONE | |
| T_NO_ZERO | |
| T_ALL_RESTRICTIONS | |
| T_PROP_EDIT | |
| T_PROP_CONNECTED | |
| T_PROP_PROJECTED | |
| T_PROP_EDIT_ALL | |
| T_V3D_ALIGN | |
| T_2D_EDIT | For 2D views such as UV or f-curve. |
| T_CLIP_UV | |
| T_AUTOIK | Auto-IK is on. |
| T_NO_MIRROR | Don't use mirror even if the data-block option is set. |
| T_INPUT_IS_VALUES_FINAL | To indicate that the value set in the |
| T_MODAL | To specify if we save back settings at the end. |
| T_NO_PROJECT | No re-topology (projection). |
| T_RELEASE_CONFIRM | |
| T_ALT_TRANSFORM | Alternative transformation. used to add offset to tracking markers. |
| T_OVERRIDE_CENTER | #TransInfo.center has been set, don't change it. |
| T_MODAL_CURSOR_SET | |
| T_CLNOR_REBUILD | |
| T_AUTOMERGE | Merges unselected into selected after transforming (runs after transforming). |
| T_AUTOSPLIT | Runs auto-merge & splits. |
Definition at line 100 of file transform.h.
| enum eTHelpline |
| Enumerator | |
|---|---|
| HLP_NONE | |
| HLP_SPRING | |
| HLP_ANGLE | |
| HLP_HARROW | |
| HLP_VARROW | |
| HLP_CARROW | |
| HLP_TRACKBALL | |
Definition at line 204 of file transform.h.
| enum eTModifier |
| Enumerator | |
|---|---|
| MOD_CONSTRAINT_SELECT_AXIS | |
| MOD_PRECISION | |
| MOD_SNAP | |
| MOD_SNAP_INVERT | |
| MOD_CONSTRAINT_SELECT_PLANE | |
Definition at line 156 of file transform.h.
| enum eTSnap |
| Enumerator | |
|---|---|
| SNAP_FORCED | |
| TARGET_INIT | |
| TARGET_GRID_INIT | |
| POINT_INIT | |
| MULTI_POINTS | |
Definition at line 165 of file transform.h.
| enum eTState |
| Enumerator | |
|---|---|
| TRANS_STARTING | |
| TRANS_RUNNING | |
| TRANS_CONFIRM | |
| TRANS_CANCEL | |
Definition at line 189 of file transform.h.
| enum MouseInputMode |
Definition at line 726 of file transform.h.
Definition at line 381 of file transform.c.
References CTX_MASK, CTX_MOVIECLIP, CTX_PAINT_CURVE, ED_space_image_get_size(), SpaceImage::flag, height, SI_COORDFLOATS, SPACE_CLIP, SPACE_IMAGE, t, TFM_TRANSLATION, and width.
Referenced by headerTranslation().
| void applyMouseInput | ( | struct TransInfo * | t, |
| struct MouseInput * | mi, | ||
| const int | mval[2], | ||
| float | output[3] | ||
| ) |
Definition at line 419 of file transform_input.c.
References MouseInput::accum, add_v3_v3(), MouseInput::apply, CON_APPLY, copy_v3_v3(), double(), MouseInput::imval, is_zero_v3(), mul_v3_m3v3(), NULL, output, MouseInput::post, MouseInput::precision, MouseInput::precision_factor, MouseInput::prev, t, MouseInput::use_virtual_mval, and MouseInput::virtual_mval.
Referenced by calcEdgeSlideCustomPoints(), calcVertSlideCustomPoints(), initTransform(), and transformEvent().
| void applyTransObjects | ( | TransInfo * | t | ) |
Definition at line 767 of file transform_generics.c.
References copy_v3_v3(), data, TransDataContainer::data, TransDataContainer::data_len, TransData::ext, TransDataExtension::irot, TransDataExtension::isize, recalcData(), TransDataExtension::rot, TransDataExtension::size, t, and TRANS_DATA_CONTAINER_FIRST_SINGLE.
| void calculateCenter | ( | TransInfo * | t | ) |
Definition at line 1108 of file transform_generics.c.
References calculateCenter2D(), calculateCenter_FromAround(), calculateCenterLocal(), copy_v3_v3(), CTX_CAMERA, CTX_OBJECT, ED_view3d_calc_zfac(), normalize_v3(), NULL, projectFloatView(), RGN_TYPE_WINDOW, SPACE_VIEW3D, t, T_OVERRIDE_CENTER, and TFM_TRANSLATION.
Referenced by calculateTransformCenter(), and initTransform().
| void calculateCenter2D | ( | TransInfo * | t | ) |
Definition at line 859 of file transform_generics.c.
References BLI_assert, is_zero_v3(), projectFloatView(), and t.
Referenced by calculateCenter(), and setTransformViewMatrices().
| select_only | only get active center from data being transformed. |
Definition at line 1028 of file transform_generics.c.
References PaintCurve::add_index, BASACT, BASE_SELECTED, PaintCurvePoint::bez, BKE_paint_get_active(), Paint::brush, copy_v3_v3(), CTX_PAINT_CURVE, CTX_POSE_BONE, ED_object_calc_active_center_for_editmode(), ED_object_calc_active_center_for_posemode(), Base::flag, mul_m4_v3(), OBACT, TransDataContainer::obedit, Object::obmat, Brush::paint_curve, PaintCurve::points, SPACE_VIEW3D, t, TRANS_DATA_CONTAINER_FIRST_OK, and BezTriple::vec.
Referenced by calculateCenter_FromAround(), and TargetSnapActive().
Definition at line 1000 of file transform_generics.c.
References center, FOREACH_TRANS_DATA_CONTAINER, INIT_MINMAX, max, mid_v3_v3v3(), min, minmax_v3v3_v3(), t, and transdata_center_global_get().
Referenced by calculateCenter_FromAround().
Definition at line 879 of file transform_generics.c.
References copy_v3_v3(), CTX_PAINT_CURVE, ED_view3d_project_float_global(), t, V3D_PROJ_RET_OK, and V3D_PROJ_TEST_NOP.
Referenced by calculateCenter_FromAround(), and initBend().
Definition at line 895 of file transform_generics.c.
References BKE_mask_coord_from_image(), BKE_mask_coord_from_movieclip(), BLI_assert, SpaceClip::clip, CTX_MASK, CTX_PAINT_CURVE, SpaceImage::cursor, SpaceClip::cursor, SpaceImage::image, SpaceImage::iuser, NULL, SPACE_CLIP, SPACE_IMAGE, t, UI_view2d_view_to_region_x(), UI_view2d_view_to_region_y(), and SpaceClip::user.
Referenced by calculateCenter_FromAround().
Definition at line 940 of file transform_generics.c.
References RenderData::cfra, SpaceGraph::cursorTime, SpaceGraph::cursorVal, float(), if(), SpaceGraph::mode, Scene::r, scene, SIPO_MODE_DRIVERS, and t.
Referenced by calculateCenter_FromAround().
Definition at line 865 of file transform_generics.c.
References copy_v3_v3(), FOREACH_TRANS_DATA_CONTAINER, mul_v3_m4v3(), and t.
Referenced by calculateCenter(), initBend(), and setTransformViewMatrices().
Definition at line 974 of file transform_generics.c.
References add_v3_v3(), center, copy_v3_v3(), FOREACH_TRANS_DATA_CONTAINER, mul_v3_fl(), t, and transdata_center_global_get().
Referenced by calculateCenter_FromAround().
| void calculatePropRatio | ( | TransInfo * | t | ) |
Definition at line 1161 of file transform_generics.c.
References BLI_rng_get_float(), BLI_rng_new(), BLI_strncpy(), TransData::dist, TransData::factor, FOREACH_TRANS_DATA_CONTAINER, IFACE_, N_, NULL, PIL_check_seconds_timer_i(), PROP_CONST, PROP_INVSQUARE, PROP_LIN, PROP_RANDOM, PROP_ROOT, PROP_SHARP, PROP_SMOOTH, PROP_SPHERE, TransData::rdist, restoreElement(), sqrtf, t, T_PROP_CONNECTED, T_PROP_EDIT, TD_NOTCONNECTED, TD_SELECTED, and UINT_MAX.
Referenced by initTransform(), and transformEvent().
| bool checkUseAxisMatrix | ( | TransInfo * | t | ) |
Definition at line 1965 of file transform.c.
References ELEM, OB_ARMATURE, OB_CURVE, OB_MBALL, OB_MESH, t, T_EDIT, and V3D_AROUND_LOCAL_ORIGINS.
Referenced by setUserConstraint().
Definition at line 180 of file transform.c.
References convertViewVec2D(), convertViewVec2D_mask(), CTX_MASK, CTX_PAINT_CURVE, ED_view3d_win_to_delta(), ELEM, float(), RGN_TYPE_WINDOW, SPACE_CLIP, SPACE_GRAPH, SPACE_IMAGE, SPACE_NLA, SPACE_NODE, SPACE_SEQ, SPACE_VIEW3D, t, and zero_v3().
Referenced by drawConstraint(), and InputVector().
| void drawDial3d | ( | const TransInfo * | t | ) |
Definition at line 1295 of file transform_gizmo_3d.c.
References activeSnap(), BLI_assert, wmGizmo::color, CON_APPLY, CON_AXIS0, CON_AXIS1, CON_AXIS2, copy_m4_m4(), copy_v3_v3(), cross_v3_v3v3(), CTX_PAINT_CURVE, dot_v3v3(), ED_GIZMO_DIAL_DRAW_FLAG_ANGLE_VALUE, ED_gizmotypes_dial_3d_draw_util(), ED_view3d_pixel_size_no_ui_scale(), ED_view3d_win_to_3d_on_plane(), GIZMO_AXIS_LINE_WIDTH, gizmo_get_axis_color(), GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, GPU_DEPTH_LESS_EQUAL, GPU_DEPTH_NONE, GPU_depth_test(), GPU_line_smooth(), MAN_AXIS_RANGE_ROT_END, MAN_AXIS_RANGE_ROT_START, MAN_AXIS_ROT_C, MAN_AXIS_ROT_X, MAN_AXIS_ROT_Y, MAN_AXIS_ROT_Z, MOD_PRECISION, TransCon::mode, mul_mat3_m4_fl(), negate_v3_v3(), normalize_v3(), NULL, ortho_basis_v3v3_v3(), SCE_SNAP_MODE_GRID, SCE_SNAP_MODE_INCREMENT, SPACE_VIEW3D, sub_v3_v3(), t, TFM_ROTATION, transformModeUseSnap(), UI_DPI_FAC, and wm_gizmomap_modal_get().
Referenced by drawTransformView().
| void drawLine | ( | TransInfo * | t, |
| const float | center[3], | ||
| const float | dir[3], | ||
| char | axis, | ||
| short | options | ||
| ) |
Definition at line 69 of file transform_generics.c.
References add_v3_v3v3(), center, View3D::clip_end, col, copy_v3_v3(), DRAWLIGHT, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_matrix_pop(), GPU_matrix_push(), GPU_PRIM_LINES, GPU_SHADER_3D_UNIFORM_COLOR, GPU_vertformat_attr_add(), immBegin(), immBindBuiltinProgram(), immEnd(), immUnbindProgram(), immUniformColor3ubv(), immVertex3fv(), immVertexFormat(), mul_v3_fl(), options, pos, SPACE_VIEW3D, sub_v3_v3v3(), t, TH_GRID, UI_GetThemeColor3ubv(), UI_make_axis_color(), v1, and v2.
Referenced by drawConstraint(), and drawObjectConstraint().
| void freeCustomNormalArray | ( | TransInfo * | t, |
| TransDataContainer * | tc, | ||
| TransCustomData * | custom_data | ||
| ) |
Definition at line 54 of file transform_mode_edge_rotate_normal.c.
References BKE_editmesh_from_object(), BKE_lnor_space_custom_normal_to_data(), BMEditMesh::bm, bm, BM_loop_normal_editdata_array_free(), BMLoopNorEditData::clnors_data, TransDataContainer::custom, TransCustomData::data, TransCustomData::free_cb, BMLoopNorEditDataArray::lnor_editdata, BMesh::lnor_spacearr, BMLoopNorEditData::loop_index, MLoopNorSpaceArray::lspacearr, TransCustomDataContainer::mode, BMLoopNorEditData::niloc, NULL, TransDataContainer::obedit, t, BMLoopNorEditDataArray::totloop, and TRANS_CANCEL.
Referenced by storeCustomLNorValue().
| void freeTransCustomDataForMode | ( | TransInfo * | t | ) |
Needed for mode switching.
Definition at line 678 of file transform_generics.c.
References FOREACH_TRANS_DATA_CONTAINER, freeTransCustomData(), NULL, and t.
Referenced by resetTransModal().
Return false when no gimbal for selection.
Definition at line 571 of file transform_gizmo_3d.c.
References Bone::arm_mat, axis_angle_to_gimbal_axis(), BKE_pose_channel_active(), bPoseChannel::bone, BONE_HINGE, Bone::bone_mat, copy_m3_m4(), bPoseChannel::eul, eulO_to_gimbal_axis(), Bone::flag, Object::mode, mul_m3_m3m3(), normalize_m3(), OB_MODE_POSE, Object::obmat, bPoseChannel::parent, Object::parent, bPoseChannel::pose_mat, Object::rot, ROT_MODE_AXISANGLE, bPoseChannel::rotAngle, Object::rotAngle, bPoseChannel::rotAxis, Object::rotAxis, bPoseChannel::rotmode, Object::rotmode, and test_rotmode_euler().
Referenced by ED_transform_calc_orientation_from_type_ex().
| void initMouseInput | ( | TransInfo * | t, |
| MouseInput * | mi, | ||
| const float | center[2], | ||
| const int | mval[2], | ||
| const bool | precision | ||
| ) |
Referenced by initTimeScale(), and initTransform().
| void initMouseInputMode | ( | TransInfo * | t, |
| MouseInput * | mi, | ||
| MouseInputMode | mode | ||
| ) |
Definition at line 297 of file transform_input.c.
References MouseInput::apply, calcSpringFactor(), CTX_wm_window(), data, MouseInput::data, MouseInput::factor, HLP_ANGLE, HLP_CARROW, HLP_HARROW, HLP_NONE, HLP_SPRING, HLP_TRACKBALL, HLP_VARROW, MouseInput::imval, INPUT_ANGLE, INPUT_ANGLE_SPRING, INPUT_CUSTOM_RATIO, INPUT_CUSTOM_RATIO_FLIP, INPUT_HORIZONTAL_ABSOLUTE, INPUT_HORIZONTAL_RATIO, INPUT_NONE, INPUT_SPRING, INPUT_SPRING_DELTA, INPUT_SPRING_FLIP, INPUT_TRACKBALL, INPUT_VECTOR, INPUT_VERTICAL_ABSOLUTE, INPUT_VERTICAL_RATIO, InputAngle(), InputAngleSpring(), InputCustomRatio(), InputCustomRatioFlip(), InputHorizontalAbsolute(), InputHorizontalRatio(), InputSpring(), InputSpringDelta(), InputSpringFlip(), InputTrackBall(), InputVector(), InputVerticalAbsolute(), InputVerticalRatio(), MEM_callocN, MEM_freeN, NULL, MouseInput::precision_factor, t, T_MODAL, T_MODAL_CURSOR_SET, MouseInput::use_virtual_mval, WM_cursor_modal_set(), WM_CURSOR_NONE, and WM_CURSOR_NSEW_SCROLL.
Referenced by initAlign(), initBakeTime(), initBend(), initBevelWeight(), initBoneEnvelope(), initBoneRoll(), initBoneSize(), initCrease(), initCurveShrinkFatten(), initEdgeSlide_ex(), initGPOpacity(), initGPShrinkFatten(), initMaskShrinkFatten(), initMirror(), initNormalRotation(), initPushPull(), initResize(), initRotation(), initSeqSlide(), initShear_mouseInputMode(), initShrinkFatten(), initSkinResize(), initTilt(), initTimeScale(), initTimeSlide(), initTimeTranslate(), initToSphere(), initTrackball(), initTranslation(), and initVertSlide_ex().
| bool initTransform | ( | struct bContext * | C, |
| struct TransInfo * | t, | ||
| struct wmOperator * | op, | ||
| const struct wmEvent * | event, | ||
| int | mode | ||
| ) |
| void initTransInfo | ( | struct bContext * | C, |
| TransInfo * | t, | ||
| struct wmOperator * | op, | ||
| const struct wmEvent * | event | ||
| ) |
Referenced by calculateTransformCenter(), and initTransform().
Definition at line 687 of file transform_generics.c.
References Freestyle::a, BLI_freelistN(), BLI_rng_free(), C, CTX_MASK, CTX_PAINT_CURVE, CTX_wm_window(), ED_region_draw_cb_exit(), ED_uvedit_live_unwrap_end(), ELEM, SpaceImage::flag, FOREACH_TRANS_DATA_CONTAINER, freeSnapping(), freeTransCustomDataContainer(), View3D::gizmo_flag, TransData::hdata, MEM_freeN, MEM_SAFE_FREE, NULL, OB_CURVE, OB_GPENCIL, OB_SURF, SI_LIVE_UNWRAP, SPACE_GRAPH, SPACE_IMAGE, SPACE_VIEW3D, t, T_MODAL, T_MODAL_CURSOR_SET, TD_BEZTRIPLE, TRANS_CANCEL, WM_cursor_modal_restore(), and WM_paint_cursor_end().
Referenced by calculateTransformCenter(), initTransform(), and transformEnd().
Definition at line 376 of file transform.c.
References projectFloatViewEx(), t, and V3D_PROJ_TEST_NOP.
Referenced by calculateCenter(), calculateCenter2D(), initTimeScale(), and setNearestAxis3d().
| void projectFloatViewEx | ( | TransInfo * | t, |
| const float | vec[3], | ||
| float | adr[2], | ||
| const eV3DProjTest | flag | ||
| ) |
Definition at line 348 of file transform.c.
References Freestyle::a, CTX_PAINT_CURVE, ED_view3d_project_float_global(), projectIntView(), RGN_TYPE_WINDOW, SPACE_VIEW3D, t, and V3D_PROJ_RET_OK.
Referenced by projectFloatView(), and transform_draw_cursor_draw().
Definition at line 343 of file transform.c.
References projectIntViewEx(), t, and V3D_PROJ_TEST_NOP.
Referenced by projectFloatViewEx().
| void projectIntViewEx | ( | TransInfo * | t, |
| const float | vec[3], | ||
| int | adr[2], | ||
| const eV3DProjTest | flag | ||
| ) |
Definition at line 230 of file transform.c.
References BKE_mask_coord_to_image(), BKE_mask_coord_to_movieclip(), BLI_assert, SpaceClip::clip, CTX_MASK, CTX_MOVIECLIP, CTX_PAINT_CURVE, ED_clip_point_stable_pos__reverse(), ED_image_point_pos__reverse(), ED_space_clip_get_clip(), ED_view3d_project_int_global(), ELEM, SpaceAction::flag, SpaceImage::image, SpaceImage::iuser, RGN_TYPE_WINDOW, SACTION_DRAWTIME, SPACE_ACTION, SPACE_CLIP, SPACE_GRAPH, SPACE_IMAGE, SPACE_NLA, SPACE_NODE, SPACE_SEQ, SPACE_VIEW3D, t, UI_view2d_view_to_region(), SpaceClip::user, v, and V3D_PROJ_RET_OK.
Referenced by projectIntView().
| void recalcData | ( | TransInfo * | t | ) |
Definition at line 1695 of file transform_convert.c.
References flushTransNodes(), flushTransPaintCurve(), recalcData_actedit(), recalcData_cursor(), recalcData_cursor_image(), recalcData_curve(), recalcData_edit_armature(), recalcData_gpencil_strokes(), recalcData_graphedit(), recalcData_lattice(), recalcData_mask_common(), recalcData_mesh(), recalcData_mesh_skin(), recalcData_nla(), recalcData_obedit(), recalcData_objects(), recalcData_particles(), recalcData_pose(), recalcData_sculpt(), recalcData_sequencer(), recalcData_texspace(), recalcData_tracking(), recalcData_uv(), t, TC_ACTION_DATA, TC_ARMATURE_VERTS, TC_CURSOR_IMAGE, TC_CURSOR_VIEW3D, TC_CURVE_VERTS, TC_GPENCIL, TC_GRAPH_EDIT_DATA, TC_LATTICE_VERTS, TC_MASKING_DATA, TC_MBALL_VERTS, TC_MESH_EDGES, TC_MESH_SKIN, TC_MESH_UV, TC_MESH_VERTS, TC_NLA_DATA, TC_NODE_DATA, TC_NONE, TC_OBJECT, TC_OBJECT_TEXSPACE, TC_PAINT_CURVE_VERTS, TC_PARTICLE_VERTS, TC_POSE, TC_SCULPT, TC_SEQ_DATA, and TC_TRACKING_DATA.
Referenced by applyAlign(), applyBakeTime(), applyBevelWeight(), applyBoneEnvelope(), applyBoneRoll(), applyBoneSize(), applyCrease(), applyCurveShrinkFatten(), applyEdgeSlide(), applyGPOpacity(), applyGPShrinkFatten(), applyMaskShrinkFatten(), applyMirror(), applyNormalRotation(), applyPushPull(), applyResize(), applyRotation(), applySeqSlide(), applyShear(), applyShrinkFatten(), applySkinResize(), applyTilt(), applyTimeScale(), applyTimeSlide(), applyTimeTranslate(), applyToSphere(), applyTrackball(), applyTranslation(), applyTransObjects(), applyVertSlide(), Bend(), and restoreTransObjects().
Definition at line 406 of file transform.c.
References CTX_MASK, CTX_MOVIECLIP, ED_space_image_get_size(), SpaceImage::flag, height, SI_COORDFLOATS, SPACE_CLIP, SPACE_IMAGE, t, TFM_TRANSLATION, and width.
Referenced by applyTranslation().
| void resetTransModal | ( | TransInfo * | t | ) |
Free data before switching to another mode.
Definition at line 112 of file transform_generics.c.
References freeTransCustomDataForMode(), and t.
Referenced by transformEvent().
| void resetTransRestrictions | ( | TransInfo * | t | ) |
Definition at line 117 of file transform_generics.c.
References t, and T_ALL_RESTRICTIONS.
Referenced by transformEvent().
| void restoreTransObjects | ( | TransInfo * | t | ) |
Definition at line 826 of file transform_generics.c.
References data, FOREACH_TRANS_DATA_CONTAINER, TransData2D::h1, TransData2D::h2, TransData2D::ih1, TransData2D::ih2, recalcData(), restoreElement(), t, transdata_restore_basic(), and unit_m3().
Referenced by transformEnd(), and transformEvent().
| void saveTransform | ( | bContext * | C, |
| TransInfo * | t, | ||
| wmOperator * | op | ||
| ) |
Definition at line 1426 of file transform.c.
References C, CON_APPLY, CON_AXIS0, CON_AXIS1, CON_AXIS2, constraintModeToIndex(), CTX_data_tool_settings(), CTX_MASK, CTX_NO_PET, ELEM, wmOperator::flag, MOD_SNAP, Object::mode, NULL, OB_MODE_OBJECT, OBACT, OP_IS_REPEAT, PROP_EDIT_CONNECTED, PROP_EDIT_PROJECTED, PROP_EDIT_USE, ToolSettings::prop_mode, ToolSettings::proportional_action, ToolSettings::proportional_edit, ToolSettings::proportional_fcurve, ToolSettings::proportional_mask, ToolSettings::proportional_objects, ToolSettings::proportional_size, wmOperator::ptr, RNA_boolean_set(), RNA_enum_set(), RNA_float_set(), RNA_float_set_array(), RNA_property_array_check(), RNA_property_boolean_set(), RNA_property_boolean_set_array(), RNA_property_enum_get(), RNA_property_enum_set(), RNA_property_float_get(), RNA_property_float_set(), RNA_property_float_set_array(), RNA_property_is_set(), RNA_property_unset(), RNA_struct_find_property(), SCE_SNAP, ToolSettings::snap_flag, SPACE_ACTION, SPACE_GRAPH, t, T_ALT_TRANSFORM, T_MODAL, T_NO_MIRROR, T_PROP_CONNECTED, T_PROP_EDIT, T_PROP_EDIT_ALL, T_PROP_PROJECTED, TFM_SHRINKFATTEN, transformModeUseSnap(), UVCALC_TRANSFORM_CORRECT_SLIDE, V3D_ORIENT_CUSTOM_MATRIX, and WM_msg_publish_rna_prop.
Referenced by transformops_exit().
| void setCustomPoints | ( | TransInfo * | t, |
| MouseInput * | mi, | ||
| const int | start[2], | ||
| const int | end[2] | ||
| ) |
Referenced by calcEdgeSlideCustomPoints(), and calcVertSlideCustomPoints().
| void setCustomPointsFromDirection | ( | TransInfo * | t, |
| MouseInput * | mi, | ||
| const float | dir[2] | ||
| ) |
Definition at line 247 of file transform_input.c.
References abs(), BLI_ASSERT_UNIT_V2, MouseInput::imval, setCustomPoints(), and t.
Referenced by initShear_mouseInputMode().
| void setInputPostFct | ( | MouseInput * | mi, |
| void(*)(struct TransInfo *t, float values[3]) | post | ||
| ) |
Definition at line 414 of file transform_input.c.
References MouseInput::post.
Definition at line 113 of file transform.c.
References copy_v3_fl(), CTX_MASK, CTX_MOVIECLIP, CTX_PAINT_CURVE, ED_space_clip_get_aspect(), ED_space_clip_get_aspect_dimension_aware(), ED_space_image_get_aspect(), ED_space_image_get_uv_aspect(), SPACE_CLIP, SPACE_GRAPH, SPACE_IMAGE, and t.
Referenced by initTransInfo().
| void setTransformViewMatrices | ( | TransInfo * | t | ) |
Definition at line 89 of file transform.c.
References calculateCenter2D(), calculateCenterLocal(), copy_m4_m4(), CTX_PAINT_CURVE, RegionView3D::persinv, RegionView3D::persmat, RegionView3D::persp, RGN_TYPE_WINDOW, RV3D_ORTHO, SPACE_VIEW3D, t, unit_m4(), RegionView3D::viewinv, and RegionView3D::viewmat.
Referenced by initTransInfo().
| bool transdata_check_local_islands | ( | TransInfo * | t, |
| short | around | ||
| ) |
Definition at line 79 of file transform.c.
References CTX_CURSOR, CTX_TEXTURE_SPACE, ELEM, OB_GPENCIL, OB_MESH, t, and V3D_AROUND_LOCAL_ORIGINS.
Referenced by initTransInfo(), and set_prop_dist().
Rotate an element, low level code, ignore protected channels. (use for objects or pose-bones) Similar to ElementRotation.
Definition at line 1286 of file transform_generics.c.
References angle(), axis_angle_to_mat3(), copy_qt_qt(), copy_v3_v3(), TransDataExtension::dquat, TransDataExtension::drot, eulO_to_mat3(), TransData::ext, invert_m3_m3(), TransDataExtension::iquat, TransDataExtension::irot, TransDataExtension::irotAngle, TransDataExtension::irotAxis, mat3_to_axis_angle(), mat3_to_compatible_eulO(), mat3_to_quat(), TransData::mtx, mul_m3_m3m3(), normalize_qt_qt(), TransDataExtension::quat, quat_to_mat3(), TransDataExtension::rot, ROT_MODE_AXISANGLE, ROT_MODE_QUAT, TransDataExtension::rotAngle, TransDataExtension::rotAxis, TransDataExtension::rotOrder, TransData::smtx, and unit_m3().
Referenced by applyProject().
| struct wmKeyMap* transform_modal_keymap | ( | struct wmKeyConfig * | keyconf | ) |
Definition at line 657 of file transform.c.
References NULL, NUM_MODAL_INCREMENT_DOWN, NUM_MODAL_INCREMENT_UP, wmKeyMap::poll_modal_item, TFM_MODAL_ADD_SNAP, TFM_MODAL_AUTOCONSTRAINT, TFM_MODAL_AUTOCONSTRAINTPLANE, TFM_MODAL_AUTOIK_LEN_DEC, TFM_MODAL_AUTOIK_LEN_INC, TFM_MODAL_AXIS_X, TFM_MODAL_AXIS_Y, TFM_MODAL_AXIS_Z, TFM_MODAL_CANCEL, TFM_MODAL_CONFIRM, TFM_MODAL_CONS_OFF, TFM_MODAL_EDGESLIDE_DOWN, TFM_MODAL_EDGESLIDE_UP, TFM_MODAL_INSERTOFS_TOGGLE_DIR, TFM_MODAL_PLANE_X, TFM_MODAL_PLANE_Y, TFM_MODAL_PLANE_Z, TFM_MODAL_PRECISION, TFM_MODAL_PROPSIZE, TFM_MODAL_PROPSIZE_DOWN, TFM_MODAL_PROPSIZE_UP, TFM_MODAL_REMOVE_SNAP, TFM_MODAL_RESIZE, TFM_MODAL_ROTATE, TFM_MODAL_SNAP_INV_OFF, TFM_MODAL_SNAP_INV_ON, TFM_MODAL_SNAP_TOGGLE, TFM_MODAL_TRANSLATE, transform_modal_item_poll(), and WM_modalkeymap_ensure().
Referenced by ED_keymap_transform().
| struct Object* transform_object_deform_pose_armature_get | ( | const TransInfo * | t, |
| struct Object * | ob | ||
| ) |
Definition at line 1386 of file transform_generics.c.
References BASE_VISIBLE, BKE_modifiers_is_deformed_by_armature(), BKE_view_layer_base_find(), Object::mode, NULL, OB_MODE_ALL_WEIGHT_PAINT, OB_MODE_POSE, and t.
Referenced by convert_type_get(), and transform_orientation_matrix_get().
Definition at line 1891 of file transform.c.
References C, CTX_AUTOCONFIRM, NULL, selectConstraint(), t, TRANS_CONFIRM, TREDRAW_HARD, TREDRAW_NOTHING, TREDRAW_SOFT, and viewRedrawForce().
Referenced by drawTransformApply(), transform_exec(), transform_invoke(), and transform_modal().
Definition at line 1925 of file transform.c.
References BKE_editmesh_from_object(), BMEditMesh::bm, BM_lnorspace_rebuild(), C, ELEM, FOREACH_TRANS_DATA_CONTAINER, NULL, OPERATOR_CANCELLED, OPERATOR_FINISHED, OPERATOR_RUNNING_MODAL, postTrans(), restoreTransObjects(), special_aftertrans_update(), t, T_CLNOR_REBUILD, TRANS_CANCEL, TRANS_RUNNING, TRANS_STARTING, viewRedrawForce(), and viewRedrawPost().
Referenced by transform_cancel(), transform_exec(), and transform_modal().