|
Blender V4.3
|
#include "DNA_gpencil_legacy_types.h"#include "BLI_blenlib.h"#include "BLI_math_matrix.h"#include "BLI_math_rotation.h"#include "BLI_rand.h"#include "BLI_time.h"#include "BLT_translation.hh"#include "RNA_access.hh"#include "BKE_brush.hh"#include "BKE_context.hh"#include "BKE_layer.hh"#include "BKE_mask.h"#include "BKE_modifier.hh"#include "BKE_paint.hh"#include "SEQ_transform.hh"#include "ED_clip.hh"#include "ED_image.hh"#include "ED_object.hh"#include "ED_screen.hh"#include "ED_space_api.hh"#include "ED_uvedit.hh"#include "WM_api.hh"#include "UI_view2d.hh"#include "SEQ_sequencer.hh"#include "transform.hh"#include "transform_convert.hh"#include "transform_gizmo.hh"#include "transform_orientations.hh"#include "transform_snap.hh"Go to the source code of this file.
| void applyTransObjects | ( | TransInfo * | t | ) |
Definition at line 815 of file transform_generics.cc.
References copy_v3_v3(), TransDataContainer::data, TransDataContainer::data_len, TransData::ext, TransDataExtension::irot, TransDataExtension::isize, recalc_data(), TransDataExtension::rot, TransDataExtension::size, and TRANS_DATA_CONTAINER_FIRST_SINGLE.
| void calculateCenter | ( | TransInfo * | t | ) |
Definition at line 1190 of file transform_generics.cc.
References TransInfo::around, calculateCenter2D(), calculateCenter_FromAround(), calculateCenterLocal(), calculateZfac(), TransInfo::center2d, TransInfo::center_global, copy_v3_v3(), CTX_CAMERA, CTX_OBJECT, TransInfo::flag, TransInfo::mode, normalize_v3(), TransInfo::options, projectFloatView(), TransInfo::region, ARegion::regiontype, RGN_TYPE_WINDOW, SPACE_VIEW3D, TransInfo::spacetype, T_OVERRIDE_CENTER, TFM_TRANSLATION, and TransInfo::viewinv.
Referenced by calculateTransformCenter(), and initTransform().
| void calculateCenter2D | ( | TransInfo * | t | ) |
Definition at line 909 of file transform_generics.cc.
References TransInfo::aspect, BLI_assert, TransInfo::center2d, TransInfo::center_global, is_zero_v3(), and projectFloatView().
Referenced by calculateCenter(), initTransInfo(), and transformViewUpdate().
Definition at line 1125 of file transform_generics.cc.
References calculateCenterActive(), calculateCenterBound(), calculateCenterCursor(), calculateCenterCursor2D(), calculateCenterCursorGraph2D(), calculateCenterMedian(), ELEM, SPACE_CLIP, SPACE_GRAPH, SPACE_IMAGE, SPACE_SEQ, TransInfo::spacetype, V3D_AROUND_ACTIVE, V3D_AROUND_CENTER_BOUNDS, V3D_AROUND_CENTER_MEDIAN, V3D_AROUND_CURSOR, and V3D_AROUND_LOCAL_ORIGINS.
Referenced by calculateCenter().
| select_only | only get active center from data being transformed. |
Definition at line 1082 of file transform_generics.cc.
References PaintCurve::add_index, BASE_SELECTED, PaintCurvePoint::bez, BKE_brush_tag_unsaved_changes(), BKE_paint_brush(), BKE_paint_get_active(), BKE_view_layer_active_base_get(), BKE_view_layer_active_object_get(), BKE_view_layer_synced_ensure(), blender::ed::object::calc_active_center_for_editmode(), blender::ed::object::calc_active_center_for_posemode(), copy_v3_v3(), CTX_PAINT_CURVE, CTX_POSE_BONE, Base::flag, mul_m4_v3(), TransDataContainer::obedit, Base::object, TransInfo::options, Brush::paint_curve, PaintCurve::points, TransInfo::scene, SPACE_VIEW3D, TransInfo::spacetype, TRANS_DATA_CONTAINER_FIRST_OK, BezTriple::vec, and TransInfo::view_layer.
Referenced by calculateCenter_FromAround(), and snap_source_active_fn().
Definition at line 1057 of file transform_generics.cc.
References FOREACH_TRANS_DATA_CONTAINER, INIT_MINMAX, mid_v3_v3v3(), min, minmax_v3v3_v3(), and transdata_center_global_get().
Referenced by calculateCenter_FromAround().
Definition at line 929 of file transform_generics.cc.
References copy_v3_v3(), CTX_PAINT_CURVE, Scene::cursor, ED_view3d_project_float_global(), View3DCursor::location, TransInfo::options, TransInfo::region, TransInfo::scene, V3D_PROJ_RET_OK, V3D_PROJ_TEST_NOP, ARegion::winx, and ARegion::winy.
Referenced by calculateCenter_FromAround(), and initBend().
Definition at line 946 of file transform_generics.cc.
References TransInfo::area, TransInfo::aspect, BKE_mask_coord_from_image(), BKE_mask_coord_from_movieclip(), BLI_assert_msg, SpaceClip::clip, CTX_MASK, CTX_PAINT_CURVE, SpaceClip::cursor, SpaceImage::cursor, SpaceSeq::cursor, ListBase::first, SpaceImage::image, SpaceImage::iuser, TransInfo::options, TransInfo::region, TransInfo::scene, SEQ_image_preview_unit_to_px(), SPACE_CLIP, SPACE_IMAGE, SPACE_SEQ, ScrArea::spacedata, TransInfo::spacetype, UI_view2d_view_to_region_x(), UI_view2d_view_to_region_y(), SpaceClip::user, and ARegion::v2d.
Referenced by calculateCenter_FromAround().
Definition at line 997 of file transform_generics.cc.
References TransInfo::area, SpaceGraph::cursorTime, SpaceGraph::cursorVal, ListBase::first, float, SpaceGraph::mode, TransInfo::scene, SIPO_MODE_DRIVERS, and ScrArea::spacedata.
Referenced by calculateCenter_FromAround().
Definition at line 915 of file transform_generics.cc.
References copy_v3_v3(), FOREACH_TRANS_DATA_CONTAINER, and mul_v3_m4v3().
Referenced by calculateCenter(), initBend(), and initTransInfo().
Definition at line 1031 of file transform_generics.cc.
References add_v3_v3(), copy_v3_v3(), FOREACH_TRANS_DATA_CONTAINER, mul_v3_fl(), and transdata_center_global_get().
Referenced by calculateCenter_FromAround().
| void calculatePropRatio | ( | TransInfo * | t | ) |
Definition at line 1265 of file transform_generics.cc.
References BLI_rng_get_float(), BLI_rng_new(), BLI_time_now_seconds_i(), TransData::dist, TransData::factor, TransInfo::flag, FOREACH_TRANS_DATA_CONTAINER, IFACE_, N_, PROP_CONST, PROP_INVSQUARE, PROP_LIN, TransInfo::prop_mode, PROP_RANDOM, PROP_ROOT, PROP_SHARP, TransInfo::prop_size, PROP_SMOOTH, PROP_SPHERE, TransInfo::proptext, TransData::rdist, restoreElement(), TransInfo::rng, sqrtf, STRNCPY_UTF8, T_PROP_CONNECTED, T_PROP_EDIT, TD_SELECTED, and UINT_MAX.
Referenced by initTransform(), and transformEvent().
|
static |
Definition at line 1162 of file transform_generics.cc.
References TransInfo::area, BLI_rctf_size_x(), BLI_rcti_size_x(), TransInfo::center_global, View2D::cur, ED_view3d_calc_zfac(), ListBase::first, float, View2D::mask, TransInfo::region, ARegion::regiondata, ARegion::regiontype, RGN_TYPE_WINDOW, SPACE_IMAGE, SPACE_VIEW3D, ScrArea::spacedata, TransInfo::spacetype, ARegion::v2d, TransInfo::zfac, and SpaceImage::zoom.
Referenced by calculateCenter(), and transformViewUpdate().
|
static |
Definition at line 705 of file transform_generics.cc.
References BLI_assert, TransCustomData::data, TransCustomData::free_cb, MEM_freeN(), and TransCustomData::use_free.
Referenced by freeTransCustomDataContainer(), and freeTransCustomDataForMode().
|
static |
Definition at line 721 of file transform_generics.cc.
References TransCustomDataContainer::first_elem, freeTransCustomData(), and TRANS_CUSTOM_DATA_ELEM_MAX.
Referenced by postTrans().
| void freeTransCustomDataForMode | ( | TransInfo * | t | ) |
Needed for mode switching.
Definition at line 731 of file transform_generics.cc.
References TransInfo::custom, FOREACH_TRANS_DATA_CONTAINER, freeTransCustomData(), and TransCustomDataContainer::mode.
Referenced by resetTransModal().
| void initTransInfo | ( | bContext * | C, |
| TransInfo * | t, | ||
| wmOperator * | op, | ||
| const wmEvent * | event ) |
Setup internal data, mouse, vectors
Definition at line 116 of file transform_generics.cc.
References bScreen::animtimer, TransInfo::animtimer, TransInfo::area, TransInfo::around, TransInfo::aspect, AUTO_MERGE, AUTO_MERGE_AND_SPLIT, ToolSettings::automerge, BIF_countTransformOrientation(), BKE_paint_brush(), BKE_paint_get_active_from_context(), BKE_view_layer_active_object_get(), BKE_view_layer_synced_ensure(), BLI_assert, BRUSH_CURVE, calculateCenter2D(), calculateCenterLocal(), TransInfo::center_global, TransInfo::con, CON_APPLY, CON_AXIS0, CON_AXIS1, CON_AXIS2, copy_v4_v4(), CTX_CURSOR, CTX_data_depsgraph_pointer(), CTX_data_scene(), CTX_data_tool_settings(), CTX_data_view_layer(), CTX_EDGE_DATA, CTX_GPENCIL_STROKES, CTX_MASK, CTX_MOVIECLIP, CTX_NO_PET, CTX_PAINT_CURVE, CTX_SEQUENCER_IMAGE, CTX_TEXTURE_SPACE, CTX_VIEW2D_EDGE_PAN, CTX_wm_area(), CTX_wm_manager(), CTX_wm_message_bus(), CTX_wm_region(), TransInfo::data_container, TransInfo::data_container_len, TransInfo::data_len_all, TransInfo::depsgraph, ED_screen_animation_playing(), ED_space_clip_check_show_maskedit(), ED_space_clip_check_show_trackedit(), ED_space_image_show_uvedit(), ED_view3d_navigation_init(), ELEM, Brush::flag, TransInfo::flag, wmOperator::flag, TransInfo::helpline, HLP_NONE, ToolSettings::imapaint, MouseInput::imval, TransformOrientationSlot::index_custom, initNumInput(), TransInfo::is_orient_default_overwrite, ISMOUSE_BUTTON, wmKeyMap::items, KMI_INACTIVE, TransInfo::launch_event, LISTBASE_FOREACH, TransInfo::mat, TransInfo::matrix, TransInfo::mbus, MEM_callocN, wmOperatorType::modalkeymap, Object::mode, SpaceImage::mode, TransCon::mode, TransInfo::mode, TransInfo::mode_info, TransInfo::mouse, mul_v3_v3(), TransInfo::mval, wmEvent::mval, TransInfo::num, O_DEFAULT, O_SCENE, O_SET, OB_GREASE_PENCIL, OB_MESH, OB_MODE_ALL_PAINT, OB_MODE_EDIT, OB_MODE_EDIT_GPENCIL_LEGACY, OB_MODE_OBJECT, OB_MODE_SCULPT_CURVES, TransInfo::obedit_type, OP_IS_REPEAT_LAST, TransInfo::options, TransInfo::orient, TransInfo::orient_axis, TransInfo::orient_axis_ortho, TransInfo::orient_type_mask, Scene::orientation_slots, ImagePaintSettings::paint, printf, PROP_EDIT_CONNECTED, PROP_EDIT_PROJECTED, PROP_EDIT_USE, TransInfo::prop_mode, TransInfo::prop_size, wmOperator::ptr, TransInfo::redraw, TransInfo::region, ARegion::regiontype, TransInfo::remove_on_cancel, TransInfo::reports, wmOperator::reports, RGN_TYPE_PREVIEW, RGN_TYPE_WINDOW, RNA_boolean_get(), RNA_property_array_check(), RNA_property_boolean_get(), RNA_property_boolean_get_array(), RNA_property_boolean_set(), RNA_property_enum_get(), RNA_property_float_get(), RNA_property_float_get_array(), RNA_property_is_set(), RNA_struct_find_property(), SCE_ORIENT_DEFAULT, SCE_XFORM_AXIS_ALIGN, TransInfo::scene, SET_FLAG_FROM_TEST, TransInfo::settings, setTransformViewAspect(), setTransformViewMatrices(), SI_MODE_MASK, SI_MODE_PAINT, SPACE_ACTION, SPACE_CLIP, SPACE_EMPTY, SPACE_GRAPH, SPACE_IMAGE, SPACE_NODE, SPACE_SEQ, SPACE_VIEW3D, TransInfo::spacetype, T_ALT_TRANSFORM, t_around_get(), T_AUTOMERGE, T_AUTOSPLIT, T_DUPLICATED_KEYFRAMES, T_EVENT_DRAG_START, T_INPUT_IS_VALUES_FINAL, T_MODAL, T_NO_CURSOR_WRAP, T_NO_MIRROR, T_OVERRIDE_CENTER, T_PROP_CONNECTED, T_PROP_EDIT, T_PROP_PROJECTED, T_RELEASE_CONFIRM, T_V3D_ALIGN, t_view_get(), TFM_BWEIGHT, TFM_EDGE_CREASE, TFM_EDGE_SLIDE, TFM_MODAL_PASSTHROUGH_NAVIGATE, TFM_RESIZE, TFM_ROTATION, TFM_SHRINKFATTEN, TFM_TRACKBALL, TFM_TRANSLATION, TFM_VERT_SLIDE, Scene::toolsettings, transdata_check_local_islands(), ToolSettings::transform_flag, transform_gizmo_3d_model_from_constraint_and_mode_init(), transform_orientation_matrix_get(), transform_orientations_current_set(), TREDRAW_HARD, Object::type, TransformOrientationSlot::type, TransInfo::type, wmOperator::type, unit_m3(), USER_RELEASECONFIRM, ToolSettings::uvcalc_flag, UVCALC_TRANSFORM_CORRECT_SLIDE, V3D_AROUND_LOCAL_ORIGINS, V3D_ORIENT_CUSTOM, V3D_ORIENT_CUSTOM_MATRIX, V3D_ORIENT_GLOBAL, V3D_ORIENT_LOCAL, TransInfo::values, TransInfo::values_modal_offset, TransInfo::view, TransInfo::view_layer, TransInfo::vod, WM_event_drag_start_mval_fl(), WM_keymap_active(), and zero_v3().
Referenced by calculateTransformCenter(), and initTransform().
Here I would suggest only TransInfo related issues, like free data & reset variables. Not redraws.
Definition at line 739 of file transform_generics.cc.
References TransInfo::area, BLI_freelistN(), BLI_rng_free(), CTX_MASK, CTX_PAINT_CURVE, CTX_wm_window(), TransInfo::custom, MouseInput::data, TransInfo::data_container, TransInfo::data_len_all, TransInfo::draw_handle_cursor, TransInfo::draw_handle_pixel, TransInfo::draw_handle_view, ED_region_draw_cb_exit(), ED_uvedit_live_unwrap_end(), ED_view3d_navigation_free(), ELEM, ListBase::first, SpaceImage::flag, TransInfo::flag, FOREACH_TRANS_DATA_CONTAINER, freeSnapping(), freeTransCustomDataContainer(), TransData::hdata, MEM_freeN(), MEM_SAFE_FREE, TransInfo::mouse, OB_CURVES_LEGACY, OB_GPENCIL_LEGACY, OB_SURF, TransInfo::obedit_type, TransInfo::options, TransSnap::points, TransInfo::region, TransInfo::rng, SI_LIVE_UNWRAP, SPACE_GRAPH, SPACE_IMAGE, ScrArea::spacedata, TransInfo::spacetype, TransInfo::state, T_MODAL_CURSOR_SET, TD_BEZTRIPLE, TRANS_CANCEL, TransInfo::tsnap, ARegion::type, TransInfo::vod, WM_cursor_modal_restore(), and WM_paint_cursor_end().
Referenced by calculateTransformCenter(), initTransform(), and transformEnd().
| void resetTransModal | ( | TransInfo * | t | ) |
Free data before switching to another mode.
Definition at line 53 of file transform_generics.cc.
References freeTransCustomDataForMode().
Referenced by transformEvent().
| void resetTransRestrictions | ( | TransInfo * | t | ) |
Definition at line 58 of file transform_generics.cc.
References TransInfo::flag.
Referenced by transformEvent().
|
static |
Definition at line 847 of file transform_generics.cc.
References copy_qt_qt(), copy_v3_v3(), TransData::ext, TransDataCurveHandleFlags::h1, TransDataCurveHandleFlags::h2, TransData::hdata, TransDataCurveHandleFlags::ih1, TransDataCurveHandleFlags::ih2, TransDataExtension::iquat, TransDataExtension::irot, TransDataExtension::irotAngle, TransDataExtension::irotAxis, TransDataExtension::isize, TransDataExtension::quat, TransDataExtension::rot, TransDataExtension::rotAngle, TransDataExtension::rotAxis, TransDataExtension::size, TD_BEZTRIPLE, TD_NO_EXT, and transdata_restore_basic().
Referenced by calculatePropRatio(), and restoreTransObjects().
| void restoreTransObjects | ( | TransInfo * | t | ) |
Definition at line 876 of file transform_generics.cc.
References FOREACH_TRANS_DATA_CONTAINER, TransData2D::h1, TransData2D::h2, TransData2D::ih1, TransData2D::ih2, TransInfo::mat, recalc_data(), restoreElement(), transdata_restore_basic(), and unit_m3().
Referenced by transform_mode_snap_source_init(), transformEnd(), and transformEvent().
Definition at line 75 of file transform_generics.cc.
References TransInfo::area, SpaceClip::around, SpaceGraph::around, SpaceImage::around, TransInfo::flag, TransInfo::mode, TransInfo::region, ARegion::regiontype, RGN_TYPE_PREVIEW, TransInfo::scene, SEQ_tool_settings_pivot_point_get(), TransInfo::settings, SPACE_CLIP, SPACE_GRAPH, SPACE_IMAGE, SPACE_SEQ, SPACE_VIEW3D, TransInfo::spacetype, T_OVERRIDE_CENTER, TFM_BEND, ToolSettings::transform_pivot_point, V3D_AROUND_CENTER_BOUNDS, and V3D_AROUND_CURSOR.
Referenced by initTransInfo().
|
static |
Definition at line 63 of file transform_generics.cc.
References TransInfo::area, ListBase::first, TransInfo::region, SPACE_VIEW3D, ScrArea::spacedata, TransInfo::spacetype, and ARegion::v2d.
Referenced by initTransInfo().
|
static |
Definition at line 1013 of file transform_generics.cc.
References copy_v3_v3(), TransDataContainer::mat, mul_v3_m4v3(), TD_NOCENTER, TD_SELECTED, and TransDataContainer::use_local_mat.
Referenced by calculateCenterBound(), and calculateCenterMedian().
|
static |
Definition at line 833 of file transform_generics.cc.
References copy_v3_v3().
Referenced by restoreElement(), and restoreTransObjects().
Rotate an element, low level code, ignore protected channels. (use for objects or pose-bones) Similar to ElementRotation.
Definition at line 1384 of file transform_generics.cc.
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 1484 of file transform_generics.cc.
References BASE_VISIBLE, BKE_modifiers_is_deformed_by_armature(), BKE_view_layer_base_find(), BKE_view_layer_synced_ensure(), Object::mode, OB_MODE_ALL_WEIGHT_PAINT, OB_MODE_POSE, TransInfo::scene, TransInfo::view, and TransInfo::view_layer.
Referenced by convert_type_get(), and transform_orientation_matrix_get().
| void transformViewUpdate | ( | TransInfo * | t | ) |
Called every time the view changes due to navigation. Adjusts the mouse position relative to the object.
Definition at line 1227 of file transform_generics.cc.
References ARRAY_SIZE, calculateCenter2D(), calculateZfac(), copy_m3_m3(), copy_m3_m4(), invert_m3_m3_safe_ortho(), len_v3(), TransInfo::matrix, normalize_m3(), TransInfo::orient, TransInfo::orient_curr, TransInfo::persinv, TransInfo::persp, TransInfo::region, ARegion::regiontype, RGN_TYPE_WINDOW, setTransformViewMatrices(), TransInfo::snap_spatial, TransInfo::snap_spatial_precision, SPACE_VIEW3D, TransInfo::spacemtx, TransInfo::spacemtx_inv, TransInfo::spacetype, transform_input_update(), transform_snap_grid_init(), TransInfo::type, V3D_ORIENT_VIEW, TransInfo::viewinv, and TransInfo::zfac.
Referenced by blender::ed::transform::flushTransNodes(), transform_modal(), and view2d_edge_pan_loc_compensate().