Blender
V3.3
|
#include "ED_numinput.h"
#include "ED_transform.h"
#include "ED_view3d.h"
#include "DNA_listBase.h"
#include "DNA_object_enums.h"
#include "DNA_scene_types.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 |
Enumerations | |
Keymap Modal Items | |
| |
enum | { TFM_MODAL_CANCEL = 1 , TFM_MODAL_CONFIRM = 2 , TFM_MODAL_TRANSLATE = 3 , TFM_MODAL_ROTATE = 4 , TFM_MODAL_RESIZE = 5 , TFM_MODAL_SNAP_INV_ON = 6 , TFM_MODAL_SNAP_INV_OFF = 7 , TFM_MODAL_SNAP_TOGGLE = 8 , TFM_MODAL_AXIS_X = 9 , TFM_MODAL_AXIS_Y = 10 , TFM_MODAL_AXIS_Z = 11 , TFM_MODAL_PLANE_X = 12 , TFM_MODAL_PLANE_Y = 13 , TFM_MODAL_PLANE_Z = 14 , TFM_MODAL_CONS_OFF = 15 , TFM_MODAL_ADD_SNAP = 16 , TFM_MODAL_REMOVE_SNAP = 17 , TFM_MODAL_PROPSIZE_UP = 20 , TFM_MODAL_PROPSIZE_DOWN = 21 , TFM_MODAL_AUTOIK_LEN_INC = 22 , TFM_MODAL_AUTOIK_LEN_DEC = 23 , TFM_MODAL_EDGESLIDE_UP = 24 , TFM_MODAL_EDGESLIDE_DOWN = 25 , TFM_MODAL_PROPSIZE = 26 , TFM_MODAL_INSERTOFS_TOGGLE_DIR = 27 , TFM_MODAL_AUTOCONSTRAINT = 28 , TFM_MODAL_AUTOCONSTRAINTPLANE = 29 , TFM_MODAL_PRECISION = 30 } |
Transform Types | |
#define | TRANS_CUSTOM_DATA_ELEM_MAX (sizeof(TransCustomDataContainer) / sizeof(TransCustomData)) |
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_pose (struct Object *ob, const struct bPoseChannel *pchan, float gmat[3][3]) |
bool | gimbal_axis_object (struct Object *ob, float gmat[3][3]) |
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], 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 | transform_input_update (TransInfo *t, const float fac) |
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 800 of file source/blender/editors/transform/transform.h.
Definition at line 848 of file source/blender/editors/transform/transform.h.
Definition at line 854 of file source/blender/editors/transform/transform.h.
#define GIZMO_AXIS_LINE_WIDTH 2.0f |
Definition at line 717 of file source/blender/editors/transform/transform.h.
#define T_ALL_RESTRICTIONS (T_NO_CONSTRAINT | T_NULL_ONE) |
Definition at line 145 of file source/blender/editors/transform/transform.h.
#define T_PROP_EDIT_ALL (T_PROP_EDIT | T_PROP_CONNECTED | T_PROP_PROJECTED) |
Definition at line 146 of file source/blender/editors/transform/transform.h.
#define TRANS_CUSTOM_DATA_ELEM_MAX (sizeof(TransCustomDataContainer) / sizeof(TransCustomData)) |
Definition at line 409 of file source/blender/editors/transform/transform.h.
Definition at line 843 of file source/blender/editors/transform/transform.h.
#define TRANS_DATA_CONTAINER_FIRST_SINGLE | ( | t | ) | (BLI_assert((t)->data_container_len == 1), (&(t)->data_container[0])) |
Definition at line 845 of file source/blender/editors/transform/transform.h.
#define TRANSFORM_DIST_INVALID -FLT_MAX |
Definition at line 839 of file source/blender/editors/transform/transform.h.
#define TRANSFORM_SNAP_MAX_PX 100.0f |
Definition at line 838 of file source/blender/editors/transform/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 its 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 216 of file source/blender/editors/transform/transform.h.
enum eRedrawFlag |
Enumerator | |
---|---|
TREDRAW_NOTHING | |
TREDRAW_SOFT | |
TREDRAW_HARD |
Definition at line 191 of file source/blender/editors/transform/transform.h.
enum eTConstraint |
TransCon.mode, #TransInfo.con.mode
Definition at line 169 of file source/blender/editors/transform/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_SEQUENCER_IMAGE | |
CTX_NO_PET | |
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. |
CTX_VIEW2D_EDGE_PAN | Enable edge scrolling in 2D views |
Definition at line 60 of file source/blender/editors/transform/transform.h.
enum eTFlag |
Enumerator | |
---|---|
T_EDIT |
|
T_POINTS | Transform points, having no rotation/scale. |
T_NO_CONSTRAINT | restrictions flags |
T_NULL_ONE | |
T_PROP_EDIT | |
T_PROP_CONNECTED | |
T_PROP_PROJECTED | |
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. |
T_EVENT_DRAG_START | Use drag-start position of the event, otherwise use the cursor coordinates (unmodified). |
T_NO_CURSOR_WRAP | No cursor wrapping on region bounds |
Definition at line 87 of file source/blender/editors/transform/transform.h.
enum eTHelpline |
Enumerator | |
---|---|
HLP_NONE | |
HLP_SPRING | |
HLP_ANGLE | |
HLP_HARROW | |
HLP_VARROW | |
HLP_CARROW | |
HLP_TRACKBALL |
Definition at line 198 of file source/blender/editors/transform/transform.h.
enum eTModifier |
Enumerator | |
---|---|
MOD_CONSTRAINT_SELECT_AXIS | |
MOD_PRECISION | |
MOD_SNAP | |
MOD_SNAP_INVERT | |
MOD_CONSTRAINT_SELECT_PLANE |
Definition at line 149 of file source/blender/editors/transform/transform.h.
enum eTSnap |
Enumerator | |
---|---|
SNAP_RESETTED | |
SNAP_FORCED | |
TARGET_INIT | |
TARGET_GRID_INIT | |
POINT_INIT | |
MULTI_POINTS |
Definition at line 158 of file source/blender/editors/transform/transform.h.
enum eTState |
Enumerator | |
---|---|
TRANS_STARTING | |
TRANS_RUNNING | |
TRANS_CONFIRM | |
TRANS_CANCEL |
Definition at line 183 of file source/blender/editors/transform/transform.h.
enum MouseInputMode |
Definition at line 736 of file source/blender/editors/transform/transform.h.
Definition at line 371 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 410 of file transform_input.c.
References MouseInput::accum, MouseInput::apply, double(), MouseInput::imval, 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().
Definition at line 791 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.
Definition at line 1162 of file transform_generics.c.
References calculateCenter2D(), calculateCenter_FromAround(), calculateCenterLocal(), calculateZfac(), copy_v3_v3(), CTX_CAMERA, CTX_OBJECT, normalize_v3(), projectFloatView(), RGN_TYPE_WINDOW, SPACE_VIEW3D, t, T_OVERRIDE_CENTER, and TFM_TRANSLATION.
Referenced by calculateTransformCenter(), and initTransform().
Definition at line 883 of file transform_generics.c.
References BLI_assert, is_zero_v3(), projectFloatView(), and t.
Referenced by calculateCenter(), setTransformViewMatrices(), and tranformViewUpdate().
select_only | only get active center from data being transformed. |
Definition at line 1055 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 1030 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 903 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 919 of file transform_generics.c.
References BKE_mask_coord_from_image(), BKE_mask_coord_from_movieclip(), BLI_assert_msg, SpaceClip::clip, CTX_MASK, CTX_PAINT_CURVE, SpaceSeq::cursor, SpaceImage::cursor, SpaceClip::cursor, SpaceImage::image, SpaceImage::iuser, NULL, SEQ_image_preview_unit_to_px(), SPACE_CLIP, SPACE_IMAGE, SPACE_SEQ, t, UI_view2d_view_to_region_x(), UI_view2d_view_to_region_y(), and SpaceClip::user.
Referenced by calculateCenter_FromAround().
Definition at line 970 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 889 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 1004 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().
Definition at line 1238 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().
Definition at line 2062 of file transform.c.
References ELEM, OB_ARMATURE, OB_CURVES_LEGACY, OB_MBALL, OB_MESH, t, T_EDIT, and V3D_AROUND_LOCAL_ORIGINS.
Referenced by setUserConstraint().
Definition at line 170 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 drawLine | ( | TransInfo * | t, |
const float | center[3], | ||
const float | dir[3], | ||
char | axis, | ||
short | options | ||
) |
Definition at line 58 of file transform_generics.c.
References add_v3_v3v3(), BLI_rctf_size_x(), BLI_rctf_size_y(), center, View3D::clip_end, col, copy_v3_v3(), View2D::cur, DRAWLIGHT, ELEM, 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(), max_ff(), mul_v3_fl(), options, pos, SPACE_SEQ, 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 39 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().
Needed for mode switching.
Definition at line 712 of file transform_generics.c.
References FOREACH_TRANS_DATA_CONTAINER, freeTransCustomData(), NULL, and t.
Referenced by resetTransModal().
Definition at line 597 of file transform_gizmo_3d.c.
References axis_angle_to_gimbal_axis(), copy_m3_m4(), eulO_to_gimbal_axis(), mul_m3_m3m3(), normalize_m3(), Object::obmat, Object::parent, Object::rot, ROT_MODE_AXISANGLE, Object::rotAngle, Object::rotAxis, Object::rotmode, and test_rotmode_euler().
Referenced by ED_transform_calc_orientation_from_type_ex(), and ObjectToTransData().
bool gimbal_axis_pose | ( | struct Object * | ob, |
const struct bPoseChannel * | pchan, | ||
float | gmat[3][3] | ||
) |
Referenced by add_pose_transdata(), and ED_transform_calc_orientation_from_type_ex().
void initMouseInput | ( | TransInfo * | t, |
MouseInput * | mi, | ||
const float | center[2], | ||
const int | mval[2], | ||
bool | precision | ||
) |
Definition at line 256 of file transform_input.c.
References add_v3_v3v3(), center, MouseInput::center, ED_view3d_win_to_delta(), MouseInput::factor, MouseInput::imval, MouseInput::imval_unproj, NULL, MouseInput::post, MouseInput::precision, RGN_TYPE_WINDOW, SPACE_VIEW3D, and t.
Referenced by initTimeScale(), and initTransform().
void initMouseInputMode | ( | TransInfo * | t, |
MouseInput * | mi, | ||
MouseInputMode | mode | ||
) |
Definition at line 288 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_ex(), initCurveShrinkFatten(), initEdgeSlide_ex(), initGPOpacity(), initGPShrinkFatten(), initMaskShrinkFatten(), initMirror(), initNormalRotation(), initPushPull(), initResize(), initRotation(), initSeqSlide(), initShear_mouseInputMode(), initShrinkFatten(), initSkinResize(), initTilt(), initTimeScale(), initTimeSlide(), initTimeTranslate(), initToSphere(), initTrackball(), and initVertSlide_ex().
bool initTransform | ( | struct bContext * | C, |
struct TransInfo * | t, | ||
struct wmOperator * | op, | ||
const struct wmEvent * | event, | ||
int | mode | ||
) |
t
on a 0 return void initTransInfo | ( | struct bContext * | C, |
TransInfo * | t, | ||
struct wmOperator * | op, | ||
const struct wmEvent * | event | ||
) |
Setup internal data, mouse, vectors
Referenced by calculateTransformCenter(), and initTransform().
Here I would suggest only TransInfo related issues, like free data & reset vars. Not redraws.
Definition at line 720 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(), TransData::hdata, MEM_freeN, MEM_SAFE_FREE, NULL, OB_CURVES_LEGACY, OB_GPENCIL, OB_SURF, SI_LIVE_UNWRAP, SPACE_GRAPH, SPACE_IMAGE, t, 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 366 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], | ||
eV3DProjTest | flag | ||
) |
Definition at line 338 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 333 of file transform.c.
References projectIntViewEx(), t, and V3D_PROJ_TEST_NOP.
Referenced by projectFloatViewEx(), and transform_input_update().
void projectIntViewEx | ( | TransInfo * | t, |
const float | vec[3], | ||
int | adr[2], | ||
eV3DProjTest | flag | ||
) |
Definition at line 220 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, usdtokens::out(), 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().
Definition at line 396 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().
Free data before switching to another mode.
Definition at line 112 of file transform_generics.c.
References freeTransCustomDataForMode(), and t.
Referenced by transformEvent().
Definition at line 117 of file transform_generics.c.
References t, and T_ALL_RESTRICTIONS.
Referenced by transformEvent().
Definition at line 850 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 | ( | struct bContext * | C, |
struct TransInfo * | t, | ||
struct wmOperator * | op | ||
) |
Definition at line 1498 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, wmMsgParams_RNA::prop, 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, wmMsgParams_RNA::ptr, RNA_boolean_set(), RNA_enum_set(), RNA_float_set(), RNA_float_set_array(), RNA_pointer_create(), 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, SCE_SNAP_TARGET_NOT_ACTIVE, SCE_SNAP_TARGET_NOT_EDITED, SCE_SNAP_TARGET_NOT_NONEDITED, SCE_SNAP_TARGET_ONLY_SELECTABLE, ToolSettings::snap_flag, ToolSettings::snap_flag_node, ToolSettings::snap_flag_seq, ToolSettings::snap_uv_flag, SPACE_ACTION, SPACE_GRAPH, SPACE_IMAGE, SPACE_NODE, SPACE_SEQ, 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_params().
Referenced by transformops_exit().
void setCustomPoints | ( | TransInfo * | t, |
MouseInput * | mi, | ||
const int | start[2], | ||
const int | end[2] | ||
) |
void setCustomPointsFromDirection | ( | TransInfo * | t, |
MouseInput * | mi, | ||
const float | dir[2] | ||
) |
Definition at line 235 of file transform_input.c.
References blender::math::abs(), BLI_ASSERT_UNIT_V2, MouseInput::imval, setCustomPoints(), and t.
Referenced by initShear_mouseInputMode().
Definition at line 405 of file transform_input.c.
References MouseInput::post.
Definition at line 98 of file transform.c.
References copy_v3_fl(), CTX_CURSOR, 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(), SEQ_image_preview_unit_to_px(), SPACE_CLIP, SPACE_GRAPH, SPACE_IMAGE, SPACE_SEQ, and t.
Referenced by initTransInfo().
Definition at line 74 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(), and tranformViewUpdate().
Definition at line 1201 of file transform_generics.c.
References ARRAY_SIZE, calculateCenter2D(), calculateZfac(), copy_m3_m3(), copy_m3_m4(), invert_m3_m3_safe_ortho(), len_v3(), normalize_m3(), RGN_TYPE_WINDOW, setTransformViewMatrices(), SPACE_VIEW3D, t, transform_input_update(), and V3D_ORIENT_VIEW.
Referenced by flushTransNodes().
Definition at line 64 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().
Transform a single matrix using the current t->final_values
.
Definition at line 2076 of file transform.c.
Referenced by gizmo_modal().
Rotate an element, low level code, ignore protected channels. (use for objects or pose-bones) Similar to ElementRotation.
Definition at line 1358 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 applyFaceProject().
Definition at line 449 of file transform_input.c.
References MouseInput::accum, add_v2_v2_db(), add_v2_v2v2_int(), MouseInput::apply, MouseInput::center, copy_v2_v2(), copy_v2_v2_db(), data, MouseInput::data, ELEM, MouseInput::imval, MouseInput::imval_unproj, InputAngle(), InputAngleSpring(), offset, MouseInput::prev, projectIntView(), RGN_TYPE_WINDOW, SPACE_VIEW3D, sub_v2_v2v2(), sub_v2_v2v2_db(), sub_v2_v2v2_int(), t, TFM_EDGE_SLIDE, TFM_VERT_SLIDE, transform_mode_edge_slide_reproject_input(), transform_mode_vert_slide_reproject_input(), MouseInput::use_virtual_mval, and MouseInput::virtual_mval.
Referenced by tranformViewUpdate().
struct wmKeyMap* transform_modal_keymap | ( | struct wmKeyConfig * | keyconf | ) |
Called in transform_ops.c, on each regeneration of key-maps.
Definition at line 654 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 1458 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 1998 of file transform.c.
References C, CTX_AUTOCONFIRM, NULL, selectConstraint(), t, TRANS_CONFIRM, TREDRAW_HARD, TREDRAW_NOTHING, TREDRAW_SOFT, and viewRedrawForce().
Referenced by transform_exec(), transform_invoke(), and transform_modal().
Definition at line 2023 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().