|
Blender V4.3
|
#include "BLI_math_matrix.h"#include "BLI_math_rotation.h"#include "BLI_time.h"#include "GPU_immediate.hh"#include "GPU_matrix.hh"#include "BKE_editmesh.hh"#include "BKE_layer.hh"#include "BKE_node_runtime.hh"#include "BKE_object.hh"#include "BKE_scene.hh"#include "RNA_access.hh"#include "RNA_prototypes.hh"#include "WM_api.hh"#include "ED_image.hh"#include "ED_node.hh"#include "ED_transform_snap_object_context.hh"#include "ED_uvedit.hh"#include "UI_resources.hh"#include "UI_view2d.hh"#include "SEQ_sequencer.hh"#include "transform.hh"#include "transform_constraints.hh"#include "transform_convert.hh"#include "transform_mode.hh"#include "transform_snap.hh"Go to the source code of this file.
| void addSnapPoint | ( | TransInfo * | t | ) |
Definition at line 1108 of file transform_snap.cc.
References BLI_addtail(), TransSnapPoint::co, copy_v3_v3(), TransSnap::points, TransSnap::selectedPoint, SNAP_MULTI_POINTS, TransSnap::snap_target, SNAP_TARGET_FOUND, SPACE_VIEW3D, TransInfo::spacetype, TransSnap::status, and TransInfo::tsnap.
Referenced by transformEvent().
|
static |
Definition at line 473 of file transform_snap.cc.
References add_v3_v3(), BKE_object_eval_transform_all(), copy_v3_v3(), CTX_OBJECT, TransInfo::depsgraph, ED_transform_snap_object_project_view3d(), TransSnap::face_nearest_steps, TransInfo::flag, TransSnap::flag, TransDataContainer::mat, mul_m3_v3(), mul_m4_v3(), TransData::ob, TransSnap::object_context, TransInfo::options, TransInfo::region, SCE_SNAP_INDIVIDUAL_NEAREST, SCE_SNAP_KEEP_ON_SAME_OBJECT, TransInfo::scene, TransData::smtx, SNAP_GEOM_EDIT, SNAP_GEOM_FINAL, SNAP_OCCLUSION_ALWAYS, SnapObjectParams::snap_target_select, sub_v3_v3v3(), T_EDIT, TransSnap::target_operation, TransInfo::tsnap, TransDataContainer::use_local_mat, and TransInfo::view.
Referenced by transform_snap_project_individual_apply().
|
static |
Definition at line 407 of file transform_snap.cc.
References add_v3_v3(), TransData::axismtx, BKE_object_eval_transform_all(), copy_v3_v3(), CTX_OBJECT, TransInfo::depsgraph, ED_transform_snap_object_project_view3d(), ED_view3d_project_float_global(), TransInfo::flag, TransSnap::flag, TransDataContainer::mat, mul_m3_v3(), mul_m4_v3(), TransData::ob, TransSnap::object_context, TransInfo::options, TransInfo::region, rotation_between_vecs_to_mat3(), SCE_SNAP_BACKFACE_CULLING, SCE_SNAP_ROTATE, SCE_SNAP_TO_FACE, TransInfo::scene, TransData::smtx, SNAP_GEOM_EDIT, SNAP_GEOM_FINAL, SNAP_OCCLUSION_ALWAYS, SnapObjectParams::snap_target_select, sub_v3_v3v3(), T_EDIT, TransSnap::target_operation, transform_data_ext_rotate(), TransInfo::tsnap, TransDataContainer::use_local_mat, V3D_PROJ_RET_OK, V3D_PROJ_TEST_NOP, and TransInfo::view.
Referenced by transform_snap_project_individual_apply().
|
static |
Definition at line 639 of file transform_snap.cc.
References BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, and e.
Referenced by snap_object_context_init().
|
static |
Definition at line 650 of file transform_snap.cc.
References BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, BM_FACE_FIRST_LOOP, BMLoop::next, and BMLoop::v.
Referenced by snap_object_context_init().
|
static |
Definition at line 187 of file transform_snap.cc.
References ELEM, MOD_SNAP_FORCED, TransInfo::modifiers, SPACE_ACTION, SPACE_GRAPH, SPACE_NLA, TransInfo::spacetype, and transformModeUseSnap().
Referenced by initSnappingMode().
| void drawSnapping | ( | TransInfo * | t | ) |
Definition at line 200 of file transform_snap.cc.
References TransInfo::aspect, BLI_listbase_is_empty(), BLI_rctf_size_x(), BLI_rcti_size_x(), col, copy_m4_m4(), DIR_GLOBAL_X, DIR_GLOBAL_Y, TransSnap::direction, ED_node_draw_snap(), ED_view3d_cursor_snap_draw_util(), ED_view3d_pixel_size(), TransInfo::flag, GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, GPU_COMP_F32, GPU_DEPTH_LESS_EQUAL, GPU_DEPTH_NONE, GPU_depth_test(), GPU_FETCH_FLOAT, GPU_matrix_pop_projection(), GPU_matrix_push_projection(), GPU_PRIM_LINES, GPU_SHADER_3D_UNIFORM_COLOR, GPU_vertformat_attr_add(), imm_draw_circle_wire_2d(), imm_drawcircball(), immBegin(), immBindBuiltinProgram(), immEnd(), immRectf(), immUnbindProgram(), immUniformColor3ub(), immUniformColor4ubv(), immVertex3f(), immVertex3fv(), immVertexFormat(), LISTBASE_FOREACH, MOD_EDIT_SNAP_SOURCE, TransInfo::modifiers, TransSnap::points, pos, TransInfo::region, ARegion::regiondata, RGN_TYPE_PREVIEW, TransSnap::selectedPoint, size(), SNAP_MULTI_POINTS, TransSnap::snap_source, SNAP_SOURCE_FOUND, TransSnap::snap_target, SNAP_TARGET_FOUND, TransSnap::snapNodeBorder, TransSnap::snapNormal, TransSnap::source_type, SPACE_IMAGE, SPACE_NODE, SPACE_SEQ, SPACE_VIEW3D, TransInfo::spacetype, TransSnap::status, T_DRAW_SNAP_SOURCE, TransSnap::target_type, TH_ACTIVE, TH_SELECT, TH_SEQ_ACTIVE, TH_TRANSFORM, TH_VERTEX_SIZE, transform_snap_is_active(), TransInfo::tsnap, UI_GetThemeColor3ubv(), UI_GetThemeValuef(), UI_view2d_view_to_region_fl(), UNPACK2, usingSnappingNormal(), ARegion::v2d, validSnappingNormal(), RegionView3D::viewinv, wmOrtho2_region_pixelspace(), x, and y.
Referenced by drawTransformView(), and ED_draw_sequencer_snap_point().
| void freeSnapping | ( | TransInfo * | t | ) |
Definition at line 1019 of file transform_snap.cc.
References ED_transform_snap_object_context_destroy(), ED_transform_snap_object_time_average_print, TransSnap::object_context, TransSnap::seq_context, SPACE_SEQ, TransInfo::spacetype, transform_snap_sequencer_data_free(), and TransInfo::tsnap.
Referenced by postTrans().
Definition at line 1179 of file transform_snap.cc.
References add_v3_v3(), TransSnapPoint::co, copy_v3_v3(), ListBase::first, mul_v3_fl(), TransSnapPoint::next, TransSnap::points, TransSnap::snap_target, SNAP_TARGET_FOUND, TransSnap::status, and TransInfo::tsnap.
Referenced by ApplySnapResize(), ApplySnapRotation(), ApplySnapTranslation(), edge_slide_snap_apply(), snapsource_confirm(), snapsource_transform_fn(), timescale_snap_apply_fn(), and vert_slide_snap_apply().
| eRedrawFlag handleSnapping | ( | TransInfo * | t, |
| const wmEvent * | event ) |
Definition at line 386 of file transform_snap.cc.
References EVT_TABKEY, initSnapping(), KM_SHIFT, wmEvent::modifier, MOUSEMOVE, SCE_SNAP, TransInfo::settings, ToolSettings::snap_flag, TREDRAW_HARD, TREDRAW_NOTHING, wmEvent::type, and updateSelectedSnapPoint().
Referenced by transformEvent().
| void initSnapAngleIncrements | ( | TransInfo * | t | ) |
Definition at line 1033 of file transform_snap.cc.
References TransInfo::settings, TransInfo::snap, ToolSettings::snap_angle_increment_2d, ToolSettings::snap_angle_increment_2d_precision, ToolSettings::snap_angle_increment_3d, ToolSettings::snap_angle_increment_3d_precision, SPACE_VIEW3D, and TransInfo::spacetype.
Referenced by initBend(), initBoneRoll(), initNormalRotation(), initRotation(), and initTilt().
| void initSnapping | ( | TransInfo * | t, |
| wmOperator * | op ) |
Definition at line 898 of file transform_snap.cc.
References TransSnap::face_nearest_steps, TransInfo::flag, TransSnap::flag, initSnappingMode(), max_ii(), MOD_SNAP, MOD_SNAP_FORCED, TransSnap::mode, TransInfo::modifiers, normalize_v3(), wmOperator::ptr, resetSnapping(), RNA_float_get_array(), RNA_property_boolean_get(), RNA_property_enum_get(), RNA_property_float_get_array(), RNA_property_is_set(), RNA_struct_find_property(), SCE_SNAP, SCE_SNAP_INDIVIDUAL_PROJECT, SCE_SNAP_NOT_TO_ACTIVE, SCE_SNAP_ROTATE, SCE_SNAP_TARGET_NOT_ACTIVE, SCE_SNAP_TARGET_NOT_EDITED, SCE_SNAP_TARGET_NOT_NONEDITED, SCE_SNAP_TARGET_ONLY_SELECTABLE, SCE_SNAP_TO_INCLUDE_EDITED, SCE_SNAP_TO_INCLUDE_NONEDITED, SCE_SNAP_TO_ONLY_SELECTABLE, SET_FLAG_FROM_TEST, TransInfo::settings, ToolSettings::snap_face_nearest_steps, ToolSettings::snap_flag, snap_flag_from_spacetype(), snap_mode_from_spacetype(), TransInfo::snap_spatial, TransInfo::snap_spatial_precision, ToolSettings::snap_target, TransSnap::snap_target, SNAP_TARGET_FOUND, snap_target_select_from_spacetype(), TransSnap::snapNormal, TransSnap::source_operation, TransSnap::status, T_MODAL, TransSnap::target_operation, transform_snap_flag_from_modifiers_set(), transform_snap_grid_init(), and TransInfo::tsnap.
Referenced by handleSnapping(), initTransform(), and transformEvent().
|
static |
Definition at line 824 of file transform_snap.cc.
References doForceIncrementSnap(), ED_transform_snap_object_context_create(), TransInfo::flag, TransSnap::flag, TransSnap::mode, TransInfo::modifiers, TransSnap::object_context, SCE_SNAP_BACKFACE_CULLING, SCE_SNAP_INDIVIDUAL_NEAREST, SCE_SNAP_INDIVIDUAL_PROJECT, SCE_SNAP_TO_EDGE_PERPENDICULAR, SCE_SNAP_TO_INCREMENT, TransInfo::scene, TransSnap::seq_context, SET_FLAG_FROM_TEST, setSnappingCallback(), snap_object_context_init(), snap_use_backface_culling(), SPACE_SEQ, SPACE_VIEW3D, TransInfo::spacetype, T_DRAW_SNAP_SOURCE, T_NO_PROJECT, transform_snap_sequencer_data_alloc(), transformModeUseSnap(), and TransInfo::tsnap.
Referenced by initSnapping().
| bool peelObjectsTransform | ( | TransInfo * | t, |
| const float | mval[2], | ||
| const bool | use_peel_object, | ||
| float | r_loc[3], | ||
| float | r_no[3], | ||
| float * | r_thickness ) |
Definition at line 1640 of file transform_snap.cc.
References BLI_freelistN(), BLI_listbase_is_empty(), SnapObjectHitDepth::co, TransInfo::depsgraph, SnapObjectHitDepth::depth, ED_transform_snap_object_project_all_view3d_ex(), ListBase::first, TransInfo::flag, LISTBASE_FOREACH, mid_v3_v3v3(), SnapObjectHitDepth::next, SnapObjectHitDepth::ob_uuid, TransSnap::object_context, TransInfo::region, SNAP_GEOM_EDIT, SNAP_GEOM_FINAL, SnapObjectParams::snap_target_select, T_EDIT, TransSnap::target_operation, TransInfo::tsnap, and TransInfo::view.
Referenced by snap_target_view3d_fn().
| void removeSnapPoint | ( | TransInfo * | t | ) |
Definition at line 1162 of file transform_snap.cc.
References BLI_freelinkN(), BLI_listbase_is_empty(), TransSnap::points, TransSnap::selectedPoint, SNAP_MULTI_POINTS, TransSnap::status, TransInfo::tsnap, and updateSelectedSnapPoint().
Referenced by transformEvent().
| void resetSnapping | ( | TransInfo * | t | ) |
Definition at line 606 of file transform_snap.cc.
References TransSnap::last, TransSnap::mode, SCE_SNAP_SOURCE_CLOSEST, SCE_SNAP_TARGET_ALL, SCE_SNAP_TO_NONE, SNAP_RESETTED, TransSnap::snapNodeBorder, TransSnap::snapNormal, TransSnap::source_operation, TransSnap::source_type, TransSnap::status, TransSnap::target_operation, TransSnap::target_type, and TransInfo::tsnap.
Referenced by initSnapping().
|
static |
Definition at line 1045 of file transform_snap.cc.
References TransInfo::area, ATTR_FALLTHROUGH, BKE_object_is_in_editmode(), BKE_view_layer_active_object_get(), BKE_view_layer_synced_ensure(), CTX_CAMERA, ELEM, ListBase::first, SpaceImage::mode, TransInfo::mode, TransInfo::options, SCE_SNAP_SOURCE_ACTIVE, SCE_SNAP_SOURCE_CENTER, SCE_SNAP_SOURCE_CLOSEST, SCE_SNAP_SOURCE_MEDIAN, TransInfo::scene, SI_MODE_UV, snap_source_active_fn(), snap_source_center_fn(), snap_source_closest_fn(), TransSnap::snap_source_fn, snap_source_median_fn(), TransSnap::snap_target_fn, snap_target_nla_fn(), snap_target_node_fn(), snap_target_sequencer_fn(), snap_target_uv_fn(), snap_target_view3d_fn(), TransSnap::source_operation, SPACE_IMAGE, SPACE_NLA, SPACE_NODE, SPACE_SEQ, SPACE_VIEW3D, ScrArea::spacedata, TransInfo::spacetype, TFM_RESIZE, TFM_ROTATION, TransInfo::tsnap, and TransInfo::view_layer.
Referenced by initSnappingMode().
Definition at line 704 of file transform_snap.cc.
References transform_snap_flag_from_spacetype_ptr().
Referenced by initSnapping().
Definition at line 1238 of file transform_snap.cc.
References TransInfo::aspect, is_zero_v2(), MOD_PRECISION, TransInfo::modifiers, mul_v2_fl(), mul_v2_v2v2(), SCE_SNAP_TO_GRID, snap_grid_uv_apply(), TransInfo::snap_spatial, TransInfo::snap_spatial_precision, TransSnap::target_type, and TransInfo::tsnap.
Referenced by snap_target_uv_fn().
Definition at line 1218 of file transform_snap.cc.
References TransInfo::center2d, TransInfo::center_global, TransInfo::con, CON_APPLY, convertViewVec(), TransCon::mode, TransInfo::mval, SCE_SNAP_TO_NONE, TransSnap::status, TransSnap::target_type, transform_constraint_get_nearest(), and TransInfo::tsnap.
Referenced by snap_grid_uv().
|
static |
Definition at line 1860 of file transform_snap.cc.
References TransInfo::area, TransInfo::aspect, BLI_assert, ELEM, ListBase::first, SpaceGraph::flag, TransInfo::mode, TransSnap::mode, TransInfo::region, SCE_SNAP_TO_INCREMENT, TransInfo::scene, SIPO_DRAWTIME, snap_increment_apply_ex(), SPACE_GRAPH, ScrArea::spacedata, TransInfo::spacetype, TFM_TRANSLATION, TransInfo::tsnap, UI_view2d_grid_resolution_x__frames_or_seconds(), UI_view2d_grid_resolution_y__values(), and ARegion::v2d.
Referenced by transform_snap_increment_ex().
|
static |
Definition at line 1846 of file transform_snap.cc.
Referenced by snap_increment_apply().
Definition at line 715 of file transform_snap.cc.
References CTX_CAMERA, CTX_EDGE_DATA, CTX_PAINT_CURVE, ELEM, TransInfo::options, SCE_SNAP_TO_INCREMENT, TransInfo::scene, SEQ_tool_settings_snap_mode_get(), TransInfo::settings, ToolSettings::snap_anim_mode, ToolSettings::snap_mode, ToolSettings::snap_node_mode, ToolSettings::snap_uv_mode, SPACE_ACTION, SPACE_GRAPH, SPACE_IMAGE, SPACE_NLA, SPACE_NODE, SPACE_SEQ, SPACE_VIEW3D, and TransInfo::spacetype.
Referenced by initSnapping().
|
static |
Definition at line 1203 of file transform_snap.cc.
References BLI_freelistN(), TransSnap::points, TransSnap::selectedPoint, SNAP_MULTI_POINTS, TransSnap::status, and TransInfo::tsnap.
Referenced by tranform_snap_source_restore_context().
|
static |
Definition at line 802 of file transform_snap.cc.
References bm_edge_is_snap_target(), BM_elem_cb_check_hflag_disabled(), BM_ELEM_HIDDEN, BM_ELEM_SELECT, bm_face_is_snap_target(), TransInfo::data_type, ED_transform_snap_object_context_set_editmesh_callbacks(), TransSnap::object_context, POINTER_FROM_UINT, TransConvertType_Mesh, and TransInfo::tsnap.
Referenced by initSnappingMode(), and tranform_snap_source_restore_context().
|
static |
Definition at line 1452 of file transform_snap.cc.
References calculateCenterActive(), SCE_SNAP_SOURCE_MEDIAN, SCE_SNAP_TO_NONE, TransSnap::snap_source, TransSnap::snap_source_fn, SNAP_SOURCE_FOUND, snap_source_median_fn(), TransSnap::source_operation, TransSnap::source_type, TransSnap::status, TargetSnapOffset(), and TransInfo::tsnap.
Referenced by setSnappingCallback().
|
static |
Definition at line 1440 of file transform_snap.cc.
References TransInfo::center_global, copy_v3_v3(), SCE_SNAP_TO_NONE, TransSnap::snap_source, SNAP_SOURCE_FOUND, TransSnap::source_type, TransSnap::status, TargetSnapOffset(), and TransInfo::tsnap.
Referenced by setSnappingCallback().
|
static |
Definition at line 1480 of file transform_snap.cc.
References BKE_boundbox_init_from_minmax(), BKE_object_boundbox_eval_cached_get(), copy_v3_v3(), CTX_OBJECT, CTX_OBMODE_XFORM_OBDATA, TransData::ext, fabsf, FOREACH_TRANS_DATA_CONTAINER, BoundBox::min, TransInfo::mode_info, mul_m4_v3(), TransData::ob, TransDataExtension::obmat, TransInfo::options, SCE_SNAP_TO_GRID, SCE_SNAP_TO_NONE, SCE_SNAP_TO_POINT, TransModeInfo::snap_distance_fn, TransSnap::snap_source, SNAP_SOURCE_FOUND, TransSnap::snap_target, SNAP_TARGET_FOUND, TransSnap::source_type, TransSnap::status, TransSnap::target_type, TargetSnapOffset(), TD_SELECTED, tranform_snap_target_median_calc(), TRANSFORM_DIST_INVALID, TransInfo::tsnap, and BoundBox::vec.
Referenced by setSnappingCallback().
|
static |
Definition at line 1470 of file transform_snap.cc.
References SCE_SNAP_TO_NONE, TransSnap::snap_source, SNAP_SOURCE_FOUND, TransSnap::source_type, TransSnap::status, tranform_snap_target_median_calc(), and TransInfo::tsnap.
Referenced by setSnappingCallback(), and snap_source_active_fn().
Definition at line 1366 of file transform_snap.cc.
References BLI_assert, SNAP_SOURCE_FOUND, SNAP_TARGET_FOUND, SPACE_NLA, TransInfo::spacetype, TransSnap::status, transform_snap_nla_calc(), and TransInfo::tsnap.
Referenced by setSnappingCallback().
Definition at line 1335 of file transform_snap.cc.
References BLI_assert, copy_v2_v2(), TransSnap::mode, TransInfo::mval, SCE_SNAP_TO_NODE_X, SCE_SNAP_TO_NODE_Y, SNAP_MIN_DISTANCE, TransSnap::snap_target, SNAP_TARGET_FOUND, TransSnap::snapNodeBorder, snapNodesTransform(), SPACE_NODE, TransInfo::spacetype, TransSnap::status, and TransInfo::tsnap.
Referenced by setSnappingCallback().
|
static |
Definition at line 746 of file transform_snap.cc.
References BKE_view_layer_active_base_get(), BKE_view_layer_synced_ensure(), BLI_assert, CTX_CAMERA, CTX_CURSOR, CTX_GPENCIL_STROKES, CTX_OBMODE_XFORM_OBDATA, ELEM, TransInfo::flag, Object::mode, OB_ARMATURE, OB_CURVES_LEGACY, OB_LATTICE, OB_MBALL, OB_MESH, OB_MODE_PARTICLE_EDIT, OB_SURF, TransInfo::obedit_type, Base::object, TransInfo::options, ret, SCE_SNAP_TARGET_ALL, SCE_SNAP_TARGET_NOT_ACTIVE, SCE_SNAP_TARGET_NOT_EDITED, SCE_SNAP_TARGET_NOT_SELECTED, TransInfo::scene, SPACE_IMAGE, SPACE_NODE, SPACE_SEQ, SPACE_VIEW3D, TransInfo::spacetype, T_PROP_EDIT, TransSnap::target_operation, TransInfo::tsnap, and TransInfo::view_layer.
Referenced by initSnapping().
Definition at line 1355 of file transform_snap.cc.
References BLI_assert, SNAP_SOURCE_FOUND, SNAP_TARGET_FOUND, SPACE_SEQ, TransInfo::spacetype, TransSnap::status, transform_snap_sequencer_calc(), and TransInfo::tsnap.
Referenced by setSnappingCallback().
Definition at line 1303 of file transform_snap.cc.
References TransInfo::aspect, BKE_view_layer_array_from_objects_in_edit_mode_unique_data_with_uvs(), BLI_assert, ED_uvedit_nearest_uv_multi(), TransSnap::mode, TransInfo::mval, TransInfo::region, SCE_SNAP_TARGET_NOT_SELECTED, SCE_SNAP_TO_EDGE_ENDPOINT, SCE_SNAP_TO_GRID, SCE_SNAP_TO_VERTEX, TransInfo::scene, SET_FLAG_FROM_TEST, snap_grid_uv(), SNAP_MIN_DISTANCE, TransSnap::snap_target, SNAP_TARGET_FOUND, SPACE_IMAGE, TransInfo::spacetype, square_f(), TransSnap::status, TransSnap::target_operation, TransSnap::target_type, TransInfo::tsnap, ARegion::v2d, and TransInfo::view_layer.
Referenced by setSnappingCallback().
Definition at line 1262 of file transform_snap.cc.
References BLI_assert, copy_v3_v3(), TransSnap::mode, TransInfo::mode_info, TransInfo::mval, peelObjectsTransform(), SCE_SNAP_PEEL_OBJECT, SCE_SNAP_TO_GEOM, SCE_SNAP_TO_GRID, SCE_SNAP_TO_NONE, SCE_SNAP_TO_POINT, SCE_SNAP_TO_VOLUME, TransInfo::settings, ToolSettings::snap_flag, SNAP_MIN_DISTANCE, TransSnap::snap_target, SNAP_TARGET_FOUND, TransSnap::snapNormal, snapObjectsTransform(), SPACE_VIEW3D, TransInfo::spacetype, TransSnap::status, TransSnap::target_type, TransMode_translate, TransInfo::tsnap, and zero_v3().
Referenced by setSnappingCallback().
|
static |
Definition at line 92 of file transform_snap.cc.
References BKE_scene_uses_blender_workbench(), BLI_assert, Scene::display, View3DShading::flag, OB_RENDER, OB_SOLID, SCE_SNAP_BACKFACE_CULLING, TransInfo::scene, TransInfo::settings, SceneDisplay::shading, View3D::shading, ToolSettings::snap_flag, SPACE_VIEW3D, TransInfo::spacetype, View3DShading::type, V3D_SHADING_BACKFACE_CULLING, and TransInfo::view.
Referenced by initSnappingMode().
|
static |
Definition at line 1744 of file transform_snap.cc.
References abs(), NODE_BOTTOM, NODE_LEFT, NODE_RIGHT, NODE_TOP, ToolSettings::snap_node_mode, snapNodeBorder(), UI_view2d_region_to_view(), UI_view2d_view_to_region_rcti(), rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by snapNodes().
|
static |
Definition at line 1732 of file transform_snap.cc.
References flag, NODE_BOTTOM, NODE_LEFT, NODE_RIGHT, NODE_TOP, SCE_SNAP_TO_NODE_X, and SCE_SNAP_TO_NODE_Y.
Referenced by snapNode().
|
static |
Definition at line 1804 of file transform_snap.cc.
References SpaceNode::edittree, LISTBASE_FOREACH, bNodeTree::nodes, snapNode(), and snapNodeTest().
Referenced by snapNodesTransform().
| bool snapNodesTransform | ( | TransInfo * | t, |
| const float2 & | mval, | ||
| float | r_loc[2], | ||
| float * | r_dist_px, | ||
| char * | r_node_border ) |
Definition at line 1827 of file transform_snap.cc.
References TransInfo::area, ListBase::first, TransInfo::region, TransInfo::settings, snapNodes(), ScrArea::spacedata, TransSnap::target_operation, and TransInfo::tsnap.
Referenced by snap_target_node_fn().
|
static |
Definition at line 1723 of file transform_snap.cc.
References View2D::cur, NODE_ACTIVE, NODE_SELECT, SCE_SNAP_TARGET_ALL, SCE_SNAP_TARGET_NOT_SELECTED, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.
Referenced by snapNodes().
|
static |
Definition at line 1597 of file transform_snap.cc.
References add_v3_v3(), TransInfo::center2d, TransInfo::center_global, TransInfo::con, CON_APPLY, convertViewVec(), TransInfo::depsgraph, ED_transform_snap_object_project_view3d(), TransInfo::flag, TransSnap::flag, MOD_PRECISION, TransCon::mode, TransInfo::mode, TransSnap::mode, TransInfo::modifiers, TransSnap::object_context, TransInfo::region, SCE_SNAP_BACKFACE_CULLING, SCE_SNAP_TO_GRID, SNAP_GEOM_EDIT, SNAP_GEOM_FINAL, SNAP_OCCLUSION_AS_SEEM, TransSnap::snap_source, SNAP_SOURCE_FOUND, TransInfo::snap_spatial, TransInfo::snap_spatial_precision, SnapObjectParams::snap_target_select, TransSnap::status, T_EDIT, TransSnap::target_operation, TFM_ROTATION, transform_constraint_get_nearest(), TransInfo::tsnap, and TransInfo::view.
Referenced by snap_target_view3d_fn().
Definition at line 1419 of file transform_snap.cc.
References BLI_rctf_size_x(), BLI_rctf_size_y(), NODE_BOTTOM, NODE_LEFT, NODE_RIGHT, NODE_TOP, TransSnap::snap_source, TransSnap::snapNodeBorder, SPACE_NODE, TransInfo::spacetype, and TransInfo::tsnap.
Referenced by snap_source_active_fn(), snap_source_center_fn(), and snap_source_closest_fn().
| void tranform_snap_source_restore_context | ( | TransInfo * | t | ) |
Definition at line 1938 of file transform_snap.cc.
References snap_multipoints_free(), snap_object_context_init(), SPACE_VIEW3D, and TransInfo::spacetype.
Referenced by snapsource_end().
Definition at line 1383 of file transform_snap.cc.
References add_v3_v3(), FOREACH_TRANS_DATA_CONTAINER, mul_m4_v3(), mul_v3_fl(), TD_SELECTED, v, and zero_v3().
Referenced by snap_source_closest_fn(), snap_source_median_fn(), and translate_snap_increment_init().
| float transform_snap_distance_len_squared_fn | ( | TransInfo * | t, |
| const float | p1[3], | ||
| const float | p2[3] ) |
Definition at line 1952 of file transform_snap.cc.
References len_squared_v3v3().
| void transform_snap_flag_from_modifiers_set | ( | TransInfo * | t | ) |
Definition at line 119 of file transform_snap.cc.
References ELEM, TransSnap::flag, MOD_SNAP, MOD_SNAP_INVERT, TransSnap::mode, TransInfo::modifiers, SCE_SNAP, SCE_SNAP_TO_INCREMENT, SET_FLAG_FROM_TEST, SPACE_ACTION, SPACE_GRAPH, SPACE_NLA, TransInfo::spacetype, and TransInfo::tsnap.
Referenced by initSnapping(), transform_mode_snap_source_init(), and transformEvent().
| short * transform_snap_flag_from_spacetype_ptr | ( | TransInfo * | t, |
| const PropertyRNA ** | r_prop = nullptr ) |
Definition at line 667 of file transform_snap.cc.
References TransInfo::settings, ToolSettings::snap_flag, ToolSettings::snap_flag_anim, ToolSettings::snap_flag_node, ToolSettings::snap_flag_seq, ToolSettings::snap_uv_flag, SPACE_ACTION, SPACE_GRAPH, SPACE_IMAGE, SPACE_NLA, SPACE_NODE, SPACE_SEQ, SPACE_VIEW3D, and TransInfo::spacetype.
Referenced by saveTransform(), and snap_flag_from_spacetype().
Definition at line 860 of file transform_snap.cc.
References TransInfo::area, ED_node_grid_size(), ED_space_image_grid_steps(), ED_space_image_increment_snap_value(), ED_space_image_zoom_level(), ED_view3d_grid_view_scale(), ListBase::first, TransInfo::region, ARegion::regiondata, TransInfo::scene, SI_GRID_STEPS_LEN, SPACE_CLIP, SPACE_IMAGE, SPACE_NODE, SPACE_VIEW3D, ScrArea::spacedata, TransInfo::spacetype, and ARegion::v2d.
Referenced by initSnapping(), and transformViewUpdate().
Definition at line 1923 of file transform_snap.cc.
References transform_snap_increment_ex().
Referenced by apply_shear(), apply_value_impl(), applyBakeTime(), applyBoneEnvelope(), applyBoneRoll(), applyBoneSize(), applyCurveShrinkFatten(), applyEdgeSlide(), applyGPOpacity(), applyGPShrinkFatten(), applyMaskShrinkFatten(), applyNormalRotation(), applyPushPull(), applyResize(), applyRotation(), applyShrinkFatten(), applySkinResize(), applyTilt(), applyToSphere(), applyTrackball(), applyVertSlide(), Bend(), and ElementResize().
Definition at line 1893 of file transform_snap.cc.
References TransInfo::idx_max, MOD_PRECISION, TransSnap::mode, TransInfo::modifiers, mul_m3_v3(), SCE_SNAP_TO_INCREMENT, TransInfo::snap, snap_increment_apply(), SPACE_VIEW3D, TransInfo::spacemtx, TransInfo::spacemtx_inv, TransInfo::spacetype, transform_snap_is_active(), TransInfo::tsnap, and validSnap().
Referenced by transform_snap_increment(), and translate_snap_increment().
Definition at line 1928 of file transform_snap.cc.
References MOD_PRECISION, TransSnap::mode, TransInfo::modifiers, SCE_SNAP_TO_GRID, SCE_SNAP_TO_INCREMENT, TransInfo::snap, transform_snap_is_active(), and TransInfo::tsnap.
Referenced by gizmo_modal().
| bool transform_snap_is_active | ( | const TransInfo * | t | ) |
Definition at line 149 of file transform_snap.cc.
References TransSnap::flag, SCE_SNAP, and TransInfo::tsnap.
Referenced by applyRotation(), applyTranslation(), applyTranslationValue(), drawSnapping(), mesh_partial_types_calc(), blender::ed::transform::node_snap_grid_apply(), transform_constraint_get_nearest(), transform_snap_increment_ex(), transform_snap_increment_get(), transform_snap_mixed_is_active(), and transform_snap_project_individual_is_active().
Definition at line 578 of file transform_snap.cc.
References BLI_time_now_seconds(), TransSnap::last, TransSnap::mode, TransInfo::mode_info, SCE_SNAP_TO_INCREMENT, TransModeInfo::snap_apply_fn, TransSnap::snap_source_fn, TransSnap::snap_target_fn, transform_snap_mixed_is_active(), TransInfo::tsnap, and validSnap().
Referenced by applyEdgeSlide(), applyNormalRotation(), applyResize(), applyRotation(), applySeqSlide(), applySkinResize(), applyTimeScale(), applyTranslation(), and applyVertSlide().
|
static |
Definition at line 567 of file transform_snap.cc.
References TransSnap::mode, SCE_SNAP_TO_EDGE, SCE_SNAP_TO_EDGE_MIDPOINT, SCE_SNAP_TO_EDGE_PERPENDICULAR, SCE_SNAP_TO_FACE, SCE_SNAP_TO_GRID, SCE_SNAP_TO_VERTEX, SCE_SNAP_TO_VOLUME, transform_snap_is_active(), and TransInfo::tsnap.
Referenced by transform_snap_mixed_apply().
| void transform_snap_project_individual_apply | ( | TransInfo * | t | ) |
Definition at line 532 of file transform_snap.cc.
References applyFaceNearest(), applyFaceProject(), constraintTransLim(), TransData::factor, TransInfo::flag, FOREACH_TRANS_DATA_CONTAINER, TransSnap::mode, SCE_SNAP_INDIVIDUAL_NEAREST, SCE_SNAP_INDIVIDUAL_PROJECT, T_PROP_EDIT, TD_SKIP, transform_snap_project_individual_is_active(), and TransInfo::tsnap.
Referenced by recalcData_curve(), recalcData_edit_armature(), recalcData_lattice(), recalcData_mball(), recalcData_mesh(), recalcData_objects(), recalcData_particles(), and recalcData_texspace().
| bool transform_snap_project_individual_is_active | ( | const TransInfo * | t | ) |
Definition at line 523 of file transform_snap.cc.
References TransSnap::mode, SCE_SNAP_INDIVIDUAL_NEAREST, SCE_SNAP_INDIVIDUAL_PROJECT, transform_snap_is_active(), and TransInfo::tsnap.
Referenced by mesh_partial_types_calc(), and transform_snap_project_individual_apply().
| bool transformModeUseSnap | ( | const TransInfo * | t | ) |
Definition at line 154 of file transform_snap.cc.
References ELEM, TransInfo::mode, SCE_SNAP_TRANSFORM_MODE_ROTATE, SCE_SNAP_TRANSFORM_MODE_SCALE, SCE_SNAP_TRANSFORM_MODE_TRANSLATE, TransInfo::settings, ToolSettings::snap_transform_mode_flag, SPACE_ACTION, SPACE_GRAPH, SPACE_NLA, SPACE_SEQ, TransInfo::spacetype, TFM_EDGE_SLIDE, TFM_RESIZE, TFM_ROTATION, TFM_SEQ_SLIDE, TFM_TIME_EXTEND, TFM_TIME_TRANSLATE, TFM_TRANSLATION, and TFM_VERT_SLIDE.
Referenced by doForceIncrementSnap(), initSnappingMode(), saveTransform(), and transform_mode_snap_source_init().
| eRedrawFlag updateSelectedSnapPoint | ( | TransInfo * | t | ) |
Definition at line 1124 of file transform_snap.cc.
References ED_view3d_project_float_global(), len_squared_v2v2(), LISTBASE_FOREACH, TransInfo::mval, TransSnap::points, TransInfo::region, TransSnap::selectedPoint, SNAP_MULTI_POINTS, TransSnap::status, TRANSFORM_SNAP_MAX_PX, TREDRAW_HARD, TREDRAW_NOTHING, TransInfo::tsnap, V3D_PROJ_RET_OK, and V3D_PROJ_TEST_NOP.
Referenced by handleSnapping(), and removeSnapPoint().
| bool usingSnappingNormal | ( | const TransInfo * | t | ) |
Definition at line 623 of file transform_snap.cc.
References TransSnap::flag, SCE_SNAP_ROTATE, and TransInfo::tsnap.
Referenced by applyTranslationValue(), createTransEditVerts(), drawSnapping(), and mesh_partial_types_calc().
| bool validSnap | ( | const TransInfo * | t | ) |
Definition at line 111 of file transform_snap.cc.
References SNAP_MULTI_POINTS, SNAP_SOURCE_FOUND, SNAP_TARGET_FOUND, TransSnap::status, and TransInfo::tsnap.
Referenced by applyEdgeSlide(), applyRotation(), applyTranslation(), applyVertSlide(), ED_transform_snap_sequencer_to_closest_strip_calc(), transform_constraint_get_nearest(), transform_snap_increment_ex(), transform_snap_mixed_apply(), transformEvent(), and validSnappingNormal().
| bool validSnappingNormal | ( | const TransInfo * | t | ) |
Definition at line 628 of file transform_snap.cc.
References is_zero_v3(), TransSnap::snapNormal, TransInfo::tsnap, and validSnap().
Referenced by applyTranslationValue(), drawSnapping(), and mesh_partial_types_calc().